node = repoSystem.collectDependencies( session, collect ).getRoot(); result.setDependencyGraph( node );
node = repoSystem.collectDependencies( pluginSession, request ).getRoot();
DependencyNode node = REPOSITORY_SYSTEM.collectDependencies(session, collectRequest).getRoot(); DependencyFilter filter = new ExclusionsDependencyFilter(Arrays.asList(excludes)); DependencyRequest dependencyRequest = new DependencyRequest(node, filter);
collectRequest.setManagedDependencies(descriptorResult.getManagedDependencies()); collectRequest.setRepositories(descriptorResult.getRepositories()); DependencyNode node = mavenPluginRepository.getSystem().collectDependencies(mavenPluginRepository.getSession(), collectRequest).getRoot(); CollectResult collectResult = mavenPluginRepository.getSystem().collectDependencies(mavenPluginRepository.getSession(), collectRequest);
try { logger.debug("Collecting dependencies for '{}'", printCollectRequest(collectRequest)); node = repositoryState.getSystem().collectDependencies(repositoryState.getSession(), collectRequest).getRoot(); logDependencyGraph(node, collectRequest); DependencyRequest dependencyRequest = new DependencyRequest();
public static Set<Artifact> transitiveDependencies(Artifact artifact) { RepositorySystem system = newRepositorySystem(); RepositorySystemSession session = newRepositorySystemSession(system); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(new Dependency(artifact, "")); collectRequest.setRepositories(repositories()); CollectResult collectResult = null; try { collectResult = system.collectDependencies(session, collectRequest); } catch (DependencyCollectionException e) { throw new RuntimeException(e); } PreorderNodeListGenerator visitor = new PreorderNodeListGenerator(); collectResult.getRoot().accept(visitor); return ImmutableSet.copyOf( visitor.getNodes().stream() .filter(d -> !d.getDependency().isOptional()) .map(DependencyNode::getArtifact) .collect(Collectors.toList())); }
private YggdrasilDependency resolveDependencies(@Nullable final Artifact defaultArtifact, @Nullable List<Dependency> mavenDependencies, final RepositorySystem repositorySystem, final RepositorySystemSession repositorySystemSession, final List<RemoteRepository> remoteRepositories) throws DependencyCollectionException, org.eclipse.aether.resolution.DependencyResolutionException { CollectRequest collectRequest = new CollectRequest(); if (defaultArtifact != null) { Dependency dependency = new Dependency((defaultArtifact), null); collectRequest.setRoot(dependency); } if (mavenDependencies != null && mavenDependencies.size() > 0) { collectRequest.setDependencies(mavenDependencies); } for (RemoteRepository remoteRepository : remoteRepositories) { collectRequest.addRepository(remoteRepository); } DependencyNode node = repositorySystem.collectDependencies(repositorySystemSession, collectRequest).getRoot(); if (logger.isDebugEnabled()) { Map<String, Object> logMap = new HashMap<>(); logMap.put(node.toString(), nodeToMap(node)); logger.debug("Collected the following dependencies: " + logMap); } DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setFilter(new ScopeDependencyFilter(null)); dependencyRequest.setRoot(node); repositorySystem.resolveDependencies(repositorySystemSession, dependencyRequest); return YggdrasilDependencyMavenUtil.fromDependencyNode(node, null); }
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; }
public static void main( String[] args ) throws Exception { System.out.println( "------------------------------------------------------------" ); System.out.println( GetDependencyTree.class.getSimpleName() ); RepositorySystem system = Booter.newRepositorySystem(); RepositorySystemSession session = Booter.newRepositorySystemSession( system ); Artifact artifact = new DefaultArtifact( "org.apache.maven:maven-aether-provider:3.1.0" ); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot( new Dependency( artifact, "" ) ); collectRequest.setRepositories( Booter.newRepositories( system, session ) ); CollectResult collectResult = system.collectDependencies( session, collectRequest ); collectResult.getRoot().accept( new ConsoleDependencyGraphDumper() ); }
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 CollectorResult collectDependencies( ProjectBuildingRequest buildingRequest, CollectRequest request ) throws DependencyCollectorException { RepositorySystemSession session = (RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); @SuppressWarnings( "unchecked" ) List<RemoteRepository> aetherRepositories = (List<RemoteRepository>) Invoker.invoke( RepositoryUtils.class, "toRepos", List.class, buildingRequest.getRemoteRepositories() ); request.setRepositories( aetherRepositories ); try { return new Maven31CollectorResult( repositorySystem.collectDependencies( session, request ) ); } catch ( DependencyCollectionException e ) { throw new DependencyCollectorException( e.getMessage(), e ); } }
protected DependencyNode resolveDependencies(RepositorySystemSession session, List<RemoteRepository> repos, DependencyNode pomNode, Dependency dependency, final Filter<Dependency> shouldExclude) throws FailedToResolveDependency { if (!DependencyFilters.matches(dependency, shouldExclude)) { CollectRequest cr = new CollectRequest(dependency, repos); //request.setRequestContext("runtime"); try { DependencyNode node = m_repoSystem.collectDependencies(session, cr).getRoot(); DependencyFilter filter = new DependencyFilter() { public boolean accept(DependencyNode node, List<DependencyNode> parents) { return !DependencyFilters.matches(node, shouldExclude); } }; DependencyRequest request = new DependencyRequest(cr, filter); m_repoSystem.resolveDependencies(session, request); return node; } catch (DependencyCollectionException e) { handleDependencyResolveFailure(pomNode, dependency, e); } catch (DependencyResolutionException e) { handleDependencyResolveFailure(pomNode, dependency, e); } } return null; }
public List<DependencyDescriptor> getArtifactDependecies( String artifactName ) { Artifact artifact = new DefaultArtifact( artifactName ); CollectRequest collectRequest = new CollectRequest(); Dependency root = new Dependency( artifact, "" ); collectRequest.setRoot( root ); for ( RemoteRepository repo : remoteRepositoriesForRequest ) { collectRequest.addRepository( repo ); } CollectResult collectResult; try { collectResult = aether.getSystem().collectDependencies( aether.getSession(), collectRequest ); } catch ( DependencyCollectionException e ) { throw new RuntimeException( e ); } CollectDependencyVisitor visitor = new CollectDependencyVisitor(); collectResult.getRoot().accept( visitor ); List<DependencyDescriptor> descriptors = new ArrayList<DependencyDescriptor>(); for ( DependencyNode node : visitor.getDependencies() ) { // skip root to not add artifact as dependency if ( node.getDependency().equals( root ) ) { continue; } descriptors.add( new DependencyDescriptor( node.getDependency().getArtifact() ) ); } return descriptors; }
public PreorderNodeListGenerator resolve(String coordinate, List<RemoteRepository> repositories) throws MavenResolverException { try { Dependency project = new Dependency(new DefaultArtifact(coordinate), "compile"); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(project); for (RemoteRepository repo : repositories) { collectRequest.addRepository(repo); } DependencyNode node = this.repoSystem.collectDependencies(this.session, collectRequest).getRoot(); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setRoot(node); this.repoSystem.resolveDependencies(session, dependencyRequest); PreorderNodeListGenerator nlg = new PreorderNodeListGenerator(); node.accept(nlg); return nlg; } catch (DependencyCollectionException | DependencyResolutionException e) { throw new MavenResolverException("Unable to resolve " + coordinate + " from " + repositories.toString(), e); } }
public static void main( String[] args ) throws Exception { System.out.println( "------------------------------------------------------------" ); System.out.println( GetDependencyHierarchy.class.getSimpleName() ); RepositorySystem system = Booter.newRepositorySystem(); DefaultRepositorySystemSession session = Booter.newRepositorySystemSession( system ); session.setConfigProperty( ConflictResolver.CONFIG_PROP_VERBOSE, true ); session.setConfigProperty( DependencyManagerUtils.CONFIG_PROP_VERBOSE, true ); Artifact artifact = new DefaultArtifact( "org.apache.maven:maven-aether-provider:3.1.0" ); ArtifactDescriptorRequest descriptorRequest = new ArtifactDescriptorRequest(); descriptorRequest.setArtifact( artifact ); descriptorRequest.setRepositories( Booter.newRepositories( system, session ) ); ArtifactDescriptorResult descriptorResult = system.readArtifactDescriptor( session, descriptorRequest ); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRootArtifact( descriptorResult.getArtifact() ); collectRequest.setDependencies( descriptorResult.getDependencies() ); collectRequest.setManagedDependencies( descriptorResult.getManagedDependencies() ); collectRequest.setRepositories( descriptorRequest.getRepositories() ); CollectResult collectResult = system.collectDependencies( session, collectRequest ); collectResult.getRoot().accept( new ConsoleDependencyGraphDumper() ); }
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 static List<URL> extractURLClassPath(String artifact) throws DependencyCollectionException, DependencyResolutionException { RepositorySystem repoSystem = AetherHelper.newRepositorySystem(); RepositorySystemSession session = AetherHelper.newRepositorySystemSession( repoSystem ); Dependency dependency = new Dependency( new DefaultArtifact( artifact ), "compile" ); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot( dependency ); collectRequest.setRepositories(remoteUserRepos); 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 ); List<URL> urls = extractDependencies(node); return urls; } private static List<URL> extractDependencies(DependencyNode dependencyNode) {
public boolean attemptLibraryDownload(String name, String url, DownloadListener listener) { Dependency dependency = new Dependency(new DefaultArtifact(name), "compile"); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(dependency); if (url != null) collectRequest.addRepository(new RemoteRepository.Builder("targetted", "default", url).build()); for (RemoteRepository repo : defaultRepositories) { collectRequest.addRepository(repo); } try { DependencyNode node = system.collectDependencies(session, collectRequest).getRoot(); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setRoot(node); if (listener != null) session.setTransferListener(new MavenListenerAdapter(listener)); system.resolveDependencies(session, dependencyRequest); return true; } catch (DependencyCollectionException ex) { return false; } catch (DependencyResolutionException ex) { return false; } } }
private DependencyNode getDependencyTree(Artifact artifact) throws MojoExecutionException { try { CollectRequest collectRequest = new CollectRequest(new Dependency(artifact, "compile"), null, projectRepositories); DefaultRepositorySystemSession session = new DefaultRepositorySystemSession(repositorySystemSession); session.setDependencySelector(new AndDependencySelector(new OptionalDependencySelector(), new ScopeDependencySelector1(), new ExclusionDependencySelector())); // between aether-util 0.9.0.M1 and M2, JavaEffectiveScopeCalculator was removed // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=397241 DependencyGraphTransformer transformer = new ChainedDependencyGraphTransformer(new ConflictMarker(), new ConflictResolver(new NearestVersionSelector(), new JavaScopeSelector(), new SimpleOptionalitySelector(), new JavaScopeDeriver()), new JavaDependencyContextRefiner()); session.setDependencyGraphTransformer(transformer); CollectResult result = repositorySystem.collectDependencies(session, collectRequest); return result.getRoot(); } catch (DependencyCollectionException e) { throw new MojoExecutionException("Cannot build project dependency tree", e); } }
private DependencyNode getDependencyTree(Artifact artifact) throws MojoExecutionException { try { CollectRequest collectRequest = new CollectRequest(new Dependency(artifact, "compile"), null, projectRepositories); DefaultRepositorySystemSession session = new DefaultRepositorySystemSession(repositorySystemSession); session.setDependencySelector(new AndDependencySelector(new OptionalDependencySelector(), new ScopeDependencySelector1(), new ExclusionDependencySelector())); // between aether-util 0.9.0.M1 and M2, JavaEffectiveScopeCalculator was removed // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=397241 DependencyGraphTransformer transformer = new ChainedDependencyGraphTransformer(new ConflictMarker(), new ConflictResolver(new NearestVersionSelector(), new JavaScopeSelector(), new SimpleOptionalitySelector(), new JavaScopeDeriver()), new JavaDependencyContextRefiner()); session.setDependencyGraphTransformer(transformer); CollectResult result = repositorySystem.collectDependencies(session, collectRequest); return result.getRoot(); } catch (DependencyCollectionException e) { throw new MojoExecutionException("Cannot build project dependency tree", e); } }