Example usage for org.apache.maven.project ProjectBuildingResult getDependencyResolutionResult

List of usage examples for org.apache.maven.project ProjectBuildingResult getDependencyResolutionResult

Introduction

In this page you can find the example usage for org.apache.maven.project ProjectBuildingResult getDependencyResolutionResult.

Prototype

DependencyResolutionResult getDependencyResolutionResult();

Source Link

Document

Gets the result of the dependency resolution for the project.

Usage

From source file:net.oneandone.maven.embedded.Maven.java

License:Apache License

public MavenProject loadPom(FileNode file, boolean resolve, Properties userProperties, List<String> profiles,
        List<Dependency> dependencies) throws RepositoryException, ProjectBuildingException {
    ProjectBuildingRequest request;//from www  .jav a  2s.  c  o m
    ProjectBuildingResult result;
    List<Exception> problems;

    request = new DefaultProjectBuildingRequest();
    request.setRepositorySession(repositorySession);
    request.setRemoteRepositories(remoteLegacy);
    request.setProcessPlugins(false);
    request.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);
    request.setSystemProperties(System.getProperties());
    if (userProperties != null) {
        request.setUserProperties(userProperties);
    }
    // If you don't turn this into RepositoryMerging.REQUEST_DOMINANT the dependencies will be resolved against Maven Central
    // and not against the configured repositories. The default of the DefaultProjectBuildingRequest is
    // RepositoryMerging.POM_DOMINANT.
    request.setRepositoryMerging(ProjectBuildingRequest.RepositoryMerging.REQUEST_DOMINANT);
    request.setResolveDependencies(resolve);
    if (profiles != null) {
        request.setActiveProfileIds(profiles);
    }
    result = builder.build(file.toPath().toFile(), request);

    // TODO: i've seen these collection errors for a dependency with ranges. Why does Aether NOT throw an exception in this case?
    if (result.getDependencyResolutionResult() != null) {
        problems = result.getDependencyResolutionResult().getCollectionErrors();
        if (problems != null && !problems.isEmpty()) {
            throw new RepositoryException("collection errors: " + problems.toString(), problems.get(0));
        }
    }

    if (dependencies != null) {
        if (!resolve) {
            throw new IllegalArgumentException();
        }
        dependencies.addAll(result.getDependencyResolutionResult().getDependencies());
    }
    return result.getProject();
}

From source file:org.appformer.maven.integration.embedder.MavenEmbedder.java

License:Apache License

public MavenProject readProject(final InputStream mavenProjectStream)
        throws ProjectBuildingException, MavenEmbedderException {
    ModelSource modelSource = new ModelSource() {
        @Override//from  w w  w. j av  a2 s.  c  o m
        public InputStream getInputStream() throws IOException {
            return mavenProjectStream;
        }

        @Override
        public String getLocation() {
            return "";
        }
    };

    ClassLoader originalCl = Thread.currentThread().getContextClassLoader();
    try {
        Thread.currentThread().setContextClassLoader(componentProvider.getSystemClassLoader());
        ProjectBuilder projectBuilder = componentProvider.lookup(ProjectBuilder.class);
        // BZ-1007894: Check if added dependencies are resolvable.
        ProjectBuildingResult result = projectBuilder.build(modelSource, getProjectBuildingRequest());
        if (result != null && result.getDependencyResolutionResult() != null
                && !result.getDependencyResolutionResult().getCollectionErrors().isEmpty()) {
            // A dependency resolution error has been produced. It can contains some error. Throw the first one to the client, so the user will fix every one sequentially.
            Exception depedencyResolutionException = result.getDependencyResolutionResult()
                    .getCollectionErrors().get(0);
            if (depedencyResolutionException != null) {
                throw new MavenEmbedderException(depedencyResolutionException.getMessage(),
                        depedencyResolutionException);
            }
        }
        return result.getProject();
    } catch (ComponentLookupException e) {
        throw new MavenEmbedderException(e.getMessage(), e);
    } finally {
        Thread.currentThread().setContextClassLoader(originalCl);
        try {
            mavenProjectStream.close();
        } catch (IOException e) {
        }
    }
}

From source file:org.eclipse.m2e.core.internal.embedder.MavenImpl.java

