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();