当前位置: 首页>>代码示例>>Java>>正文


Java IProjectDescription.setLocation方法代码示例

本文整理汇总了Java中org.eclipse.core.resources.IProjectDescription.setLocation方法的典型用法代码示例。如果您正苦于以下问题:Java IProjectDescription.setLocation方法的具体用法?Java IProjectDescription.setLocation怎么用?Java IProjectDescription.setLocation使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.eclipse.core.resources.IProjectDescription的用法示例。


在下文中一共展示了IProjectDescription.setLocation方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createProject

import org.eclipse.core.resources.IProjectDescription; //导入方法依赖的package包/类
protected void createProject ( final IProgressMonitor monitor ) throws CoreException
{
    monitor.beginTask ( "Create project", 2 );

    final IProject project = this.info.getProject ();

    final IProjectDescription desc = project.getWorkspace ().newProjectDescription ( project.getName () );
    desc.setLocation ( this.info.getProjectLocation () );
    desc.setNatureIds ( new String[] { Constants.PROJECT_NATURE_CONFIGURATION, PROJECT_NATURE_JS } );

    final ICommand jsCmd = desc.newCommand ();
    jsCmd.setBuilderName ( BUILDER_JS_VALIDATOR );

    final ICommand localBuilder = desc.newCommand ();
    localBuilder.setBuilderName ( Constants.PROJECT_BUILDER );

    desc.setBuildSpec ( new ICommand[] { jsCmd, localBuilder } );

    if ( !project.exists () )
    {
        project.create ( desc, new SubProgressMonitor ( monitor, 1 ) );
        project.open ( new SubProgressMonitor ( monitor, 1 ) );
    }
    monitor.done ();
}
 
开发者ID:eclipse,项目名称:neoscada,代码行数:26,代码来源:CreateProjectOperation.java

示例2: createProjectPluginResource

import org.eclipse.core.resources.IProjectDescription; //导入方法依赖的package包/类
public IProject createProjectPluginResource(String projectName, IProgressMonitor monitor) throws CoreException {
	IWorkspace myWorkspace = ResourcesPlugin.getWorkspace();
	IWorkspaceRoot myWorkspaceRoot = myWorkspace.getRoot();
	IProject resourceProject = myWorkspaceRoot.getProject(projectName);
	
	if (!resourceProject.exists()) {		
		if(myWorkspaceRoot.getLocation().toFile().equals(new Path(Engine.PROJECTS_PATH).toFile())){
			logDebug("createProjectPluginResource : project is in the workspace folder");
			
			resourceProject.create(monitor);
		}else{
			logDebug("createProjectPluginResource: project isn't in the workspace folder");
	
			IPath projectPath = new Path(Engine.PROJECTS_PATH + "/" + projectName).makeAbsolute();
			IProjectDescription description = myWorkspace.newProjectDescription(projectName);
			description.setLocation(projectPath);
			resourceProject.create(description, monitor);
		}
	}
	
	return resourceProject;
}
 
开发者ID:convertigo,项目名称:convertigo-eclipse,代码行数:23,代码来源:ConvertigoPlugin.java

示例3: createLinkedProject

import org.eclipse.core.resources.IProjectDescription; //导入方法依赖的package包/类
public IProject createLinkedProject(String projectName, Plugin plugin, IPath linkPath) throws CoreException {
	IWorkspace workspace = ResourcesPlugin.getWorkspace();
	IProject project = workspace.getRoot().getProject(projectName);

	IProjectDescription desc = workspace.newProjectDescription(projectName);
	File file = getFileInPlugin(plugin, linkPath);
	IPath projectLocation = new Path(file.getAbsolutePath());
	if (Platform.getLocation().equals(projectLocation))
		projectLocation = null;
	desc.setLocation(projectLocation);

	project.create(desc, NULL_MONITOR);
	if (!project.isOpen())
		project.open(NULL_MONITOR);

	return project;
}
 
开发者ID:de-jcup,项目名称:egradle,代码行数:18,代码来源:EclipseResourceHelper.java

