List of usage examples for org.apache.maven.project MavenProject getTestCompileSourceRoots
public List<String> getTestCompileSourceRoots()
From source file:org.eclipse.tycho.core.osgitools.OsgiBundleProject.java
License:Open Source License
private void addPDESourceRoots(MavenProject project) { EclipsePluginProjectImpl eclipsePluginProject = getEclipsePluginProject( DefaultReactorProject.adapt(project)); for (BuildOutputJar outputJar : eclipsePluginProject.getOutputJars()) { for (File sourceFolder : outputJar.getSourceFolders()) { removeDuplicateTestCompileRoot(sourceFolder, project.getTestCompileSourceRoots()); project.addCompileSourceRoot(sourceFolder.getAbsolutePath()); }//w ww. j a v a2 s .c o m } }
From source file:org.jboss.tools.maven.jbosspackaging.configurators.SarProjectConfigurator.java
License:Open Source License
public static void removeTestFolderLinks(IProject project, MavenProject mavenProject, IProgressMonitor monitor, String folder) throws CoreException { IVirtualComponent component = ComponentCore.createComponent(project); if (component != null) { IVirtualFolder jsrc = component.getRootFolder().getFolder(folder); for (IPath location : MavenProjectUtils.getSourceLocations(project, mavenProject.getTestCompileSourceRoots())) { if (location == null) continue; jsrc.removeLink(location, 0, monitor); }/* w ww. j ava 2 s . co m*/ for (IPath location : MavenProjectUtils.getResourceLocations(project, mavenProject.getTestResources())) { if (location == null) continue; jsrc.removeLink(location, 0, monitor); } } }
From source file:org.jetbrains.idea.maven.server.embedder.Maven2ServerEmbedderImpl.java
License:Apache License
@Nonnull private MavenServerExecutionResult createExecutionResult(File file, MavenExecutionResult result, DependencyNode rootNode) throws RemoteException { Collection<MavenProjectProblem> problems = MavenProjectProblem.createProblemsList(); Set<MavenId> unresolvedArtifacts = new HashSet<MavenId>(); validate(file, result.getExceptions(), problems, unresolvedArtifacts); MavenProject mavenProject = result.getMavenProject(); if (mavenProject == null) { return new MavenServerExecutionResult(null, problems, unresolvedArtifacts); }//from ww w .j ava 2s . co m MavenModel model = Maven2ModelConverter.convertModel(mavenProject.getModel(), mavenProject.getCompileSourceRoots(), mavenProject.getTestCompileSourceRoots(), mavenProject.getArtifacts(), (rootNode == null ? Collections.emptyList() : rootNode.getChildren()), mavenProject.getExtensionArtifacts(), getLocalRepositoryFile()); RemoteNativeMavenProjectHolder holder = new RemoteNativeMavenProjectHolder(mavenProject); try { UnicastRemoteObject.exportObject(holder, 0); } catch (RemoteException e) { throw new RuntimeException(e); } Collection<String> activatedProfiles = collectActivatedProfiles(mavenProject); MavenServerExecutionResult.ProjectData data = new MavenServerExecutionResult.ProjectData(model, Maven2ModelConverter.convertToMap(mavenProject.getModel()), holder, activatedProfiles); return new MavenServerExecutionResult(data, problems, unresolvedArtifacts); }
From source file:org.jetbrains.idea.maven.server.Maven30ServerEmbedderImpl.java
License:Apache License
@Nonnull private MavenServerExecutionResult createExecutionResult(File file, MavenExecutionResult result, DependencyNode rootNode) throws RemoteException { Collection<MavenProjectProblem> problems = MavenProjectProblem.createProblemsList(); Set<MavenId> unresolvedArtifacts = new HashSet<MavenId>(); validate(file, result.getExceptions(), problems, unresolvedArtifacts); MavenProject mavenProject = result.getMavenProject(); if (mavenProject == null) return new MavenServerExecutionResult(null, problems, unresolvedArtifacts); MavenModel model = null;//from www .j av a 2 s. c o m try { if (USE_MVN2_COMPATIBLE_DEPENDENCY_RESOLVING) { //noinspection unchecked final List<DependencyNode> dependencyNodes = rootNode == null ? Collections.<DependencyNode>emptyList() : rootNode.getChildren(); model = MavenModelConverter.convertModel(mavenProject.getModel(), mavenProject.getCompileSourceRoots(), mavenProject.getTestCompileSourceRoots(), mavenProject.getArtifacts(), dependencyNodes, mavenProject.getExtensionArtifacts(), getLocalRepositoryFile()); } else { final DependencyResolutionResult dependencyResolutionResult = result .getDependencyResolutionResult(); final org.sonatype.aether.graph.DependencyNode dependencyGraph = dependencyResolutionResult != null ? dependencyResolutionResult.getDependencyGraph() : null; final List<org.sonatype.aether.graph.DependencyNode> dependencyNodes = dependencyGraph != null ? dependencyGraph.getChildren() : Collections.<org.sonatype.aether.graph.DependencyNode>emptyList(); model = Maven30AetherModelConverter.convertModelWithAetherDependencyTree(mavenProject.getModel(), mavenProject.getCompileSourceRoots(), mavenProject.getTestCompileSourceRoots(), mavenProject.getArtifacts(), dependencyNodes, mavenProject.getExtensionArtifacts(), getLocalRepositoryFile()); } } catch (Exception e) { validate(mavenProject.getFile(), Collections.singleton(e), problems, null); } RemoteNativeMavenProjectHolder holder = new RemoteNativeMavenProjectHolder(mavenProject); try { UnicastRemoteObject.exportObject(holder, 0); } catch (RemoteException e) { throw new RuntimeException(e); } Collection<String> activatedProfiles = collectActivatedProfiles(mavenProject); MavenServerExecutionResult.ProjectData data = new MavenServerExecutionResult.ProjectData(model, MavenModelConverter.convertToMap(mavenProject.getModel()), holder, activatedProfiles); return new MavenServerExecutionResult(data, problems, unresolvedArtifacts); }
From source file:org.jetbrains.idea.maven.server.Maven32ServerEmbedderImpl.java
License:Apache License
@Nonnull private MavenServerExecutionResult createExecutionResult(File file, MavenExecutionResult result, DependencyNode rootNode) throws RemoteException { Collection<MavenProjectProblem> problems = MavenProjectProblem.createProblemsList(); Set<MavenId> unresolvedArtifacts = new HashSet<MavenId>(); validate(file, result.getExceptions(), problems, unresolvedArtifacts); MavenProject mavenProject = result.getMavenProject(); if (mavenProject == null) { return new MavenServerExecutionResult(null, problems, unresolvedArtifacts); }//from www .j a v a2s .c o m MavenModel model = null; try { if (USE_MVN2_COMPATIBLE_DEPENDENCY_RESOLVING) { //noinspection unchecked final List<DependencyNode> dependencyNodes = rootNode == null ? Collections.<DependencyNode>emptyList() : rootNode.getChildren(); model = MavenModelConverter.convertModel(mavenProject.getModel(), mavenProject.getCompileSourceRoots(), mavenProject.getTestCompileSourceRoots(), mavenProject.getArtifacts(), dependencyNodes, mavenProject.getExtensionArtifacts(), getLocalRepositoryFile()); } else { final DependencyResolutionResult dependencyResolutionResult = result .getDependencyResolutionResult(); final org.eclipse.aether.graph.DependencyNode dependencyGraph = dependencyResolutionResult != null ? dependencyResolutionResult.getDependencyGraph() : null; final List<org.eclipse.aether.graph.DependencyNode> dependencyNodes = dependencyGraph != null ? dependencyGraph.getChildren() : Collections.<org.eclipse.aether.graph.DependencyNode>emptyList(); model = Maven3AetherModelConverter.convertModelWithAetherDependencyTree(mavenProject.getModel(), mavenProject.getCompileSourceRoots(), mavenProject.getTestCompileSourceRoots(), mavenProject.getArtifacts(), dependencyNodes, mavenProject.getExtensionArtifacts(), getLocalRepositoryFile()); } } catch (Exception e) { validate(mavenProject.getFile(), Collections.singleton(e), problems, null); } RemoteNativeMavenProjectHolder holder = new RemoteNativeMavenProjectHolder(mavenProject); try { UnicastRemoteObject.exportObject(holder, 0); } catch (RemoteException e) { throw new RuntimeException(e); } Collection<String> activatedProfiles = collectActivatedProfiles(mavenProject); MavenServerExecutionResult.ProjectData data = new MavenServerExecutionResult.ProjectData(model, MavenModelConverter.convertToMap(mavenProject.getModel()), holder, activatedProfiles); return new MavenServerExecutionResult(data, problems, unresolvedArtifacts); }
From source file:org.jfrog.jade.plugins.idea.IdeaModuleMojo.java
License:Apache License
public void rewriteModule() throws MojoExecutionException { MavenProject executedProject = getExecutedProject(); File moduleFile = new File(executedProject.getBasedir(), getIdeProjectName() + ".iml"); try {/* ww w. ja v a 2 s . c o m*/ Document document = readXmlDocument(moduleFile, "module.xml"); Element module = document.getRootElement(); // TODO: how can we let the WAR/EJBs plugin hook in and provide this? // TODO: merge in ejb-module, etc. if ("war".equals(executedProject.getPackaging())) { addWebModule(module); } else if ("ejb".equals(executedProject.getPackaging())) { addEjbModule(module); } else if ("ear".equals(executedProject.getPackaging())) { addEarModule(module); } else if (isIdeaPlugin()) { addPluginModule(module); } Element component = findComponent(module, "NewModuleRootManager"); Element output = findElement(component, "output"); output.addAttribute("url", getModuleFileUrl(executedProject.getBuild().getOutputDirectory())); Element outputTest = findElement(component, "output-test"); outputTest.addAttribute("url", getModuleFileUrl(executedProject.getBuild().getTestOutputDirectory())); Element content = findElement(component, "content"); removeOldElements(content, "sourceFolder"); for (Iterator i = executedProject.getCompileSourceRoots().iterator(); i.hasNext();) { String directory = (String) i.next(); addSourceFolder(content, directory, false); } for (Iterator i = executedProject.getTestCompileSourceRoots().iterator(); i.hasNext();) { String directory = (String) i.next(); addSourceFolder(content, directory, true); } for (Iterator i = executedProject.getBuild().getResources().iterator(); i.hasNext();) { Resource resource = (Resource) i.next(); String directory = resource.getDirectory(); if (resource.getTargetPath() == null && !resource.isFiltering()) { addSourceFolder(content, directory, false); } else { getLog().info( "Not adding resource directory as it has an incompatible target path or filtering: " + directory); } } for (Iterator i = executedProject.getBuild().getTestResources().iterator(); i.hasNext();) { Resource resource = (Resource) i.next(); String directory = resource.getDirectory(); if (resource.getTargetPath() == null && !resource.isFiltering()) { addSourceFolder(content, directory, true); } else { getLog().info( "Not adding test resource directory as it has an incompatible target path or filtering: " + directory); } } removeOldElements(content, "excludeFolder"); //For excludeFolder File target = new File(executedProject.getBuild().getDirectory()); File classes = new File(executedProject.getBuild().getOutputDirectory()); File testClasses = new File(executedProject.getBuild().getTestOutputDirectory()); List sourceFolders = content.elements("sourceFolder"); List<String> filteredExcludes = new ArrayList<String>(); filteredExcludes.addAll(getExcludedDirectories(target, filteredExcludes, sourceFolders)); filteredExcludes.addAll(getExcludedDirectories(classes, filteredExcludes, sourceFolders)); filteredExcludes.addAll(getExcludedDirectories(testClasses, filteredExcludes, sourceFolders)); if (getExclude() != null) { String[] dirs = getExclude().split("[,\\s]+"); for (int i = 0; i < dirs.length; i++) { File excludedDir = new File(executedProject.getBasedir(), dirs[i]); filteredExcludes.addAll(getExcludedDirectories(excludedDir, filteredExcludes, sourceFolders)); } } // even though we just ran all the directories in the filteredExcludes List through the intelligent // getExcludedDirectories method, we never actually were guaranteed the order that they were added was // in the order required to make the most optimized exclude list. In addition, the smart logic from // that method is entirely skipped if the directory doesn't currently exist. A simple string matching // will do pretty much the same thing and make the list more concise. List<String> actuallyExcluded = new ArrayList<String>(); Collections.sort(filteredExcludes); for (Iterator i = filteredExcludes.iterator(); i.hasNext();) { String dirToExclude = i.next().toString(); String dirToExcludeTemp = dirToExclude.replace('\\', '/'); boolean addExclude = true; for (Iterator iterator = actuallyExcluded.iterator(); iterator.hasNext();) { String dir = iterator.next().toString(); String dirTemp = dir.replace('\\', '/'); if (dirToExcludeTemp.startsWith(dirTemp + "/")) { addExclude = false; break; } else if (dir.startsWith(dirToExcludeTemp + "/")) { actuallyExcluded.remove(dir); } } if (addExclude) { actuallyExcluded.add(dirToExclude); addExcludeFolder(content, dirToExclude); } } rewriteDependencies(component); writeXmlDocument(moduleFile, document); } catch (DocumentException e) { throw new MojoExecutionException("Error parsing existing IML file " + moduleFile.getAbsolutePath(), e); } catch (IOException e) { throw new MojoExecutionException("Error parsing existing IML file " + moduleFile.getAbsolutePath(), e); } }
From source file:org.jvnet.sorcerer.maven_plugin.SorcererTestReport.java
License:Apache License
protected List<String> getSourceRoots(MavenProject project) { return project.getTestCompileSourceRoots(); }
From source file:org.maven.ide.eclipse.embedder.BuildPathManager.java
License:Apache License
private void addDirs(IContainer project, Set sources, List sourceEntries, MavenProject mavenProject, File basedir, File projectBaseDir) { addSourceDirs(project, sources, sourceEntries, mavenProject.getCompileSourceRoots(), basedir, projectBaseDir);//from ww w .j a v a 2s .c o m addSourceDirs(project, sources, sourceEntries, mavenProject.getTestCompileSourceRoots(), basedir, projectBaseDir); addResourceDirs(project, sources, sourceEntries, mavenProject.getBuild().getResources(), basedir, projectBaseDir); addResourceDirs(project, sources, sourceEntries, mavenProject.getBuild().getTestResources(), basedir, projectBaseDir); // HACK to support xmlbeans generated classes MNGECLIPSE-374 File generatedClassesDir = new File(mavenProject.getBuild().getDirectory(), "generated-classes" + File.separator + "xmlbeans"); IResource generatedClasses = project.findMember(toRelativeAndFixSeparator(projectBaseDir, // generatedClassesDir.getAbsolutePath())); if (generatedClasses != null && generatedClasses.isAccessible() && generatedClasses.getType() == IResource.FOLDER) { sourceEntries.add(JavaCore.newLibraryEntry(generatedClasses.getFullPath(), null, null)); } }
From source file:org.mobicents.maven.plugin.eclipse.ClasspathWriter.java
License:Open Source License
/** * Writes the source roots for the given project. * /*from w ww . j ava 2 s .c o m*/ * @param project * the project for which to write the source roots. * @param rootDirectory * the root project's base directory * @param writer * the XMLWriter used to write the source roots. * @param includeResourcesDirectory */ private Set<String> collectSourceRoots(final MavenProject project, final String rootDirectory, final XMLWriter writer, boolean includeResourcesDirectory) { Set<String> sourcePaths = new TreeSet<String>(); // collect source roots List<String> sourceRoots = new ArrayList<String>(); sourceRoots.addAll(project.getCompileSourceRoots()); sourceRoots.addAll(project.getTestCompileSourceRoots()); for (String s : sourceRoots) { final String sourceRoot = PathNormalizer.normalizePath(s); if (new File(sourceRoot).isDirectory()) { String sourceRootPath = StringUtils.replace(sourceRoot, rootDirectory, ""); if (sourceRootPath.startsWith("/")) { sourceRootPath = sourceRootPath.substring(1, sourceRootPath.length()); } sourcePaths.add(sourceRootPath); } } if (includeResourcesDirectory) { // collect resources List<Resource> resources = new ArrayList<Resource>(); resources.addAll(project.getResources()); resources.addAll(project.getTestResources()); for (Resource resource : resources) { final String resourceRoot = PathNormalizer.normalizePath(resource.getDirectory()); File resourceDirectory = new File(resourceRoot); if (resourceDirectory.exists() && resourceDirectory.isDirectory()) { String resourceSourceRootPath = StringUtils.replace(resourceRoot, rootDirectory, ""); if (resourceSourceRootPath.startsWith("/")) { resourceSourceRootPath = resourceSourceRootPath.substring(1, resourceSourceRootPath.length()); } // we need to avoid nested paths, eclipse doesn't // support them // check if there is already a parent resource path boolean add = true; for (String resourcePath : sourcePaths) { if (resourceSourceRootPath.startsWith(resourcePath)) { // the one we are processing is a child folder, // ignore it add = false; break; } } if (add) { for (String resourcePath : sourcePaths) { if (resourcePath.startsWith(resourceSourceRootPath)) { // the one we are processing is a parent // folder, remove the child sourcePaths.remove(resourcePath); } } sourcePaths.add(resourceSourceRootPath); } } } } return sourcePaths; }
From source file:org.sonar.batch.maven.MavenProjectConverter.java
License:Open Source License
private List<File> testDirs(MavenProject pom) { return sourceDirs(pom, ProjectDefinition.TEST_DIRS_PROPERTY, pom.getTestCompileSourceRoots()); }