License:Open Source License

public MavenExecutionResult readMavenProject(File pomFile, ProjectBuildingRequest configuration)
        throws CoreException {
    long start = System.currentTimeMillis();

    log.debug("Reading Maven project: {}", pomFile.getAbsoluteFile()); //$NON-NLS-1$
    MavenExecutionResult result = new DefaultMavenExecutionResult();
    try {//from   ww w . j a  va  2 s.c  o m
        configuration.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);
        ProjectBuildingResult projectBuildingResult = lookup(ProjectBuilder.class).build(pomFile,
                configuration);
        result.setProject(projectBuildingResult.getProject());
        result.setDependencyResolutionResult(projectBuildingResult.getDependencyResolutionResult());
    } catch (ProjectBuildingException ex) {
        if (ex.getResults() != null && ex.getResults().size() == 1) {
            ProjectBuildingResult projectBuildingResult = ex.getResults().get(0);
            result.setProject(projectBuildingResult.getProject());
            result.setDependencyResolutionResult(projectBuildingResult.getDependencyResolutionResult());
        }
        result.addException(ex);
    } finally {
        log.debug("Read Maven project: {} in {} ms", pomFile.getAbsoluteFile(), //$NON-NLS-1$
                System.currentTimeMillis() - start);
    }
    return result;
}

From source file:org.jboss.forge.addon.maven.projects.facets.MavenDependencyFacet.java

License:Open Source License

@Override
public List<Dependency> getEffectiveDependencies() {
    List<Dependency> result = new ArrayList<>();

    MavenFacetImpl maven = getFaceted().getFacet(MavenFacetImpl.class);
    try {//from  www.ja  v  a 2 s .  c o m
        ProjectBuildingResult projectBuildingResult = maven.getProjectBuildingResult();
        DependencyResolutionResult dependencyResolutionResult = projectBuildingResult
                .getDependencyResolutionResult();
        List<Dependency> deps = MavenDependencyAdapter
                .fromAetherList(dependencyResolutionResult.getDependencies());

        for (Dependency dependency : deps) {
            result.add(resolveProperties(dependency));
        }
    } catch (Exception e) {
        log.log(Level.SEVERE, "Could not resolve managed dependencies in project ["
                + maven.getModelResource().getFullyQualifiedName() + "]. ", e);
    }

    return result;
}

From source file:org.jboss.forge.arquillian.maven.ProjectHelper.java

License:Open Source License

public List<Dependency> resolveDependenciesFromPOM(File pomFile) throws Exception {
    PlexusContainer plexus = new PlexusContainer();
    List<Dependency> result;
    try {/*from  w  ww . j  a  v a  2 s . co m*/
        ProjectBuildingRequest request = getBuildingRequest(plexus);
        request.setResolveDependencies(true);
        ProjectBuilder builder = plexus.lookup(ProjectBuilder.class);
        ProjectBuildingResult build = builder.build(pomFile, request);
        result = build.getDependencyResolutionResult().getDependencies();
    } finally {
        plexus.shutdown();
    }
    return result;
}

From source file:org.kie.scanner.embedder.MavenEmbedder.java

License:Apache License

public MavenProject readProject(final InputStream mavenProjectStream)
        throws ProjectBuildingException, MavenEmbedderException {
    ModelSource modelSource = new ModelSource() {
        @Override//from  w ww  . j  av a 2 s.  c  o m
        public InputStream getInputStream() throws IOException {
            return mavenProjectStream;
        }

        @Override
        public String getLocation() {
            return "";
        }
    };

    ClassLoader originalCl = Thread.currentThread().getContextClassLoader();
    try {
        Thread.currentThread().setContextClassLoader(this.plexusContainer.getContainerRealm());
        ProjectBuilder projectBuilder = lookup(ProjectBuilder.class);
        // BZ-1007894: Check if added dependencies are resolvable.
        ProjectBuildingResult result = projectBuilder.build(modelSource, getProjectBuildingRequest());
        if (result != null && result.getDependencyResolutionResult() != null
                && !result.getDependencyResolutionResult().getCollectionErrors().isEmpty()) {
            // A dependency resolution error has been produced. It can contains some error. Throw the first one to the client, so the user will fix every one sequentially.
            Exception depedencyResolutionException = result.getDependencyResolutionResult()
                    .getCollectionErrors().get(0);
            if (depedencyResolutionException != null)
                throw new MavenEmbedderException(depedencyResolutionException.getMessage(),
                        depedencyResolutionException);
        }
        return result.getProject();
    } catch (ComponentLookupException e) {
        throw new MavenEmbedderException(e.getMessage(), e);
    } finally {
        Thread.currentThread().setContextClassLoader(originalCl);
        try {
            mavenProjectStream.close();
        } catch (IOException e) {
        }
    }
}

