List of usage examples for org.apache.maven.project MavenProject setDependencyArtifacts
@Deprecated public void setDependencyArtifacts(Set<Artifact> dependencyArtifacts)
From source file:npanday.resolver.NPandayDependencyResolution.java
License:Apache License
public Set<Artifact> require(MavenProject project, ArtifactRepository localRepository, ArtifactFilter filter) throws ArtifactResolutionException { long startTime = System.currentTimeMillis(); artifactResolver.initializeWithFilter(filter); if (getLogger().isDebugEnabled()) { getLogger().debug("NPANDAY-148-007: Resolving dependencies for " + project.getArtifact()); }/* w w w. j a v a 2s . c o m*/ try { if (project.getDependencyArtifacts() == null) { createArtifactsForMaven2BackCompat(project); } ArtifactResolutionResult result = artifactResolver.resolveTransitively(project.getDependencyArtifacts(), project.getArtifact(), project.getManagedVersionMap(), localRepository, project.getRemoteArtifactRepositories(), metaDataSource, filter); /* * WORKAROUND: transitive dependencies are not cached in MavenProject; in order to let * them "live" for following mojo executions, we'll add the custom resolved * dependencies to the projects DIRECT dependencies * */ Set<Artifact> dependencyArtifacts = new HashSet<Artifact>(project.getDependencyArtifacts()); addResolvedSpecialsToProjectDependencies(result, dependencyArtifacts); // Add custom contribute dependencies to maven project dependencies dependencyArtifacts.addAll(artifactResolver.getCustomDependenciesCache()); project.setDependencyArtifacts(dependencyArtifacts); Set<Artifact> resultRequire = Sets.newLinkedHashSet(result.getArtifacts()); resultRequire.addAll(artifactResolver.getCustomDependenciesCache()); if (getLogger().isInfoEnabled()) { long endTime = System.currentTimeMillis(); getLogger() .info("NPANDAY-148-009: Took " + (endTime - startTime) + "ms to resolve dependencies for " + project.getArtifact() + " with filter " + filter.toString()); } return resultRequire; } catch (ArtifactResolutionException e) { throw new ArtifactResolutionException("NPANDAY-148-001: Could not resolve project dependencies", project.getArtifact(), e); } catch (ArtifactNotFoundException e) { throw new ArtifactResolutionException("NPANDAY-148-002: Could not resolve project dependencies", project.getArtifact(), e); } catch (InvalidDependencyVersionException e) { throw new ArtifactResolutionException("NPANDAY-148-003: Could not resolve project dependencies", project.getArtifact(), e); } }
From source file:npanday.resolver.NPandayDependencyResolution.java
License:Apache License
private void createArtifactsForMaven2BackCompat(MavenProject project) throws InvalidDependencyVersionException { if (getLogger().isDebugEnabled()) { getLogger().debug("NPANDAY-148-008: creating dependency collection for maven 2 projects"); }//from w w w. j ava 2 s. c o m project.setDependencyArtifacts(project.createArtifacts(artifactFactory, null, null)); }
From source file:org.apache.felix.bundleplugin.BundleAllPlugin.java
License:Apache License
/** * Bundle a project and its transitive dependencies up to some depth level * /* w ww. j a v a2s . c om*/ * @param project * @param maxDepth how deep to process the dependency tree * @throws MojoExecutionException */ protected BundleInfo bundleAll(MavenProject project, int maxDepth) throws MojoExecutionException { if (alreadyBundled(project.getArtifact())) { getLog().debug("Ignoring project already processed " + project.getArtifact()); return null; } if (m_artifactsBeingProcessed.contains(project.getArtifact())) { getLog().warn("Ignoring artifact due to dependency cycle " + project.getArtifact()); return null; } m_artifactsBeingProcessed.add(project.getArtifact()); DependencyNode dependencyTree; try { dependencyTree = m_dependencyTreeBuilder.buildDependencyTree(project, localRepository, m_factory, m_artifactMetadataSource, null, m_collector); } catch (DependencyTreeBuilderException e) { throw new MojoExecutionException("Unable to build dependency tree", e); } BundleInfo bundleInfo = new BundleInfo(); if (!dependencyTree.hasChildren()) { /* no need to traverse the tree */ return bundleRoot(project, bundleInfo); } getLog().debug("Will bundle the following dependency tree" + LS + dependencyTree); for (Iterator it = dependencyTree.inverseIterator(); it.hasNext();) { DependencyNode node = (DependencyNode) it.next(); if (!it.hasNext()) { /* this is the root, current project */ break; } if (node.getState() != DependencyNode.INCLUDED) { continue; } if (Artifact.SCOPE_SYSTEM.equals(node.getArtifact().getScope())) { getLog().debug("Ignoring system scoped artifact " + node.getArtifact()); continue; } Artifact artifact; try { artifact = resolveArtifact(node.getArtifact()); } catch (ArtifactNotFoundException e) { if (ignoreMissingArtifacts) { continue; } throw new MojoExecutionException("Artifact was not found in the repo" + node.getArtifact(), e); } node.getArtifact().setFile(artifact.getFile()); int nodeDepth = node.getDepth(); if (nodeDepth > maxDepth) { /* node is deeper than we want */ getLog().debug( "Ignoring " + node.getArtifact() + ", depth is " + nodeDepth + ", bigger than " + maxDepth); continue; } MavenProject childProject; try { childProject = m_mavenProjectBuilder.buildFromRepository(artifact, remoteRepositories, localRepository, true); if (childProject.getDependencyArtifacts() == null) { childProject.setDependencyArtifacts(childProject.createArtifacts(m_factory, null, null)); } } catch (ProjectBuildingException e) { throw new MojoExecutionException("Unable to build project object for artifact " + artifact, e); } catch (InvalidDependencyVersionException e) { throw new MojoExecutionException("Invalid dependency version for artifact " + artifact); } childProject.setArtifact(artifact); getLog().debug("Child project artifact location: " + childProject.getArtifact().getFile()); if ((Artifact.SCOPE_COMPILE.equals(artifact.getScope())) || (Artifact.SCOPE_RUNTIME.equals(artifact.getScope()))) { BundleInfo subBundleInfo = bundleAll(childProject, maxDepth - 1); if (subBundleInfo != null) { bundleInfo.merge(subBundleInfo); } } else { getLog().debug("Not processing due to scope (" + childProject.getArtifact().getScope() + "): " + childProject.getArtifact()); } } return bundleRoot(project, bundleInfo); }
From source file:org.apache.tuscany.maven.bundle.plugin.BundlesMetaDataBuildMojo.java
License:Apache License
private MavenProject buildProject(Artifact artifact) throws ProjectBuildingException, InvalidDependencyVersionException, ArtifactResolutionException, ArtifactNotFoundException, DependencyTreeBuilderException { MavenProject pomProject = mavenProjectBuilder.buildFromRepository(artifact, this.remoteRepos, this.local); if (pomProject.getDependencyArtifacts() == null) { pomProject.setDependencyArtifacts(pomProject.createArtifacts(factory, null, // Artifact.SCOPE_TEST, new ScopeArtifactFilter(Artifact.SCOPE_TEST))); }/*from w w w . j a v a 2s . co m*/ if (includeConflictingDepedencies) { pomProject.setArtifacts(getDependencyArtifacts(pomProject)); } else { ArtifactResolutionResult result = resolver.resolveTransitively(pomProject.getDependencyArtifacts(), pomProject.getArtifact(), remoteRepos, local, artifactMetadataSource); pomProject.setArtifacts(result.getArtifacts()); } return pomProject; }
From source file:org.codehaus.mojo.license.api.DefaultDependenciesTool.java
License:Open Source License
/** * {@inheritDoc}//w w w.jav a 2 s . c o m */ public void loadProjectArtifacts(ArtifactRepository localRepository, List remoteRepositories, MavenProject project) throws DependenciesToolException { if (CollectionUtils.isEmpty(project.getDependencyArtifacts())) { Set dependenciesArtifacts; try { dependenciesArtifacts = MavenMetadataSource.createArtifacts(artifactFactory, project.getDependencies(), null, null, project); } catch (InvalidDependencyVersionException e) { throw new DependenciesToolException(e); } project.setDependencyArtifacts(dependenciesArtifacts); Artifact artifact = project.getArtifact(); ArtifactResolutionResult result; try { result = artifactResolver.resolveTransitively(dependenciesArtifacts, artifact, remoteRepositories, localRepository, artifactMetadataSource); } catch (ArtifactResolutionException e) { throw new DependenciesToolException(e); } catch (ArtifactNotFoundException e) { throw new DependenciesToolException(e); } project.setArtifacts(result.getArtifacts()); } }
From source file:org.codehaus.mojo.pluginsupport.dependency.DependencyHelper.java
License:Apache License
public DependencyTree getDependencies(final MavenProject project) throws ProjectBuildingException, InvalidDependencyVersionException, ArtifactResolutionException { assert project != null; Map managedVersions = getManagedVersionMap(project, artifactFactory); DependencyResolutionListener listener = new DependencyResolutionListener(); if (project.getDependencyArtifacts() == null) { project.setDependencyArtifacts(project.createArtifacts(artifactFactory, null, null)); }/* w ww . ja v a2 s . co m*/ artifactCollector.collect(project.getDependencyArtifacts(), project.getArtifact(), managedVersions, getArtifactRepository(), project.getRemoteArtifactRepositories(), artifactMetadataSource, null, Collections.singletonList(listener)); return listener.getDependencyTree(); }
From source file:org.codehaus.mojo.pomtools.helpers.MetadataHelper.java
License:Apache License
/** Resolves all transitive dependencies for the current project and returns a list * of {@link TransitiveDependencyInfo} objects. Each object represents a distinct * groupId:artifactId:type dependency. The {@link TransitiveDependencyInfo#getResolutionNodes()} * represent all of the possible ResolutionNodes which resolve to this groupId:artifactId. * /*ww w . j a v a2 s . c o m*/ * @return * @throws PomToolsException */ public List getTransitiveDependencies() throws PomToolsException, ProjectBuildingException { // Certain things like groupId or versions for dependencies may be declared in a parent // pom so we need to have maven fully resolve the model before walking the tree. MavenProject project = PomToolsPluginContext.getInstance().getActiveProject().getTemporaryResolvedProject(); try { project.setDependencyArtifacts(project.createArtifacts(artifactFactory, null, null)); } catch (InvalidDependencyVersionException e) { throw new PomToolsVersionException( "Unable to build project due to an invalid dependency version: " + e.getMessage(), e); } Artifact projectArtifact = project.getArtifact(); Set artifacts = project.getDependencyArtifacts(); try { List dependencies = new ArrayList(); ArtifactResolutionResult result; result = artifactResolver.resolveTransitively(artifacts, projectArtifact, Collections.EMPTY_MAP, localRepository, remoteRepositories, metadataSource, projectArtifact.getDependencyFilter()); Map dependencyMap = new HashMap(); Set seen = new HashSet(); // First build our map of distinct groupId:artifactIds for (Iterator iter = result.getArtifactResolutionNodes().iterator(); iter.hasNext();) { ResolutionNode node = (ResolutionNode) iter.next(); TransitiveDependencyInfo info = new TransitiveDependencyInfo(node); dependencyMap.put(info.getKey(), info); dependencies.add(info); } // Now populate the map with all children recurseNode(dependencyMap, seen, result.getArtifactResolutionNodes().iterator(), 0); return dependencies; } catch (ArtifactNotFoundException e) { throw new PomToolsException(e); } catch (ArtifactResolutionException e) { throw new PomToolsException(e); } }
From source file:org.eclipse.che.maven.server.MavenServerImpl.java
License:Open Source License
private MavenResult internalResolveProject(File pom, List<String> activeProfiles, List<String> inactiveProfiles, List<ResolutionListener> dependencyTreeResolutionListeners) { MavenExecutionRequest request = newMavenRequest(pom, activeProfiles, inactiveProfiles, Collections.emptyList()); request.setUpdateSnapshots(updateSnapshots); AtomicReference<MavenResult> reference = new AtomicReference<>(); runMavenRequest(request, () -> {// ww w . ja v a 2s . c o m try { ProjectBuilder builder = getMavenComponent(ProjectBuilder.class); List<ProjectBuildingResult> resultList = builder.build(Collections.singletonList(pom), false, request.getProjectBuildingRequest()); ProjectBuildingResult result = resultList.get(0); MavenProject mavenProject = result.getProject(); RepositorySystemSession repositorySession = getMavenComponent(LegacySupport.class) .getRepositorySession(); if (repositorySession instanceof DefaultRepositorySystemSession) { ((DefaultRepositorySystemSession) repositorySession) .setTransferListener(new ArtifactTransferListener(mavenProgressNotifier)); if (workspaceCache != null) { ((DefaultRepositorySystemSession) repositorySession) .setWorkspaceReader(new MavenWorkspaceReader(workspaceCache)); } } List<Exception> exceptions = new ArrayList<>(); loadExtensions(mavenProject, exceptions); mavenProject.setDependencyArtifacts( mavenProject.createArtifacts(getMavenComponent(ArtifactFactory.class), null, null)); ArtifactResolutionRequest resolutionRequest = new ArtifactResolutionRequest(); resolutionRequest.setArtifact(mavenProject.getArtifact()); resolutionRequest.setRemoteRepositories(mavenProject.getRemoteArtifactRepositories()); resolutionRequest.setArtifactDependencies(mavenProject.getDependencyArtifacts()); resolutionRequest.setListeners(dependencyTreeResolutionListeners); resolutionRequest.setLocalRepository(localRepo); resolutionRequest.setManagedVersionMap(mavenProject.getManagedVersionMap()); resolutionRequest.setResolveTransitively(true); resolutionRequest.setResolveRoot(false); ArtifactResolver resolver = getMavenComponent(ArtifactResolver.class); ArtifactResolutionResult resolve = resolver.resolve(resolutionRequest); mavenProject.setArtifacts(resolve.getArtifacts()); reference.set(new MavenResult(mavenProject, exceptions)); } catch (Exception e) { reference.set(new MavenResult(null, null, Collections.singletonList(e))); } }); return reference.get(); }
From source file:org.jetbrains.idea.maven.server.Maven30ServerEmbedderImpl.java
License:Apache License
@Nonnull public MavenExecutionResult doResolveProject(@Nonnull final File file, @Nonnull final List<String> activeProfiles, @Nonnull final List<String> inactiveProfiles, final List<ResolutionListener> listeners) throws RemoteException { final MavenExecutionRequest request = createRequest(file, activeProfiles, inactiveProfiles, Collections.<String>emptyList()); request.setUpdateSnapshots(myAlwaysUpdateSnapshots); final AtomicReference<MavenExecutionResult> ref = new AtomicReference<MavenExecutionResult>(); executeWithMavenSession(request, new Runnable() { @Override/*from ww w. j a v a 2 s .c o m*/ public void run() { try { // copied from DefaultMavenProjectBuilder.buildWithDependencies ProjectBuilder builder = getComponent(ProjectBuilder.class); CustomMaven3ModelInterpolator2 modelInterpolator = (CustomMaven3ModelInterpolator2) getComponent( ModelInterpolator.class); String savedLocalRepository = modelInterpolator.getLocalRepository(); modelInterpolator.setLocalRepository(request.getLocalRepositoryPath().getAbsolutePath()); List<ProjectBuildingResult> results; try { // Don't use build(File projectFile, ProjectBuildingRequest request) , because it don't use cache !!!!!!!! (see http://devnet.jetbrains.com/message/5500218) results = builder.build(Collections.singletonList(new File(file.getPath())), false, request.getProjectBuildingRequest()); } finally { modelInterpolator.setLocalRepository(savedLocalRepository); } ProjectBuildingResult buildingResult = results.get(0); MavenProject project = buildingResult.getProject(); RepositorySystemSession repositorySession = getComponent(LegacySupport.class) .getRepositorySession(); if (repositorySession instanceof DefaultRepositorySystemSession) { ((DefaultRepositorySystemSession) repositorySession) .setTransferListener(new Maven30TransferListenerAdapter(myCurrentIndicator)); if (myWorkspaceMap != null) { ((DefaultRepositorySystemSession) repositorySession) .setWorkspaceReader(new Maven30WorkspaceReader(myWorkspaceMap)); } } List<Exception> exceptions = new ArrayList<Exception>(); loadExtensions(project, exceptions); //Artifact projectArtifact = project.getArtifact(); //Map managedVersions = project.getManagedVersionMap(); //ArtifactMetadataSource metadataSource = getComponent(ArtifactMetadataSource.class); project.setDependencyArtifacts( project.createArtifacts(getComponent(ArtifactFactory.class), null, null)); // if (USE_MVN2_COMPATIBLE_DEPENDENCY_RESOLVING) { ArtifactResolutionRequest resolutionRequest = new ArtifactResolutionRequest(); resolutionRequest.setArtifactDependencies(project.getDependencyArtifacts()); resolutionRequest.setArtifact(project.getArtifact()); resolutionRequest.setManagedVersionMap(project.getManagedVersionMap()); resolutionRequest.setLocalRepository(myLocalRepository); resolutionRequest.setRemoteRepositories(project.getRemoteArtifactRepositories()); resolutionRequest.setListeners(listeners); resolutionRequest.setResolveRoot(false); resolutionRequest.setResolveTransitively(true); ArtifactResolver resolver = getComponent(ArtifactResolver.class); ArtifactResolutionResult result = resolver.resolve(resolutionRequest); project.setArtifacts(result.getArtifacts()); // end copied from DefaultMavenProjectBuilder.buildWithDependencies ref.set(new MavenExecutionResult(project, exceptions)); } else { final DependencyResolutionResult dependencyResolutionResult = resolveDependencies(project, repositorySession); final List<Dependency> dependencies = dependencyResolutionResult.getDependencies(); Set<Artifact> artifacts = new LinkedHashSet<Artifact>(dependencies.size()); for (Dependency dependency : dependencies) { final Artifact artifact = RepositoryUtils.toArtifact(dependency.getArtifact()); artifact.setScope(dependency.getScope()); artifact.setOptional(dependency.isOptional()); artifacts.add(artifact); resolveAsModule(artifact); } project.setArtifacts(artifacts); ref.set(new MavenExecutionResult(project, dependencyResolutionResult, exceptions)); } } catch (Exception e) { ref.set(handleException(e)); } } }); return ref.get(); }
From source file:org.jetbrains.idea.maven.server.Maven32ServerEmbedderImpl.java
License:Apache License
@Nonnull public MavenExecutionResult doResolveProject(@Nonnull final File file, @Nonnull final List<String> activeProfiles, @Nonnull final List<String> inactiveProfiles, final List<ResolutionListener> listeners) throws RemoteException { final MavenExecutionRequest request = createRequest(file, activeProfiles, inactiveProfiles, Collections.<String>emptyList()); request.setUpdateSnapshots(myAlwaysUpdateSnapshots); final AtomicReference<MavenExecutionResult> ref = new AtomicReference<MavenExecutionResult>(); executeWithMavenSession(request, new Runnable() { @Override/*from w w w . j ava 2 s. c om*/ public void run() { try { // copied from DefaultMavenProjectBuilder.buildWithDependencies ProjectBuilder builder = getComponent(ProjectBuilder.class); CustomMaven3ModelInterpolator2 modelInterpolator = (CustomMaven3ModelInterpolator2) getComponent( ModelInterpolator.class); String savedLocalRepository = modelInterpolator.getLocalRepository(); modelInterpolator.setLocalRepository(request.getLocalRepositoryPath().getAbsolutePath()); List<ProjectBuildingResult> results; try { // Don't use build(File projectFile, ProjectBuildingRequest request) , because it don't use cache !!!!!!!! (see http://devnet.jetbrains.com/message/5500218) results = builder.build(Collections.singletonList(new File(file.getPath())), false, request.getProjectBuildingRequest()); } finally { modelInterpolator.setLocalRepository(savedLocalRepository); } ProjectBuildingResult buildingResult = results.get(0); MavenProject project = buildingResult.getProject(); RepositorySystemSession repositorySession = getComponent(LegacySupport.class) .getRepositorySession(); if (repositorySession instanceof DefaultRepositorySystemSession) { ((DefaultRepositorySystemSession) repositorySession) .setTransferListener(new TransferListenerAdapter(myCurrentIndicator)); if (myWorkspaceMap != null) { ((DefaultRepositorySystemSession) repositorySession) .setWorkspaceReader(new Maven32WorkspaceReader(myWorkspaceMap)); } } List<Exception> exceptions = new ArrayList<Exception>(); loadExtensions(project, exceptions); //Artifact projectArtifact = project.getArtifact(); //Map managedVersions = project.getManagedVersionMap(); //ArtifactMetadataSource metadataSource = getComponent(ArtifactMetadataSource.class); project.setDependencyArtifacts( project.createArtifacts(getComponent(ArtifactFactory.class), null, null)); // if (USE_MVN2_COMPATIBLE_DEPENDENCY_RESOLVING) { ArtifactResolutionRequest resolutionRequest = new ArtifactResolutionRequest(); resolutionRequest.setArtifactDependencies(project.getDependencyArtifacts()); resolutionRequest.setArtifact(project.getArtifact()); resolutionRequest.setManagedVersionMap(project.getManagedVersionMap()); resolutionRequest.setLocalRepository(myLocalRepository); resolutionRequest.setRemoteRepositories(project.getRemoteArtifactRepositories()); resolutionRequest.setListeners(listeners); resolutionRequest.setResolveRoot(false); resolutionRequest.setResolveTransitively(true); ArtifactResolver resolver = getComponent(ArtifactResolver.class); ArtifactResolutionResult result = resolver.resolve(resolutionRequest); project.setArtifacts(result.getArtifacts()); // end copied from DefaultMavenProjectBuilder.buildWithDependencies ref.set(new MavenExecutionResult(project, exceptions)); } else { final DependencyResolutionResult dependencyResolutionResult = resolveDependencies(project, repositorySession); final List<Dependency> dependencies = dependencyResolutionResult.getDependencies(); Set<Artifact> artifacts = new LinkedHashSet<Artifact>(dependencies.size()); for (Dependency dependency : dependencies) { final Artifact artifact = RepositoryUtils.toArtifact(dependency.getArtifact()); artifact.setScope(dependency.getScope()); artifact.setOptional(dependency.isOptional()); artifacts.add(artifact); resolveAsModule(artifact); } project.setArtifacts(artifacts); ref.set(new MavenExecutionResult(project, dependencyResolutionResult, exceptions)); } } catch (Exception e) { ref.set(handleException(e)); } } }); return ref.get(); }