List of usage examples for org.eclipse.jdt.core JavaCore setClasspathContainer
public static void setClasspathContainer(IPath containerPath, IJavaProject[] affectedProjects, IClasspathContainer[] respectiveContainers, IProgressMonitor monitor) throws JavaModelException
IClasspathContainer). From source file:at.bestsolution.efxclipse.tooling.jdt.core.internal.JavaFXClasspathContainerInitializer.java
License:Open Source License
@Override public void initialize(IPath containerPath, IJavaProject project) throws CoreException { if (isValidJUnitContainerPath(containerPath)) { JavaFXContainer container = getNewContainer(containerPath, project); JavaCore.setClasspathContainer(containerPath, new IJavaProject[] { project }, new IClasspathContainer[] { container }, null); }//from www. ja v a2 s . c o m }
From source file:at.bestsolution.efxclipse.tooling.jdt.ui.internal.buildpath.JavaFXContainerWizardPage.java
License:Open Source License
@Override public boolean finish() { try {//from ww w .ja va2 s . c o m IJavaProject[] javaProjects = new IJavaProject[] { getPlaceholderProject() }; IClasspathContainer[] containers = { null }; JavaCore.setClasspathContainer(fContainerEntryResult.getPath(), javaProjects, containers, null); } catch (JavaModelException e) { ExceptionHandler.handle(e, getShell(), "JavaFX Container Error", "Error configuring JavaFX Classpath Container"); return false; } return true; }
From source file:bndtools.builder.BndIncrementalBuilder.java
License:Open Source License
void rebuildBndProject(IProject project, IProgressMonitor monitor) throws CoreException { SubMonitor progress = SubMonitor.convert(monitor, 2); IJavaProject javaProject = JavaCore.create(project); Project model = Plugin.getDefault().getCentral().getModel(javaProject); if (model == null) { // Don't try to build... no bnd workspace configured Plugin.log(new Status(IStatus.WARNING, Plugin.PLUGIN_ID, 0, MessageFormat.format( "Unable to run Bnd on project {0}: Bnd workspace not configured.", project.getName()), null)); return;/*from ww w.j a v a 2 s . co m*/ } model.refresh(); model.setChanged(); // Get or create the build model for this bnd file IFile bndFile = project.getFile(Project.BNDFILE); // Clear markers if (bndFile.exists()) { bndFile.deleteMarkers(MARKER_BND_PROBLEM, true, IResource.DEPTH_INFINITE); } // Update classpath JavaCore.setClasspathContainer(BndContainerInitializer.ID, new IJavaProject[] { javaProject }, new IClasspathContainer[] { new BndContainer(javaProject, BndContainerInitializer.calculateEntries(model)) }, null); // Build try { final Set<File> deliverableJars = new HashSet<File>(); bndsToDeliverables.clear(); Collection<? extends Builder> builders = model.getSubBuilders(); for (Builder builder : builders) { File subBndFile = builder.getPropertiesFile(); String bsn = builder.getBsn(); Container deliverable = model.getDeliverable(bsn, null); bndsToDeliverables.put(subBndFile, deliverable); deliverableJars.add(deliverable.getFile()); } model.build(); progress.worked(1); File targetDir = model.getTarget(); IContainer target = ResourcesPlugin.getWorkspace().getRoot() .getContainerForLocation(new Path(targetDir.getAbsolutePath())); target.refreshLocal(IResource.DEPTH_INFINITE, null); // Clear any JARs in the target directory that have not just been built by Bnd final File[] targetJars = model.getTarget().listFiles(new FileFilter() { public boolean accept(File pathname) { return pathname.getName().endsWith(".jar"); } }); WorkspaceJob deleteJob = new WorkspaceJob("delete") { @Override public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException { SubMonitor progress = SubMonitor.convert(monitor); for (File targetJar : targetJars) { if (!deliverableJars.contains(targetJar)) { IFile wsFile = ResourcesPlugin.getWorkspace().getRoot() .getFileForLocation(new Path(targetJar.getAbsolutePath())); if (wsFile != null && wsFile.exists()) { wsFile.delete(true, progress.newChild(1)); } } } return Status.OK_STATUS; } }; deleteJob.schedule(); } catch (Exception e) { throw new CoreException(new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, "Error building project.", e)); } // Report errors List<String> errors = new ArrayList<String>(model.getErrors()); for (String errorMessage : errors) { IMarker marker = bndFile.createMarker(MARKER_BND_PROBLEM); marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_ERROR); marker.setAttribute(IMarker.MESSAGE, errorMessage); marker.setAttribute(IMarker.LINE_NUMBER, 1); model.clear(); } }
From source file:ch.mlutz.plugins.t4e.container.T4eClasspathContainerInitializer.java
License:Open Source License
public void initialize(IPath containerPath, final IJavaProject project) { if (isT4eClasspathContainer(containerPath)) { IClasspathContainer container;//w ww . j a v a 2 s . com final Activator plugin = Activator.getDefault(); try { container = JavaCore.getClasspathContainer(containerPath, project); } catch (JavaModelException e) { log.error("Unable to get container for " + containerPath.toString(), e); return; } // plugin.getMavenModelManager().initModels(new NullProgressMonitor()); T4eClasspathContainer t4eContainer; if (container == null) { // parse the pom.xml IProject resourceProject = project.getProject(); PomParser pomParser = new PomParser(); IFile pomFile = resourceProject.getFile("pom.xml"); List<Dependency> dependencies; if (pomFile.exists()) { try { pomParser.parse(pomFile.getContents()); } catch (UnsupportedEncodingException e) { log.warn("Unsupported encoding in pom.xml: " + e); } catch (CoreException e) { log.warn("CoreException when getting contents of pom.xml: " + e); } dependencies = pomParser.getDependencyManagement(); log.info("DependencyManagement dependencies count: " + String.valueOf(dependencies.size())); dependencies = pomParser.getDependencies(); log.info("Dependencies count: " + String.valueOf(dependencies.size())); } else { log.warn("pom.xml doesn't seem to exist."); } // add dependency management entries to T4eClasspathContainer7 List<IClasspathEntry> entryList = new ArrayList<IClasspathEntry>(); String mavenRepositoryBasePath = MavenTools.getMavenLocalRepoPath().replaceAll("\\\\", "/"); dependencies = pomParser.getDependencyManagement(); for (Dependency dependency : dependencies) { Path path = new Path( mavenRepositoryBasePath + "/" + dependency.getGroupId().replaceAll("\\.", "/") + "/" + dependency.getArtifactId() + "/" + dependency.getVersion() + "/" + dependency.getArtifactId() + "-" + dependency.getVersion() + ".jar"); entryList.add(JavaCore.newLibraryEntry(path, null, null, true)); } t4eContainer = new T4eClasspathContainer(new Path(Constants.CONTAINER_ID), (IClasspathEntry[]) entryList.toArray(new IClasspathEntry[0])); } else { t4eContainer = new T4eClasspathContainer(containerPath, container.getClasspathEntries()); } try { JavaCore.setClasspathContainer(containerPath, new IJavaProject[] { project }, new IClasspathContainer[] { t4eContainer }, new NullProgressMonitor()); } catch (JavaModelException e) { log.warn("Unable to set container for " + containerPath.toString(), e); return; } if (container != null) { return; } /* plugin.getBuildpathManager().scheduleUpdateClasspathContainer(project.getProject()); */ } }
From source file:ch.powerunit.poweruniteclipse.PowerunitClasspathInitializer.java
License:Open Source License
@Override public void initialize(final IPath containerPath, final IJavaProject project) throws CoreException { JavaCore.setClasspathContainer(containerPath, new IJavaProject[] { project }, new IClasspathContainer[] { DEFAULT }, null); }
From source file:ch.powerunit.poweruniteclipse.PowerunitContainerWizardPage.java
License:Open Source License
@Override public boolean finish() { IJavaProject[] javaProjects = new IJavaProject[] { project }; IClasspathContainer[] containers = { PowerunitClasspathInitializer.DEFAULT }; try {// w ww .ja v a 2s .c om JavaCore.setClasspathContainer(getSelection().getPath(), javaProjects, containers, null); } catch (JavaModelException e) { return false; } return true; }
From source file:cn.ieclipse.adt.ext.jdt.AormClasspathContainerInitializer.java
License:Apache License
@Override public void initialize(IPath containerPath, IJavaProject project) throws CoreException { if (AormClasspathContainer.CON_PATH.equals(containerPath.toString())) { IClasspathContainer container = allocateAndroidContainer(project); if (container != null) JavaCore.setClasspathContainer(new Path(AormClasspathContainer.CON_PATH), new IJavaProject[] { project }, new IClasspathContainer[] { container }, new NullProgressMonitor()); }/*from w w w. j a v a 2s.c o m*/ }
From source file:com.amazonaws.eclipse.android.sdk.classpath.AndroidSdkClasspathContainerInitializer.java
License:Open Source License
@Override public void initialize(IPath containerPath, IJavaProject javaProject) throws CoreException { try {//from www. ja v a 2 s. c o m SdkProjectMetadata sdkProjectMetadataFile = new SdkProjectMetadata(javaProject.getProject()); File sdkInstallRoot = sdkProjectMetadataFile.getSdkInstallRootForProject(); if (sdkInstallRoot == null) throw new Exception("No SDK install directory specified"); AndroidSdkInstall sdkInstall = new AndroidSdkInstallFactory().createSdkInstallFromDisk(sdkInstallRoot); if (sdkInstall.isValidSdkInstall() == false) throw new Exception("Invalid SDK install directory specified: " + sdkInstall.getRootDirectory()); copySdkJarToProject(javaProject.getProject(), sdkInstall); AndroidSdkClasspathContainer classpathContainer = new AndroidSdkClasspathContainer(sdkInstall, javaProject.getProject()); JavaCore.setClasspathContainer(containerPath, new IJavaProject[] { javaProject }, new IClasspathContainer[] { classpathContainer }, null); } catch (Exception e) { AndroidSdkInstall defaultSdkInstall = AndroidSdkManager.getInstance().getDefaultSdkInstall(); if (defaultSdkInstall == null) throw new CoreException(new Status(IStatus.ERROR, JavaSdkPlugin.PLUGIN_ID, "No SDKs available")); AndroidSdkClasspathContainer classpathContainer = new AndroidSdkClasspathContainer(defaultSdkInstall, javaProject.getProject()); JavaCore.setClasspathContainer(containerPath, new IJavaProject[] { javaProject }, new IClasspathContainer[] { classpathContainer }, null); try { defaultSdkInstall.writeMetadataToProject(javaProject); } catch (IOException ioe) { StatusManager.getManager().handle( new Status(Status.WARNING, JavaSdkPlugin.PLUGIN_ID, ioe.getMessage(), ioe), StatusManager.LOG); } String message = "Unable to initialize previous AWS SDK for Android classpath entries - defaulting to latest version"; Status status = new Status(Status.WARNING, JavaSdkPlugin.PLUGIN_ID, message, e); StatusManager.getManager().handle(status, StatusManager.LOG); } }
From source file:com.amazonaws.eclipse.lambda.project.classpath.LambdaRuntimeClasspathContainerInitializer.java
License:Open Source License
@Override public void initialize(IPath containerPath, IJavaProject javaProject) throws CoreException { try {//from www. j av a2 s .c om LambdaRuntimeLibraryVersion lastestRuntimeJar = LambdaRuntimeLibraryManager.getInstance() .getLatestVersion(); LambdaRuntimeClasspathContainer classpathContainer = new LambdaRuntimeClasspathContainer( lastestRuntimeJar); JavaCore.setClasspathContainer(containerPath, new IJavaProject[] { javaProject }, new IClasspathContainer[] { classpathContainer }, null); } catch (Exception e) { String message = "Unable to initialize Lambda Java Runtime classpath."; LambdaPlugin.getDefault().reportException(message, e); } }
From source file:com.amazonaws.eclipse.sdk.ui.classpath.ClasspathContainerInitializer.java
License:Open Source License
@Override public void initialize(IPath containerPath, IJavaProject javaProject) throws CoreException { try {//from w ww . j a va 2 s . c o m SdkProjectMetadata sdkProjectMetadataFile = new SdkProjectMetadata(javaProject.getProject()); File sdkInstallRoot = sdkProjectMetadataFile.getSdkInstallRootForProject(); if (sdkInstallRoot == null) throw new Exception("No SDK install directory specified"); SdkInstall sdkInstall = new SdkInstall(sdkInstallRoot); if (sdkInstall.isValidSdkInstall() == false) throw new Exception("Invalid SDK install directory specified: " + sdkInstall.getRootDirectory()); AwsClasspathContainer classpathContainer = new AwsClasspathContainer(sdkInstall); JavaCore.setClasspathContainer(containerPath, new IJavaProject[] { javaProject }, new IClasspathContainer[] { classpathContainer }, null); } catch (Exception e) { SdkInstall defaultSdkInstall = SdkManager.getInstance().getDefaultSdkInstall(); AwsClasspathContainer classpathContainer = new AwsClasspathContainer(defaultSdkInstall); JavaCore.setClasspathContainer(containerPath, new IJavaProject[] { javaProject }, new IClasspathContainer[] { classpathContainer }, null); try { defaultSdkInstall.writeMetadataToProject(javaProject); } catch (IOException ioe) { StatusManager.getManager().handle( new Status(Status.WARNING, SdkPlugin.PLUGIN_ID, ioe.getMessage(), ioe), StatusManager.LOG); } String message = "Unable to initialize previous AWS SDK for Java classpath entries - defaulting to latest version"; Status status = new Status(Status.WARNING, SdkPlugin.PLUGIN_ID, message, e); StatusManager.getManager().handle(status, StatusManager.LOG); } }