Java源码示例:org.eclipse.xtext.ui.util.ProjectFactory
示例1
private void configurePlainProject(ProjectDescriptor descriptor, ProjectFactory factory) {
factory.setProjectName(descriptor.getName());
factory.setLocation(new Path(descriptor.getLocation()));
factory.setProjectDefaultCharset(projectInfo.getEncoding().toString());
factory.addWorkingSets(Lists.newArrayList(projectInfo.getWorkingSets()));
factory.addContributor(new DescriptorBasedContributor(descriptor));
if (needsM2eIntegration(descriptor)) {
factory.addProjectNatures("org.eclipse.m2e.core.maven2Nature");
factory.addBuilderIds("org.eclipse.m2e.core.maven2Builder");
}
if (needsBuildshipIntegration(descriptor)) {
factory.addProjectNatures("org.eclipse.buildship.core.gradleprojectnature");
factory.addBuilderIds("org.eclipse.buildship.core.gradleprojectbuilder");
factory.addEarlyContributor(new GradleContributor(descriptor));
}
}
示例2
@Override
protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException {
SubMonitor subMonitor = SubMonitor.convert(monitor, projectFactories.size());
try {
IWorkbench workbench = PlatformUI.getWorkbench();
IWorkspace workspace = ResourcesPlugin.getWorkspace();
for (ProjectFactory projectFactory : projectFactories) {
projectFactory.setWorkbench(workbench);
projectFactory.setWorkspace(workspace);
projectFactory.createProject(subMonitor, null);
subMonitor.worked(1);
}
} finally {
subMonitor.done();
}
}
示例3
@Override
protected ProjectFactory configureProjectFactory(final ProjectFactory factory) {
final ProjectFactory projectFactory = super.configureProjectFactory(factory);
final N4JSProjectInfo projectInfo = (N4JSProjectInfo) getProjectInfo();
if (null != projectInfo.getProjectLocation()) {
projectFactory.setLocation(projectInfo.getProjectLocation());
}
return projectFactory;
}
示例4
private IProject createFeatureProject(ProjectDescriptor descriptor, SubMonitor monitor) {
ProjectFactory factory = plainProjectProvider.get();
configurePlainProject(descriptor, factory);
factory.addProjectNatures("org.eclipse.pde.FeatureNature");
factory.addBuilderIds("org.eclipse.pde.FeatureBuilder");
return factory.createProject(monitor, null);
}
示例5
protected ProjectFactory configureProjectFactory(ProjectFactory factory) {
factory.setProjectName(getProjectInfo().getProjectName());
if (projectInfo instanceof IExtendedProjectInfo) {
IExtendedProjectInfo extendedProjectInfo = (IExtendedProjectInfo) projectInfo;
factory.setLocation(extendedProjectInfo.getLocationPath());
}
factory.addFolders(getAllFolders());
factory.addReferencedProjects(getReferencedProjects());
factory.addProjectNatures(getProjectNatures());
factory.addBuilderIds(getBuilders());
return factory;
}
示例6
@Override
protected ProjectFactory configureProjectFactory(ProjectFactory factory) {
PluginProjectFactory result = (PluginProjectFactory) super.configureProjectFactory(factory);
result.addRequiredBundles(getRequiredBundles());
result.addExportedPackages(getExportedPackages());
result.addImportedPackages(getImportedPackages());
result.setActivatorClassName(getActivatorClassName());
return result;
}
示例7
@Override
protected ProjectFactory createProjectFactory() {
return projectFactoryProvider.get();
}
示例8
private IProject createPlainProject(ProjectDescriptor descriptor, SubMonitor monitor) {
ProjectFactory factory = plainProjectProvider.get();
configurePlainProject(descriptor, factory);
return factory.createProject(monitor, null);
}
示例9
protected IProject createProject(IProgressMonitor monitor) {
ProjectFactory factory = createProjectFactory();
configureProjectBuilder(factory);
return factory.createProject(monitor, null);
}
示例10
/**
* @deprecated use {@link #configureProjectFactory(ProjectFactory)} instead.
*/
@Deprecated
protected ProjectFactory configureProjectBuilder(ProjectFactory factory) {
return configureProjectFactory(factory);
}
示例11
protected ProjectFactory addFile(ProjectFactory project, CharSequence fileName, CharSequence contents) {
project.addContributor(new TextFileContributor(fileName, contents));
return project;
}
示例12
@Override
public void generate(ProjectFactory project) {
projectFactories.add(project);
}
示例13
@Override
protected ProjectFactory configureProjectFactory(final ProjectFactory factory) {
ProjectFactory result = super.configureProjectFactory(factory);
result.addProjectNatures(CheckNature.CHECK_NATURE_ID);
return result;
}
示例14
/**
* Generate a new {@link IProject} using the provided {@link ProjectFactory}.
*
* @param project
* The project factory to create a project from. The generator might choose to modify the factory further to suite his needs.
*/
void generate(ProjectFactory project);
示例15
protected abstract ProjectFactory createProjectFactory();