List of usage examples for org.apache.maven.project ProjectBuildingResult getDependencyResolutionResult
DependencyResolutionResult getDependencyResolutionResult();
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; }