Example usage for org.apache.maven.project DependencyResolutionException getResult

List of usage examples for org.apache.maven.project DependencyResolutionException getResult

Introduction

In this page you can find the example usage for org.apache.maven.project DependencyResolutionException getResult.

Prototype

public DependencyResolutionResult getResult() 

Source Link

Usage

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;
}