List of usage examples for org.eclipse.jdt.core JavaCore NATURE_ID
String NATURE_ID
To view the source code for org.eclipse.jdt.core JavaCore NATURE_ID.
Click Source Link
"org.eclipse.jdt.core.javanature"
). From source file:at.bestsolution.efxclipse.tooling.rrobot.impl.JDTProjectHandler.java
License:Open Source License
protected IStatus customizeProject(IProgressMonitor monitor, IProject project, P model) { try {// w w w . j a v a 2 s. c o m addNatureToProject(project, JavaCore.NATURE_ID, monitor); IJavaProject javaProject = JavaCore.create(project); javaProject.setOutputLocation(project.getFullPath().append("bin"), monitor); //FIXME has to come from model IClasspathEntry[] tmpEntries = createClasspathEntries(model); IClasspathEntry[] entries = new IClasspathEntry[tmpEntries.length + model.getSourceFragments().size()]; int i = 0; for (SourceFragment f : model.getSourceFragments()) { StringBuilder b = new StringBuilder(); Folder folder = f.getFolder(); while (folder != null) { if (b.length() > 0) { b.insert(0, "/"); } b.insert(0, folder.getName()); if (folder.eContainer() instanceof Folder) { folder = (Folder) folder.eContainer(); } else { break; } } entries[i] = JavaCore.newSourceEntry(project.getProject().getFullPath().append(b.toString())); } System.arraycopy(tmpEntries, 0, entries, model.getSourceFragments().size(), tmpEntries.length); javaProject.setRawClasspath(entries, monitor); } catch (CoreException e) { return new Status(IStatus.ERROR, PLUGIN_ID, "Unable to add nature", e); } return super.customizeProject(monitor, project, model); }
From source file:at.bestsolution.fxide.jdt.maven.MavenModuleTypeService.java
License:Open Source License
@Override public Status createModule(IProject project, IResource resource) { IProjectDescription description = project.getWorkspace().newProjectDescription(project.getName()); description.setNatureIds(new String[] { JavaCore.NATURE_ID, "org.eclipse.m2e.core.maven2Nature" }); ICommand[] commands = new ICommand[2]; {/*from w ww.j a v a2 s . co m*/ ICommand cmd = description.newCommand(); cmd.setBuilderName(JavaCore.BUILDER_ID); commands[0] = cmd; } { ICommand cmd = description.newCommand(); cmd.setBuilderName("org.eclipse.m2e.core.maven2Builder"); commands[1] = cmd; } if (resource != null) { // If we get a parent path we create a nested project try { if (resource.getProject().getNature("org.eclipse.m2e.core.maven2Nature") != null) { IFolder folder = resource.getProject().getFolder(project.getName()); if (folder.exists()) { return Status.status(State.ERROR, -1, "Folder already exists", null); } folder.create(true, true, null); description.setLocation(folder.getLocation()); } } catch (CoreException e1) { // TODO Auto-generated catch block e1.printStackTrace(); return Status.status(State.ERROR, -1, "Could not create parent relation", e1); } } description.setBuildSpec(commands); try { project.create(description, null); project.open(null); project.getFolder(new Path("target")).create(true, true, null); project.getFolder(new Path("target").append("classes")).create(true, true, null); project.getFolder(new Path("target")).setDerived(true, null); project.getFolder(new Path("target").append("classes")).setDerived(true, null); project.getFolder(new Path("src")).create(true, true, null); project.getFolder(new Path("src").append("main")).create(true, true, null); project.getFolder(new Path("src").append("main").append("java")).create(true, true, null); project.getFolder(new Path("src").append("main").append("resources")).create(true, true, null); project.getFolder(new Path("src").append("test")).create(true, true, null); project.getFolder(new Path("src").append("test").append("java")).create(true, true, null); project.getFolder(new Path("src").append("test").append("resources")).create(true, true, null); { IFile file = project.getFile(new Path("pom.xml")); try (InputStream templateStream = getClass().getResourceAsStream("template-pom.xml")) { String pomContent = IOUtils.readToString(templateStream, Charset.forName("UTF-8")); Map<String, String> map = new HashMap<>(); map.put("groupId", project.getName()); map.put("artifactId", project.getName()); map.put("version", "1.0.0"); file.create(new ByteArrayInputStream(StrSubstitutor.replace(pomContent, map).getBytes()), true, null); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } IJavaProject jProject = JavaCore.create(project); jProject.setOutputLocation(project.getFolder(new Path("target").append("classes")).getFullPath(), null); List<IClasspathEntry> entries = new ArrayList<>(); { IClasspathAttribute[] attributes = new IClasspathAttribute[2]; attributes[0] = JavaCore.newClasspathAttribute("optional", "true"); attributes[1] = JavaCore.newClasspathAttribute("maven.pomderived", "true"); IPath path = new Path("src").append("main").append("java"); IPath output = new Path("target").append("classes"); IClasspathEntry sourceEntry = JavaCore.newSourceEntry( project.getProject().getFullPath().append(path), null, null, project.getProject().getFullPath().append(output), attributes); entries.add(sourceEntry); } { IClasspathAttribute[] attributes = new IClasspathAttribute[1]; attributes[0] = JavaCore.newClasspathAttribute("maven.pomderived", "true"); IPath path = new Path("src").append("main").append("resources"); IPath output = new Path("target").append("classes"); IPath[] exclusions = new IPath[] { new Path("**") }; entries.add(JavaCore.newSourceEntry(project.getProject().getFullPath().append(path), null, exclusions, project.getProject().getFullPath().append(output), attributes)); } { IClasspathAttribute[] attributes = new IClasspathAttribute[2]; attributes[0] = JavaCore.newClasspathAttribute("optional", "true"); attributes[1] = JavaCore.newClasspathAttribute("maven.pomderived", "true"); IPath path = new Path("src").append("test").append("java"); IPath output = new Path("target").append("test-classes"); IClasspathEntry sourceEntry = JavaCore.newSourceEntry( project.getProject().getFullPath().append(path), null, null, project.getProject().getFullPath().append(output), attributes); entries.add(sourceEntry); } { IClasspathAttribute[] attributes = new IClasspathAttribute[1]; attributes[0] = JavaCore.newClasspathAttribute("maven.pomderived", "true"); IPath path = new Path("src").append("test").append("resources"); IPath output = new Path("target").append("test-classes"); IPath[] exclusions = new IPath[] { new Path("**") }; entries.add(JavaCore.newSourceEntry(project.getProject().getFullPath().append(path), null, exclusions, project.getProject().getFullPath().append(output), attributes)); } { IClasspathAttribute[] attributes = new IClasspathAttribute[1]; attributes[0] = JavaCore.newClasspathAttribute("maven.pomderived", "true"); IPath path = JavaRuntime.newDefaultJREContainerPath(); entries.add(JavaCore.newContainerEntry(path, null, attributes, false)); } { IClasspathAttribute[] attributes = new IClasspathAttribute[1]; attributes[0] = JavaCore.newClasspathAttribute("maven.pomderived", "true"); IPath path = new Path("org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"); entries.add(JavaCore.newContainerEntry(path, null, attributes, false)); } jProject.setRawClasspath(entries.toArray(new IClasspathEntry[0]), null); project.getWorkspace().save(true, null); return Status.ok(); } catch (CoreException ex) { //TODO ex.printStackTrace(); return Status.status(State.ERROR, -1, "Failed to create project", ex); } }
From source file:at.bestsolution.fxide.jdt.maven.MavenParentModuleTypeService.java
License:Open Source License
@Override public Status createModule(IProject project, IResource resource) { IProjectDescription description = project.getWorkspace().newProjectDescription(project.getName()); description.setNatureIds(new String[] { JavaCore.NATURE_ID, "org.eclipse.m2e.core.maven2Nature" }); ICommand[] commands = new ICommand[1]; {//from www . ja v a 2s.c om ICommand cmd = description.newCommand(); cmd.setBuilderName("org.eclipse.m2e.core.maven2Builder"); commands[0] = cmd; } // If we get a parent path we create a nested project if (resource != null) { try { if (resource.getProject().getNature("org.eclipse.m2e.core.maven2Nature") != null) { description.setLocation(resource.getProject().getFullPath().append(project.getName())); } } catch (CoreException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } description.setBuildSpec(commands); try { project.create(description, null); project.open(null); project.getFolder(new Path("target")).create(true, true, null); project.getFolder(new Path("target")).setDerived(true, null); project.getFolder(new Path("src")).create(true, true, null); project.getFolder(new Path("src").append("site")).create(true, true, null); { IFile file = project.getFile(new Path("pom.xml")); try (InputStream templateStream = getClass().getResourceAsStream("template-parent-pom.xml")) { String pomContent = IOUtils.readToString(templateStream, Charset.forName("UTF-8")); Map<String, String> map = new HashMap<>(); map.put("groupId", project.getName()); map.put("artifactId", project.getName()); map.put("version", "1.0.0"); try (ByteArrayInputStream in = new ByteArrayInputStream( StrSubstitutor.replace(pomContent, map).getBytes()); ByteArrayOutputStream out = new ByteArrayOutputStream();) { Model model = MavenPlugin.getMaven().readModel(in); MavenPlugin.getMaven().writeModel(model, out); try (ByteArrayInputStream in2 = new ByteArrayInputStream(out.toByteArray())) { file.create(in2, true, null); } } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } project.getWorkspace().save(true, null); } catch (CoreException ex) { return Status.status(State.ERROR, -1, "Failed to create project", ex); } return Status.ok(); }
From source file:at.bestsolution.fxide.jdt.services.JDTModuleTypeService.java
License:Open Source License
@Override public Status createModule(IProject project, IResource resource) { IProjectDescription description = project.getWorkspace().newProjectDescription(project.getName()); description.setNatureIds(new String[] { JavaCore.NATURE_ID }); ICommand cmd = description.newCommand(); cmd.setBuilderName(JavaCore.BUILDER_ID); description.setBuildSpec(new ICommand[] { cmd }); try {//from w w w . ja va 2s.com project.create(description, null); project.open(null); project.getFolder(new Path("target")).create(true, true, null); project.getFolder(new Path("target").append("classes")).create(true, true, null); project.getFolder(new Path("target")).setDerived(true, null); project.getFolder(new Path("target").append("classes")).setDerived(true, null); project.getFolder(new Path("src")).create(true, true, null); project.getFolder(new Path("src").append("main")).create(true, true, null); project.getFolder(new Path("src").append("main").append("java")).create(true, true, null); project.getFolder(new Path("src").append("main").append("resources")).create(true, true, null); project.getFolder(new Path("src").append("test")).create(true, true, null); project.getFolder(new Path("src").append("test").append("java")).create(true, true, null); project.getFolder(new Path("src").append("test").append("resources")).create(true, true, null); // IExecutionEnvironmentsManager executionEnvironmentsManager = JavaRuntime.getExecutionEnvironmentsManager(); // IExecutionEnvironment[] executionEnvironments = executionEnvironmentsManager.getExecutionEnvironments(); // System.err.println(JavaRuntime.getDefaultVMInstall().getInstallLocation()); IJavaProject jProject = JavaCore.create(project); jProject.setOutputLocation(project.getFolder(new Path("target").append("classes")).getFullPath(), null); List<IClasspathEntry> entries = new ArrayList<>(); entries.add(JavaCore.newSourceEntry( project.getProject().getFullPath().append("src").append("main").append("java"))); entries.add(JavaCore.newSourceEntry( project.getProject().getFullPath().append("src").append("main").append("resources"))); entries.add(JavaCore.newSourceEntry( project.getProject().getFullPath().append("src").append("test").append("java"))); entries.add(JavaCore.newSourceEntry( project.getProject().getFullPath().append("src").append("test").append("resources"))); entries.add(JavaCore.newContainerEntry(JavaRuntime.newDefaultJREContainerPath())); jProject.setRawClasspath(entries.toArray(new IClasspathEntry[0]), null); project.getWorkspace().save(true, null); return Status.ok(); } catch (CoreException ex) { return Status.status(State.ERROR, -1, "Failed to create project", ex); } }
From source file:at.bestsolution.javafx.ide.jdt.internal.NewJavaProjectService.java
License:Open Source License
private void configureProject(IProject project, IProgressMonitor monitor) throws CoreException { IProjectDescription description = project.getDescription(); String[] prevNatures = description.getNatureIds(); String[] newNatures = new String[prevNatures.length + 1]; System.arraycopy(prevNatures, 0, newNatures, 0, prevNatures.length); newNatures[prevNatures.length] = JavaCore.NATURE_ID; description.setNatureIds(newNatures); project.setDescription(description, monitor); }
From source file:at.component.newcomponentwizard.generator.NewProjectCreationOperation.java
License:Open Source License
private IProject createProject() throws CoreException { IProject project = fProjectProvider.getProject(); if (!project.exists()) { CoreUtility.createProject(project, fProjectProvider.getLocationPath(), null); project.open(null);/*w ww .j a v a 2 s . c om*/ } if (!project.hasNature(PDE.PLUGIN_NATURE)) CoreUtility.addNatureToProject(project, PDE.PLUGIN_NATURE, null); if (!fData.isSimple() && !project.hasNature(JavaCore.NATURE_ID)) CoreUtility.addNatureToProject(project, JavaCore.NATURE_ID, null); if (!fData.isSimple() && fData.getSourceFolderName() != null && fData.getSourceFolderName().trim().length() > 0) { IFolder folder = project.getFolder(fData.getSourceFolderName()); if (!folder.exists()) CoreUtility.createFolder(folder); } return project; }
From source file:at.component.newcomponentwizard.generator.NewProjectCreationOperation.java
License:Open Source License
protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException { // start task monitor.beginTask(PDEUIMessages.NewProjectCreationOperation_creating, getNumberOfWorkUnits()); monitor.subTask(PDEUIMessages.NewProjectCreationOperation_project); // create project IProject project = createProject();// www. ja v a2 s .c o m monitor.worked(1); createContents(monitor, project); // set classpath if project has a Java nature if (project.hasNature(JavaCore.NATURE_ID)) { monitor.subTask(PDEUIMessages.NewProjectCreationOperation_setClasspath); setClasspath(project, fData); monitor.worked(1); } if (fData instanceof PluginFieldData) { PluginFieldData data = (PluginFieldData) fData; // generate top-level Java class if that option is selected if (data.doGenerateClass()) { generateClasses(project, new SubProgressMonitor(monitor, 1)); } // add API tooling nature if requested if (data.doEnableAPITooling()) { addApiAnalysisNature(); } } // generate the manifest file monitor.subTask(PDEUIMessages.NewProjectCreationOperation_manifestFile); createManifest(project); monitor.worked(1); // generate the build.properties file monitor.subTask(PDEUIMessages.NewProjectCreationOperation_buildPropertiesFile); createBuildPropertiesFile(project); monitor.worked(1); // generate content contributed by template wizards boolean contentWizardResult = true; if (fContentWizard != null) { contentWizardResult = fContentWizard.performFinish(project, fModel, new SubProgressMonitor(monitor, 1)); } if (fData instanceof AbstractFieldData) { String framework = ((AbstractFieldData) fData).getOSGiFramework(); if (framework != null) { IEclipsePreferences pref = new ProjectScope(project).getNode(PDECore.PLUGIN_ID); if (pref != null) { pref.putBoolean(ICoreConstants.RESOLVE_WITH_REQUIRE_BUNDLE, false); pref.putBoolean(ICoreConstants.EXTENSIONS_PROPERTY, false); if (!ICoreConstants.EQUINOX.equals(framework)) pref.putBoolean(ICoreConstants.EQUINOX_PROPERTY, false); try { pref.flush(); } catch (BackingStoreException e) { PDEPlugin.logException(e); } } } } if (fData.hasBundleStructure() && fModel instanceof WorkspaceBundlePluginModelBase) { adjustManifests(new SubProgressMonitor(monitor, 1), project, fModel.getPluginBase()); } fModel.save(); openFile((IFile) fModel.getUnderlyingResource()); monitor.worked(1); fResult = contentWizardResult; }
From source file:bndtools.nature.ToggleNatureAction.java
License:Open Source License
@Override public void run(IAction action) { if (selection instanceof IStructuredSelection) { for (Iterator<?> it = ((IStructuredSelection) selection).iterator(); it.hasNext();) { Object element = it.next(); IProject project = null;//w w w.j a v a 2s . c o m if (element instanceof IProject) { project = (IProject) element; } else if (element instanceof IAdaptable) { project = (IProject) ((IAdaptable) element).getAdapter(IProject.class); } if (project != null) { boolean isJavaProject = false; try { isJavaProject = project.hasNature(JavaCore.NATURE_ID); } catch (CoreException e) { /* swallow */ } if (isJavaProject) { IStatus status = toggleNature(JavaCore.create(project)); if (!status.isOK()) ErrorDialog.openError(targetPart.getSite().getShell(), "Toggle Bnd Nature", null, status); } } } } }
From source file:byke.tests.workspaceutils.JavaProject.java
License:Open Source License
/** * @throws CoreException */ private void setJavaNature() throws CoreException { addNature(JavaCore.NATURE_ID); }
From source file:bz.davide.dmeclipsesavehookplugin.builder.DMEclipseSaveHookPluginBuilder.java
License:Open Source License
@Override protected IProject[] build(int kind, Map args, IProgressMonitor monitor) throws CoreException { // Check for changes only in the "output" folder! try {//from w w w . j ava2s. co m System.out.println("DMEclipseSaveHookPlugin " + new Date().toString()); if (this.getProject().hasNature(JavaCore.NATURE_ID)) { IJavaProject javaProject = JavaCore.create(this.getProject()); ArrayList<IProject> depProjects = new ArrayList<IProject>(); ArrayList<String> fullClasspath = new ArrayList<String>(); findTransitiveDepProjects(javaProject, depProjects, fullClasspath); File projectDir = new File(this.getProject().getLocation().toOSString()); DeltaVisitor deltaVisitor = new DeltaVisitor(); for (IProject iprj : depProjects) { IResourceDelta delta = this.getDelta(iprj); if (delta != null) { // Check if all changes are only in the bin path // if yes do nothing, is the effect of a previous change! delta.accept(deltaVisitor); } } // No src file was changed! if (deltaVisitor.countSrc == 0) { return depProjects.toArray(new IProject[0]); } System.out.println(" *** SRC FILES CHANGED *** REGENERATING ..."); IFile jbindFile = this.getProject().getFile("dmxmljson.conf"); if (jbindFile.exists()) { InputStream is = jbindFile.getContents(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String line; do { int numClasspaths = Integer.parseInt(br.readLine()); URL[] urls = new URL[numClasspaths + fullClasspath.size()]; for (int i = 0; i < numClasspaths; i++) { File file = new File(projectDir, br.readLine()); String path = file.getAbsolutePath() + (file.isDirectory() ? "/" : ""); System.out.println(path); urls[i] = new URL("file://" + path); } for (int i = 0; i < fullClasspath.size(); i++) { urls[i + numClasspaths] = new URL("file://" + fullClasspath.get(i)); } URLClassLoader urlClassLoader = new URLClassLoader(urls); String mainClassName = br.readLine(); Class<?> clazz = urlClassLoader.loadClass(mainClassName); ArrayList<String> parameters = new ArrayList<String>(); // Add project root folder parameters.add(projectDir.getAbsolutePath()); line = br.readLine(); while (line != null && line.length() > 0) { parameters.add(line); line = br.readLine(); } Method mainMethod = clazz.getMethod("main", new Class[] { String[].class }); // Exception during invoke must not break the plug-in funcionality! try { mainMethod.invoke(null, new Object[] { parameters.toArray(new String[0]) }); } catch (Exception exxx) { exxx.printStackTrace(); } urlClassLoader.close(); } while (line != null); br.close(); this.getProject().refreshLocal(IResource.DEPTH_INFINITE, null); } // jf bind.txt exits return depProjects.toArray(new IProject[0]); } // if java nature } catch (Exception exxx) { exxx.printStackTrace(); } return null; }