/** * Resolve dependencies and return downloaded information of artifacts. * * @param dependencies the list of dependency * @return downloaded information of artifacts * @throws DependencyResolutionException If the dependency tree could not be built or any dependency * artifact could not be resolved. * @throws ArtifactResolutionException If the artifact could not be resolved. */ public List<ArtifactResult> resolve(List<Dependency> dependencies) throws DependencyResolutionException, ArtifactResolutionException { if (dependencies.size() == 0) { return Collections.EMPTY_LIST; } CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(dependencies.get(0)); for (int idx = 1; idx < dependencies.size(); idx++) { collectRequest.addDependency(dependencies.get(idx)); } for (RemoteRepository repository : remoteRepositories) { collectRequest.addRepository(repository); } DependencyFilter classpathFilter = DependencyFilterUtils .classpathFilter(JavaScopes.COMPILE, JavaScopes.RUNTIME); DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, classpathFilter); return system.resolveDependencies(session, dependencyRequest).getArtifactResults(); }
private DependencyResult resolveDependencies(DependencyRequest dependencyRequest) { try { return repositorySystem.resolveDependencies(session, dependencyRequest); } catch (DependencyResolutionException e) { throw new ArtifactResolutionException("Unable to resolve dependencies", e); } }
process( result, repoSystem.resolveDependencies( session, depRequest ).getArtifactResults() );
repoSystem.resolveDependencies( session, depRequest );
DependencyRequest dependencyRequest = new DependencyRequest(node, filter); REPOSITORY_SYSTEM.resolveDependencies(session, dependencyRequest);
mavenPluginRepository.getSystem().resolveDependencies(mavenPluginRepository.getSession(), dependencyRequest); } catch (DependencyResolutionException e) {
&& (dependencyFilter == null || dependencyFilter.accept(node1, parents))); node = repositoryState.getSystem().resolveDependencies(repositoryState.getSession(), dependencyRequest).getRoot(); } catch (DependencyResolutionException e) { logger.warn("Dependencies couldn't be resolved for request '{}', {}", collectRequest, e.getMessage());
private List<ArtifactResult> resolveArtifacts(List<RemoteRepository> repositories, String dep) { DependencyRequest depRequest = buildDependencyRequest(repositories, dep, JavaScopes.RUNTIME); try { return system.resolveDependencies(session, depRequest).getArtifactResults(); } catch (DependencyResolutionException ex) { throw Throwables.propagate(ex); } }
/** * Resolves artifact dependencies. * * The {@link ArtifactResult} contains a reference to a file in Maven local repository. * * @param repoSession The current Maven session * @param swrSession SWR Aether session abstraction * @param request The request to be computed * @param filters The filters of dependency results * @return A collection of artifacts which have built dependency tree from {@code request} * @throws DependencyResolutionException If a dependency could not be computed or collected */ public Collection<ArtifactResult> resolveDependencies(final RepositorySystemSession repoSession, final MavenWorkingSession swrSession, final CollectRequest request, final MavenResolutionFilter[] filters) throws DependencyResolutionException { final DependencyRequest depRequest = new DependencyRequest(request, new MavenResolutionFilterWrap(filters, Collections.unmodifiableList(new ArrayList<MavenDependency>(swrSession.getDependenciesForResolution())))); DependencyResult result = system.resolveDependencies(repoSession, depRequest); return result.getArtifactResults(); }
public List<Artifact> resolveArtifacts(DependencyRequest request) throws DependencyResolutionException { // // We are attempting to encapsulate everything about resolution with this library. The dependency request requires // the collect request to have repositories set but this is all injected within this component so we have to set them. // CollectRequest collectRequest = request.getCollectRequest(); if (collectRequest.getRepositories() == null || collectRequest.getRepositories().isEmpty()) { for (RemoteRepository remoteRepository : remoteRepositories) { collectRequest.addRepository(remoteRepository); } } DependencyResult result = system.resolveDependencies(session, request); List<Artifact> artifacts = new ArrayList<Artifact>(); for (ArtifactResult ar : result.getArtifactResults()) { artifacts.add(ar.getArtifact()); } return artifacts; }
protected DependencyNode getDependencyNode(PreorderNodeListGenerator nlg) throws Exception { CollectRequest collectRequest = DependencyUtils.getCollectRequest(project, repos, JavaScopes.RUNTIME); DependencyNode root = system.collectDependencies(session, collectRequest).getRoot(); DependencyRequest dependencyRequest = new DependencyRequest(root, null); system.resolveDependencies(session, dependencyRequest); root.accept(nlg); return root; }
private Set<ArtifactResult> resolveDependencies(final Dependency dependency) { try { final CollectRequest collectRequest = new CollectRequest(new org.eclipse.aether.graph.Dependency(resolve(dependency).getArtifact(), ""), remoteRepos); return set(repoSystem.resolveDependencies(repoSession, new DependencyRequest(collectRequest, null)).getArtifactResults()); } catch (final DependencyResolutionException e) { warn("\t\t[Resolve] Failed to resolve: [" + coords(dependency) + "]"); return new HashSet<>(); } }
private List<File> resolve(List<Dependency> dependencies) throws ArtifactResolutionException { try { CollectRequest collectRequest = getCollectRequest(dependencies); DependencyRequest dependencyRequest = getDependencyRequest(collectRequest); DependencyResult result = this.repositorySystem .resolveDependencies(this.session, dependencyRequest); addManagedDependencies(result); return getFiles(result); } catch (Exception ex) { throw new DependencyResolutionFailedException(ex); } finally { this.progressReporter.finished(); } }
public static void main( String[] args ) throws Exception { RepositorySystem repoSystem = newRepositorySystem(); RepositorySystemSession session = newSession( repoSystem ); DefaultArtifact artifact = new DefaultArtifact( "org.apache.maven:maven-profile:2.2.1" ); Dependency dependency = new Dependency( artifact , "compile"); RemoteRepository central = new RemoteRepository.Builder( "central", "default", "http://repo1.maven.org/maven2/" ).build(); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot( dependency ); collectRequest.addRepository( central ); DependencyNode node = repoSystem.collectDependencies( session, collectRequest ).getRoot(); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setRoot( node ); repoSystem.resolveDependencies( session, dependencyRequest ); PreorderNodeListGenerator nlg = new PreorderNodeListGenerator(); node.accept( nlg ); System.out.println( nlg.getClassPath() ); }
private void installDependency(String groupId, String artifactId, String version, RepositorySystemSession session) throws DependencyResolutionException{ logger.info("Installing and Loading Dependency : {} - {} - {} ", groupId , artifactId, version); Dependency dependency = new Dependency( new DefaultArtifact(groupId, artifactId, "", "jar", version ), "compile" ); RemoteRepository central = new RemoteRepository.Builder( "central", "default", "http://central.maven.org/maven2/" ).build(); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot( dependency ); collectRequest.addRepository( central ); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setCollectRequest( collectRequest ); system.resolveDependencies(session, dependencyRequest ).getRoot(); }
private void installDependency(String groupId, String artifactId, String version, RepositorySystemSession session) throws DependencyResolutionException{ logger.info("Installing and Loading Dependency : {} - {} - {} ", groupId , artifactId, version); Dependency dependency = new Dependency( new DefaultArtifact(groupId, artifactId, "", "jar", version ), "compile" ); RemoteRepository central = new RemoteRepository.Builder( "central", "default", "http://central.maven.org/maven2/" ).build(); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot( dependency ); collectRequest.addRepository( central ); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setCollectRequest( collectRequest ); system.resolveDependencies(session, dependencyRequest ).getRoot(); }
protected List<ArtifactResult> getPomArtifact(String coords) { Artifact artifact = new DefaultArtifact(coords); DependencyFilter classpathFlter = DependencyFilterUtils.classpathFilter(JavaScopes.COMPILE); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(new Dependency(artifact, JavaScopes.COMPILE)); collectRequest.setRepositories(project.getRemotePluginRepositories()); DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, classpathFlter); List<ArtifactResult> artifactResults = null; try { artifactResults = system.resolveDependencies(systemSession, dependencyRequest).getArtifactResults(); } catch (DependencyResolutionException e) { // } return artifactResults; }
public List<Artifact> getDependencies(String groupId, String artifactId, String extension, String version) throws Exception { Artifact artifact = new DefaultArtifact(groupId, artifactId, extension, version); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(new Dependency( artifact, "")); collectRequest.setRepositories(Collections.emptyList()); DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, DependencyFilterUtils.classpathFilter(JavaScopes.COMPILE)); DependencyResult dependencyResult = system.resolveDependencies(session, dependencyRequest); List<Artifact> dependencies = new ArrayList<>(); for (ArtifactResult artifactResult : dependencyResult.getArtifactResults()) { if (!artifactResult.isResolved()) { throw new Exception("Could not resolve artifact " + artifactResult.getRequest().getArtifact()); } dependencies.add(artifactResult.getArtifact()); } return dependencies; }
private PreorderNodeListGenerator resolveInternal(String spec) throws DependencyCollectionException, DependencyResolutionException { Dependency dependency = new Dependency(new DefaultArtifact(spec), "compile"); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(dependency); for (RemoteRepository remote : remoteRepositories) { collectRequest.addRepository(remote); } DependencyNode node = repositorySystem.collectDependencies(session, collectRequest).getRoot(); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setRoot( node ); repositorySystem.resolveDependencies(session, dependencyRequest); PreorderNodeListGenerator nlg = new PreorderNodeListGenerator(); node.accept(nlg); return nlg; }
public AetherResult resolve( String groupId, String artifactId, String version ) throws DependencyResolutionException { RepositorySystemSession session = newSession(); Dependency dependency = new Dependency( new DefaultArtifact( groupId, artifactId, "", "jar", version ), "runtime" ); RemoteRepository central = new RemoteRepository.Builder( "central", "default", remoteRepository ).build(); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot( dependency ); collectRequest.addRepository( central ); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setCollectRequest( collectRequest ); DependencyNode rootNode = repositorySystem.resolveDependencies( session, dependencyRequest ).getRoot(); StringBuilder dump = new StringBuilder(); displayTree( rootNode, dump ); PreorderNodeListGenerator nlg = new PreorderNodeListGenerator(); rootNode.accept( nlg ); return new AetherResult( rootNode, nlg.getFiles(), nlg.getClassPath() ); }