示例4: createProject

import org.eclipse.core.resources.IProjectDescription; //导入方法依赖的package包/类
/**
 * Create the project directory.
 * If the user has specified an external project location,
 * the project is created with a custom description for the location.
 * 
 * @param project project
 * @param monitor progress monitor
 * @throws CoreException
 */
private void createProject(IProject project, IProgressMonitor monitor)
        throws CoreException {

    monitor.subTask(TexlipsePlugin.getResourceString("projectWizardProgressDirectory"));
    
    if (!project.exists()) {
        if (attributes.getProjectLocation() != null) {
            IProjectDescription desc = project.getWorkspace().newProjectDescription(project.getName());
            IPath projectPath = new Path(attributes.getProjectLocation());
            IStatus stat = ResourcesPlugin.getWorkspace().validateProjectLocation(project, projectPath);
            if (stat.getSeverity() != IStatus.OK) {
                // should not happen. the location should have been checked in the wizard page
                throw new CoreException(stat);
            }
            desc.setLocation(projectPath);
            project.create(desc, monitor);
        } else {
            project.create(monitor);
        }
    }
    if (!project.isOpen()) {
        project.open(monitor);
    }
}
 
开发者ID:eclipse,项目名称:texlipse,代码行数:34,代码来源:TexlipseProjectCreationOperation.java

示例5: projectRename

import org.eclipse.core.resources.IProjectDescription; //导入方法依赖的package包/类
/**
* Renames and moves the project, but does not delete the old project. It's
* the callee's reponsibility.
* 
* @param project
* @param aNewName
*/
  public static IProject projectRename(final IProject project, final String aNewName, final IProgressMonitor aMonitor)
  {
      try
      {
      	// move the project location to the new location and name
          final IProjectDescription description = project.getDescription();
          final IPath basePath = description.getLocation().removeLastSegments(1).removeTrailingSeparator();
	final IPath newPath = basePath.append(aNewName.concat(TOOLBOX_DIRECTORY_SUFFIX)).addTrailingSeparator();
          description.setLocation(newPath);
          description.setName(aNewName);

          // refresh the project prior to moving to make sure the fs and resource fw are in sync
      	project.refreshLocal(IResource.DEPTH_INFINITE, aMonitor);
          
      	project.copy(description, IResource.NONE | IResource.SHALLOW, aMonitor);
          
          return ResourcesPlugin.getWorkspace().getRoot().getProject(aNewName);
      } catch (CoreException e)
      {
          Activator.getDefault().logError("Error renaming a specification", e);
      }
      return null;
  }
 
开发者ID:tlaplus,项目名称:tlaplus,代码行数:31,代码来源:ResourceHelper.java

示例6: performFinish

import org.eclipse.core.resources.IProjectDescription; //导入方法依赖的package包/类
@Override
public boolean performFinish() {
	
	try {
		createdProject = _askProjectNamePage.getProjectHandle();
		final String languageName = _askLanguageNamePage.getLanguageName();

		IWorkspace workspace = ResourcesPlugin.getWorkspace(); 
		final IProjectDescription description = workspace.newProjectDescription(createdProject.getName());
		if (!_askProjectNamePage.getLocationPath().equals(workspace.getRoot().getLocation()))
			description.setLocation(_askProjectNamePage.getLocationPath());
		//description.setLocationURI(_askProjectNamePage.getLocationURI());
		
		IWorkspaceRunnable operation = new IWorkspaceRunnable() {
			 public void run(IProgressMonitor monitor) throws CoreException {
				 createdProject.create(description, monitor);
				 createdProject.open(monitor);
				 initializeProject(createdProject, languageName);
				 createdProject.refreshLocal(IResource.DEPTH_INFINITE, monitor);
				 createdProject.touch(new NullProgressMonitor()); // [FT] One touch to force eclipse to serialize the project properties that will update accordingly the gemoc actions in the menu.
				 //createdProject.build(IncrementalProjectBuilder.FULL_BUILD, new NullProgressMonitor());
			 }
		};
		ResourcesPlugin.getWorkspace().run(operation, null);
	} catch (CoreException exception) {
		Activator.error(exception.getMessage(), exception);
		return false;
	}
	return true;
}
 