From source file:org.springframework.boot.loader.thin.DependencyResolver.java

License:Apache License

public List<Dependency> dependencies(final Resource resource, final Properties properties) {
    initialize();//from   w  ww.  j  av  a  2s. c o m
    try {
        ProjectBuildingRequest request = getProjectBuildingRequest(properties);
        request.setResolveDependencies(true);
        synchronized (DependencyResolver.class) {
            ProjectBuildingResult result = projectBuilder.build(new PropertiesModelSource(properties, resource),
                    request);
            DependencyResolver.globals = null;
            return runtime(result.getDependencyResolutionResult().getDependencies());
        }
    } catch (Exception e) {
        throw new IllegalStateException("Cannot build model", e);
    }
}

From source file:org.springframework.cloud.function.compiler.java.DependencyResolver.java

License:Apache License

public List<Dependency> dependencies(final Resource resource, final Properties properties) {
    initialize();//from w  w w  . ja v  a2s .c  o  m
    try {
        ProjectBuildingRequest request = getProjectBuildingRequest(properties);
        request.setResolveDependencies(true);
        synchronized (DependencyResolver.class) {
            ProjectBuildingResult result = this.projectBuilder
                    .build(new PropertiesModelSource(properties, resource), request);
            DependencyResolver.globals = null;
            DependencyResolutionResult dependencies = result.getDependencyResolutionResult();
            if (!dependencies.getUnresolvedDependencies().isEmpty()) {
                StringBuilder builder = new StringBuilder();
                for (Dependency dependency : dependencies.getUnresolvedDependencies()) {
                    List<Exception> errors = dependencies.getResolutionErrors(dependency);
                    for (Exception exception : errors) {
                        if (builder.length() > 0) {
                            builder.append("\n");
                        }
                        builder.append(exception.getMessage());
                    }
                }
                throw new RuntimeException(builder.toString());
            }
            return runtime(dependencies.getDependencies());
        }
    } catch (ProjectBuildingException | NoLocalRepositoryManagerException e) {
        throw new IllegalStateException("Cannot build model", e);
    }
}

From source file:org.springframework.ide.vscode.commons.maven.MavenBridge.java

License:Open Source License

public MavenExecutionResult readMavenProject(File pomFile, ProjectBuildingRequest configuration)
        throws MavenException {
    long start = System.currentTimeMillis();

    log.debug("Reading Maven project: {}", pomFile.getAbsoluteFile()); //$NON-NLS-1$
    MavenExecutionResult result = new DefaultMavenExecutionResult();
    try {//from www .  j a  v  a  2  s .  c om
        configuration.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL);
        ProjectBuildingResult projectBuildingResult = lookup(ProjectBuilder.class).build(pomFile,
                configuration);
        result.setProject(projectBuildingResult.getProject());
        result.setDependencyResolutionResult(projectBuildingResult.getDependencyResolutionResult());
    } catch (ProjectBuildingException ex) {
        if (ex.getResults() != null && ex.getResults().size() == 1) {
            ProjectBuildingResult projectBuildingResult = ex.getResults().get(0);
            result.setProject(projectBuildingResult.getProject());
            result.setDependencyResolutionResult(projectBuildingResult.getDependencyResolutionResult());
        }
        result.addException(ex);
    } catch (RuntimeException e) {
        result.addException(e);
    } finally {
        log.debug("Read Maven project: {} in {} ms", pomFile.getAbsoluteFile(), //$NON-NLS-1$
                System.currentTimeMillis() - start);
    }
    return result;
}