List of usage examples for org.apache.maven.project DependencyResolutionException getResult
public DependencyResolutionResult getResult()
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 va 2s.c o 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; }
From source file:org.sourcepit.maven.dependency.model.aether.AetherDependencyModelResolver.java
License:Apache License
private DependencyModel resolve(@NotNull MavenProject project, boolean resolveRoot, ArtifactAttachmentFactory attachmentFactory) throws DependencyResolutionException { project = filterUnconnectableRepos(project); final DependencyModelBuilder modelBuilder = new DependencyModelBuilder(attachmentFactory); final RepositorySystemSession repositorySession = newRepositorySystemSession(project, resolveRoot, modelBuilder);/*www . j ava2 s . c om*/ final DefaultDependencyResolutionRequest resolutionRequest = new DefaultDependencyResolutionRequest(); resolutionRequest.setMavenProject(project); resolutionRequest.setRepositorySession(repositorySession); resolutionRequest.setResolutionFilter(new ScopeDependencyFilter("test")); DependencyResolutionResult resolutionResult; try { resolutionResult = dependenciesResolver.resolve(resolutionRequest); } catch (DependencyResolutionException e) { resolutionResult = e.getResult(); } final Collection<org.eclipse.aether.artifact.Artifact> resolvedAttachments; try { resolvedAttachments = attachmentResolver.resolveAttachments(repositorySession, resolutionResult.getDependencyGraph()); } catch (ArtifactResolutionException e) { throw pipe(e); } final DependencyModel model = modelBuilder.getDependencyModel(); applyResolvedArtifacts(project, resolutionResult, resolvedAttachments, model); final DependencyNode dependencyGraph = resolutionResult.getDependencyGraph(); if (resolveRoot) { addNodeArtifact(model.getRootArtifacts(), model, dependencyGraph); } else { for (DependencyNode dependencyNode : dependencyGraph.getChildren()) { addNodeArtifact(model.getRootArtifacts(), model, dependencyNode); } } return model; }