开发者ID:eclipse,项目名称:gemoc-studio-modeldebugging,代码行数:31,代码来源:AbstractCreateNewGemocLanguageProject.java

示例7: moveProjectPluginResource

import org.eclipse.core.resources.IProjectDescription; //导入方法依赖的package包/类
public void moveProjectPluginResource(String projectName, String newName) throws CoreException {
	cacheIProject.remove(projectName);
	IWorkspace myWorkspace = ResourcesPlugin.getWorkspace();
	IWorkspaceRoot myWorkspaceRoot = myWorkspace.getRoot();
	IProject resourceProject = myWorkspaceRoot.getProject(projectName);
	
	if (resourceProject.exists()) {
		IPath newProjectPath = new Path(Engine.PROJECTS_PATH + "/" + newName).makeAbsolute();
       	IProjectDescription description = myWorkspace.newProjectDescription(newName);
		description.setLocation(newProjectPath);
       	resourceProject.move(description, false, null);
	}
}
 
开发者ID:convertigo,项目名称:convertigo-eclipse,代码行数:14,代码来源:ConvertigoPlugin.java

示例8: createProject

import org.eclipse.core.resources.IProjectDescription; //导入方法依赖的package包/类
@Override
protected IProject createProject(final String localPath, final ImportOptions importOptions)
    throws CoreException {
    final IPath projectRootPath = new Path(localPath);

    final String projectName = new File(localPath).getName();
    final IProject eclipseProject = importOptions.getEclipseWorkspace().getRoot().getProject(projectName);
    final IProjectDescription description =
        importOptions.getEclipseWorkspace().newProjectDescription(projectName);

    description.setLocation(projectRootPath);

    /*
     * If this project is NOT to be beneath the workspace root, then we
     * need to specify the project description specifically.
     */
    final IPath workspaceRootLocation = importOptions.getEclipseWorkspace().getRoot().getLocation();

    if (LocalPath.isChild(workspaceRootLocation.toOSString(), projectRootPath.toOSString())) {
        /* Inside workspace root */
        eclipseProject.create(null, null);
    } else {
        /* Outside workspace root */
        eclipseProject.create(description, null);
    }

    return eclipseProject;
}
 
开发者ID:Microsoft,项目名称:team-explorer-everywhere,代码行数:29,代码来源:ImportOpenProjectStrategy.java

示例9: createOrImportProject

import org.eclipse.core.resources.IProjectDescription; //导入方法依赖的package包/类
private IProject createOrImportProject(File directory, IWorkspaceRoot workspaceRoot,
		IProgressMonitor progressMonitor) throws Exception {
	IProjectDescription desc = null;
	File expectedProjectDescriptionFile = new File(directory, IProjectDescription.DESCRIPTION_FILE_NAME);
	if (expectedProjectDescriptionFile.exists()) {
		desc = ResourcesPlugin.getWorkspace()
				.loadProjectDescription(new Path(expectedProjectDescriptionFile.getAbsolutePath()));
		String expectedName = desc.getName();
		IProject projectWithSameName = workspaceRoot.getProject(expectedName);
		if (projectWithSameName.exists()) {
			if (projectWithSameName.getLocation().toFile().equals(directory)) {
				// project seems already there
				return projectWithSameName;
			}
			throw new Exception(NLS.bind(
					AngularCLIMessages.AbstractProjectCommandInterpreter_anotherProjectWithSameNameExists_description,
					expectedName));
		}
	} else {
		String projectName = directory.getName();
		if (workspaceRoot.getProject(directory.getName()).exists()) {
			int i = 1;
			do {
				projectName = directory.getName() + '(' + i + ')';
				i++;
			} while (workspaceRoot.getProject(projectName).exists());
		}

		desc = ResourcesPlugin.getWorkspace().newProjectDescription(projectName);
	}
	desc.setLocation(new Path(directory.getAbsolutePath()));
	IProject res = workspaceRoot.getProject(desc.getName());
	res.create(desc, progressMonitor);
	return res;
}
 
