List of usage examples for org.apache.maven.project MavenProject setResolvedArtifacts
public void setResolvedArtifacts(Set<Artifact> artifacts)
From source file:org.eclipse.m2e.core.internal.embedder.MavenImpl.java
License:Open Source License
@SuppressWarnings("deprecation") public void execute(MavenSession session, MojoExecution execution, IProgressMonitor monitor) { Map<MavenProject, Set<Artifact>> artifacts = new HashMap<MavenProject, Set<Artifact>>(); Map<MavenProject, MavenProjectMutableState> snapshots = new HashMap<MavenProject, MavenProjectMutableState>(); for (MavenProject project : session.getProjects()) { artifacts.put(project, new LinkedHashSet<Artifact>(project.getArtifacts())); snapshots.put(project, MavenProjectMutableState.takeSnapshot(project)); }//from w ww . j a v a2 s . c o m try { MojoExecutor mojoExecutor = lookup(MojoExecutor.class); DependencyContext dependencyContext = mojoExecutor.newDependencyContext(session, Collections.singletonList(execution)); mojoExecutor.ensureDependenciesAreResolved(execution.getMojoDescriptor(), session, dependencyContext); lookup(BuildPluginManager.class).executeMojo(session, execution); } catch (Exception ex) { session.getResult().addException(ex); } finally { for (MavenProject project : session.getProjects()) { project.setArtifactFilter(null); project.setResolvedArtifacts(null); project.setArtifacts(artifacts.get(project)); MavenProjectMutableState snapshot = snapshots.get(project); if (snapshot != null) { snapshot.restore(project); } } } }
From source file:org.jetbrains.idea.maven.server.Maven30ServerEmbedderImpl.java
License:Apache License
/** * copied from {@link DefaultProjectBuilder#resolveDependencies(MavenProject, RepositorySystemSession)} *//*from w w w . j a v a2s. co m*/ private DependencyResolutionResult resolveDependencies(MavenProject project, RepositorySystemSession session) { DependencyResolutionResult resolutionResult; try { ProjectDependenciesResolver dependencyResolver = getComponent(ProjectDependenciesResolver.class); DefaultDependencyResolutionRequest resolution = new DefaultDependencyResolutionRequest(project, session); resolutionResult = dependencyResolver.resolve(resolution); } catch (DependencyResolutionException e) { resolutionResult = e.getResult(); } Set<Artifact> artifacts = new LinkedHashSet<Artifact>(); if (resolutionResult.getDependencyGraph() != null) { RepositoryUtils.toArtifacts(artifacts, resolutionResult.getDependencyGraph().getChildren(), Collections.singletonList(project.getArtifact().getId()), null); // Maven 2.x quirk: an artifact always points at the local repo, regardless whether resolved or not LocalRepositoryManager lrm = session.getLocalRepositoryManager(); for (Artifact artifact : artifacts) { if (!artifact.isResolved()) { String path = lrm.getPathForLocalArtifact(RepositoryUtils.toArtifact(artifact)); artifact.setFile(new File(lrm.getRepository().getBasedir(), path)); } } } project.setResolvedArtifacts(artifacts); project.setArtifacts(artifacts); return resolutionResult; }