开发者ID:angelozerr,项目名称:angular-eclipse,代码行数:36,代码来源:NgProjectJob.java

示例10: createBaseProject

import org.eclipse.core.resources.IProjectDescription; //导入方法依赖的package包/类
private static IProject createBaseProject(String projectName, IPath location) {
	IProject newProject = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);

	if (!newProject.exists()) {
		IPath projectLocation = location;
		IProjectDescription desc = newProject.getWorkspace().newProjectDescription(newProject.getName());
		if (location != null &&
				ResourcesPlugin.getWorkspace().getRoot().getLocation().equals(location)) {
			projectLocation = null;
		}
		desc.setLocation(projectLocation);
		try {
			newProject.create(desc, null);
			if (!newProject.isOpen()) {
				newProject.open(null);
			}
		} catch (CoreException e) {
               WPILibCore.logError("Can't create new project.", e);
			Display.getDefault().syncExec(new Runnable() {
			@Override
			public void run() {
				MessageDialog.openError(Display.getDefault().getActiveShell(), "Error", "Error creating project! This may occur if a project of the same name with different case exists in the Workspace");
			}
		});
		}
	}else {
		Display.getDefault().syncExec(new Runnable() {
			@Override
			public void run() {
				MessageDialog.openError(Display.getDefault().getActiveShell(), "Error", "Error! A project of the same name already exists in the Workspace");
			}
		});
	}
	return newProject;
}
 
开发者ID:wpilibsuite,项目名称:EclipsePlugins,代码行数:36,代码来源:ProjectCreationUtils.java

示例11: moveProject

import org.eclipse.core.resources.IProjectDescription; //导入方法依赖的package包/类
@Override
public boolean moveProject(
    final IResourceTree tree,
    final IProject source,
    final IProjectDescription target,
    final int updateFlags,
    final IProgressMonitor progressMonitor) {
    log.trace(MessageFormat.format("moveProject: {0}", source.getFullPath())); //$NON-NLS-1$

    progressMonitor.beginTask(
        MessageFormat.format(Messages.getString("TFSMoveDeleteHook.MovingProjectFormat"), source.getFullPath()), //$NON-NLS-1$
        10);

    log.info(MessageFormat.format("Rename detected from project {0} to {1}", source, target)); //$NON-NLS-1$

    try {
        /*
         * Renaming the project only. Does not move folders, only sets the
         * new name in the .project file.
         */
        if (target.getName() != source.getName()) {
            target.setLocation(source.getLocation());
            tree.standardMoveProject(source, target, updateFlags, new SubProgressMonitor(progressMonitor, 10));
            return true;
        } else {
            /*
             * User is attempting to relocate the project. This gets hairy
             * and would involve changing WF mappings in order to pend a
             * rename.
             */
            tree.failed(
                new Status(
                    IStatus.ERROR,
                    TFSEclipseClientPlugin.PLUGIN_ID,
                    0,
                    MessageFormat.format(
                        Messages.getString("TFSMoveDeleteHook.MovingProjectNotSupportedInProductFormat"), //$NON-NLS-1$
                        ProductInformation.getCurrent().toString()),
                    null));
            return true;
        }
    } finally {
        progressMonitor.done();
    }
}
 
开发者ID:Microsoft,项目名称:team-explorer-everywhere,代码行数:46,代码来源:TFSMoveDeleteHook.java

示例12: setProjectToRoot

import org.eclipse.core.resources.IProjectDescription; //导入方法依赖的package包/类
private void setProjectToRoot(final IProject project, File destPath) throws CoreException {
	IProjectDescription description = project.getDescription();
	description.setLocation(new Path(destPath.getAbsolutePath()));
	project.move(description, true, null);
}
 
开发者ID:subclipse,项目名称:subclipse,代码行数:6,代码来源:CheckoutCommand.java


注:本文中的org.eclipse.core.resources.IProjectDescription.setLocation方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。