final CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(new Dependency(versionedArtifact, JavaScopes.RUNTIME)); final DependencyRequest dependencyRequest = new DependencyRequest( collectRequest, DependencyFilterUtils.andFilter(
pluginSession.setDependencyGraphTransformer( transformer ); CollectRequest request = new CollectRequest(); request.setRequestContext( REPOSITORY_CONTEXT ); request.setRepositories( repositories ); request.setRoot( new org.eclipse.aether.graph.Dependency( pluginArtifact, null ) ); for ( Dependency dependency : plugin.getDependencies() ) if ( !JavaScopes.SYSTEM.equals( pluginDep.getScope() ) ) pluginDep = pluginDep.setScope( JavaScopes.RUNTIME ); request.addDependency( pluginDep ); DependencyRequest depRequest = new DependencyRequest( request, resolutionFilter ); depRequest.setTrace( trace ); request.setTrace( RequestTrace.newChild( trace, depRequest ) ); node = repoSystem.collectDependencies( pluginSession, request ).getRoot(); node.accept( new GraphLogger() ); depRequest.setRoot( node ); repoSystem.resolveDependencies( session, depRequest );
artifactResult = REPOSITORY_SYSTEM.resolveArtifact(session, artifactRequest); } catch (ArtifactResolutionException e) { throw new RuntimeException(e); urls.add(artifactResult.getArtifact().getFile()); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(new Dependency(artifact, "compile")); for (RemoteRepository remoteRepo : remoteRepositories) { collectRequest.addRepository(remoteRepo); DependencyNode node = REPOSITORY_SYSTEM.collectDependencies(session, collectRequest).getRoot(); DependencyFilter filter = new ExclusionsDependencyFilter(Arrays.asList(excludes)); DependencyRequest dependencyRequest = new DependencyRequest(node, filter); REPOSITORY_SYSTEM.resolveDependencies(session, dependencyRequest); node.accept(nlg); for (Artifact cur : nlg.getArtifacts(false)) { urls.add(cur.getFile());
/** * 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 void processModule(DependencyNode moduleNode) { CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(moduleNode.getDependency()); collectRequest.setRepositories(projectRepos); try { DependencyNode rootNode = repoSystem.collectDependencies( session, collectRequest ).getRoot(); DependencyRequest request = new DependencyRequest(rootNode,null); DependencyResult result = repoSystem.resolveDependencies(session,request); moduleLibraries.put(moduleNode.getDependency().getArtifact(), new HashSet<Artifact>()); moduleDependencies.put(moduleNode.getDependency().getArtifact(), new HashSet<Artifact>()); getLog().info("processing module "+moduleNode.getDependency().getArtifact().getArtifactId()+":"); for(DependencyNode child : result.getRoot().getChildren()) { collectModuleDependencies(child,moduleNode.getDependency().getArtifact());
private Set<File> resolveAll(final DefaultArtifact art) { Dependency dependency = new Dependency(art, "compile"); CollectRequest collectRequest = new CollectRequest(dependency, remoteRepositories()); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setCollectRequest(collectRequest); Set<File> dependencies; try { dependencies = repoSystem.resolveDependencies(session, dependencyRequest) .getArtifactResults().stream() .map(a -> a.getArtifact().getFile()) .collect(toSet()); } catch (DependencyResolutionException drex) { dependencies = Optional.ofNullable(drex.getResult()).map(r -> { return r.getArtifactResults().stream() .flatMap(a -> { return Optional.ofNullable(a.getArtifact()).map(f -> f.getFile()) .map(Stream::of).orElseGet(Stream::empty); }) .collect(toSet()); }).orElse(new HashSet<>()); } return dependencies.stream() .filter(f -> !f.getName().endsWith(".pom")).collect(toSet()); }
continue; Dependency dependency2 = new Dependency(new DefaultArtifact(depend.getGroupId() + ":" + depend.getArtifactId() + ":jar:" + depend.getVersion()), "compile"); DelegatingClassLoader depDelLoader = new DelegatingClassLoader(previous); if (!dependency2.getArtifact().isSnapshot()) { if (dependency2.getArtifact().getFile() != null) { bimServerDependencies.add(new org.bimserver.plugins.Dependency(dependency2.getArtifact().getFile().toPath())); loadDependencies(dependency2.getArtifact().getFile().toPath(), depDelLoader); descriptorRequest.setArtifact(dependency2.getArtifact()); descriptorRequest.setRepositories(mavenPluginRepository.getRepositories()); ArtifactDescriptorResult descriptorResult = mavenPluginRepository.getSystem().readArtifactDescriptor(mavenPluginRepository.getSession(), descriptorRequest); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRootArtifact(descriptorResult.getArtifact()); collectRequest.setDependencies(descriptorResult.getDependencies()); collectRequest.setManagedDependencies(descriptorResult.getManagedDependencies()); collectRequest.setRepositories(descriptorResult.getRepositories()); DependencyNode node = mavenPluginRepository.getSystem().collectDependencies(mavenPluginRepository.getSession(), collectRequest).getRoot(); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setRoot(node); CollectResult collectResult = mavenPluginRepository.getSystem().collectDependencies(mavenPluginRepository.getSession(), collectRequest); collectResult.getRoot().accept(nlg);
CollectRequest collect = new CollectRequest(); collect.setRootArtifact( RepositoryUtils.toArtifact( project.getArtifact() ) ); collect.setRequestContext( "project" ); collect.setRepositories( project.getRemoteProjectRepositories() ); collect.addDependency( RepositoryUtils.toDependency( dependency, stereotypes ) ); collect.addDependency( dep ); collect.addManagedDependency( RepositoryUtils.toDependency( dependency, stereotypes ) ); DependencyRequest depRequest = new DependencyRequest( collect, filter ); depRequest.setTrace( trace ); collect.setTrace( RequestTrace.newChild( trace, depRequest ) ); node = repoSystem.collectDependencies( session, collect ).getRoot(); result.setDependencyGraph( node ); result.setDependencyGraph( e.getResult().getRoot() ); result.setCollectionErrors( e.getResult().getExceptions() ); depRequest.setRoot( node ); for ( DependencyNode child : node.getChildren() ) if ( !child.getRelocations().isEmpty() ) process( result, repoSystem.resolveDependencies( session, depRequest ).getArtifactResults() );
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; }
DependencyFilter dependencyFilter, List<RemoteRepository> remoteRepositories) throws DependencyCollectionException, DependencyResolutionException { CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(root); collectRequest.setDependencies(directDependencies); collectRequest.setManagedDependencies(managedDependencies); collectRequest.setRepositories(resolutionContext.getRemoteRepositories()); if (!collectRequest.getRepositories().contains(authenticatedRemoteRepository)) { collectRequest.addRepository(authenticatedRemoteRepository); try { logger.debug("Collecting dependencies for '{}'", printCollectRequest(collectRequest)); node = repositoryState.getSystem().collectDependencies(repositoryState.getSession(), collectRequest).getRoot(); logDependencyGraph(node, collectRequest); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setRoot(node); dependencyRequest.setCollectRequest(collectRequest); dependencyRequest.setFilter((node1, parents) -> !node1.getData().containsKey(ConflictResolver.CONFIG_PROP_VERBOSE) && (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());
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() ); }
session.setLocalRepositoryManager(system.newLocalRepositoryManager(session, localRepo)); if (parent.getDependency().isOptional()) { return false; return !dependencyNode.getDependency().isOptional(); }, ex.addAll(parent.getDependency().getExclusions()); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(new Dependency(new DefaultArtifact(root), JavaScopes.COMPILE)); collectRequest.addDependency(new Dependency(new DefaultArtifact(artifact), JavaScopes.COMPILE)); collectRequest.setRepositories(remotes); DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, filter); artifactResults = system.resolveDependencies(session, dependencyRequest).getArtifactResults();
CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(rootDependency); collectRequest.setRepositories(repositoryList); DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, dependencyFilter); getLog().debug("Root dependency name: " + rootDependency.toString()); if ((dependencyRequest.getCollectRequest() != null) && (dependencyRequest.getCollectRequest().getTrace() != null)){ getLog().debug("Root dependency request trace: " + dependencyRequest.getCollectRequest().getTrace().toString()); getLog().debug("Root dependency exclusions: " + rootDependency.getExclusions()); getLog().debug(LINE_SEPARATOR); repositorySystem.collectDependencies(repositorySystemSession, collectRequest).getRoot().getChildren(); for (DependencyNode dependencyNode : artifactDependencyNodes) { if (getLog().isDebugEnabled()) { getLog().debug("Dependency name: " + dependencyNode.toString()); if ((dependencyRequest.getCollectRequest() != null) && (dependencyRequest.getCollectRequest().getTrace() != null)){ getLog().debug("Dependency request trace: " + dependencyRequest.getCollectRequest().getTrace().toString()); ! containsEx(parsedExcludedArtifacts, dummyExclusion) && !((rootDependency.getExclusions() != null) && (containsEx(rootDependency.getExclusions(), dummyExclusion)) ) ) { Artifact returnedArtifact = repositorySystem.resolveArtifact(repositorySystemSession, new ArtifactRequest(dependencyNode)).getArtifact(); if ((!returnedArtifact.getArtifactId().startsWith(JMETER_ARTIFACT_PREFIX)) && (isLibraryArtifact(returnedArtifact))){
CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(new Dependency(artifact, "")); collectRequest.setRepositories(getRemoteRepos()); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setCollectRequest(collectRequest); DependencyResult dependencyResult = getSystem().resolveDependencies(getRepoSession(), dependencyRequest); dependencyResult.getRoot().accept(nlg); if (node.getDependency() != null) { Artifact x = node.getDependency().getArtifact(); if (x.getFile() != null) { getLog().debug("Found dependency: " + x + " for artifact: " + artifact);
CollectRequest collectRequest = new CollectRequest(); collectRequest.setRootArtifact(RepositoryUtils.toArtifact(project.getArtifact())); collectRequest.setRequestContext("project"); collectRequest.setRepositories(project.getRemoteProjectRepositories()); collectRequest.addDependency(RepositoryUtils.toDependency(dependency, stereotypes)); if (depMngt != null) { for (Dependency dependency : depMngt.getDependencies()) { collectRequest.addManagedDependency(RepositoryUtils.toDependency(dependency, stereotypes)); resolutionFilter = AndDependencyFilter.newInstance(collectionFilter, resolutionFilter); DependencyRequest depRequest = new DependencyRequest(collectRequest, resolutionFilter); DependencyNode node = aether.collectDependencies(session, collectRequest).getRoot(); depRequest.setRoot(node); List<File> processorpath = new ArrayList<>(); List<Exception> errors = new ArrayList<>(); for (ArtifactResult artifactResult : aether.resolveDependencies(session, depRequest).getArtifactResults()) { if (artifactResult.isResolved()) { processorpath.add(artifactResult.getArtifact().getFile());
protected List<Artifact> explodeDependencies(Artifact artifact) throws DependencyCollectionException { final List<Artifact> dependencies = new LinkedList<>(); CollectRequest exploreDependenciesRequest = new CollectRequest(new Dependency(artifact, "compile"), remoteRepos); CollectResult result = repositorySystem.collectDependencies(repoSession, exploreDependenciesRequest); final AtomicInteger level = new AtomicInteger(0); DependencyNode node = result.getRoot(); node.accept(new DependencyVisitor() { @Override public boolean visitEnter(DependencyNode node) {
private Collection<Artifact> resolveMavenTransitiveDependencies(Collection<MavenDependency> deps) throws IOException { RepositorySystem system = newMavenRepositorySystem(); RepositorySystemSession session = newRepositorySystemSession(system); CollectRequest req = new CollectRequest(); req.setDependencies(deps.stream() .map(d -> new Dependency(d.artifact, d.scope)) .collect(Collectors.toList())); req.setRepositories(repositories); DependencyRequest dependencyRequest = new DependencyRequest(req, null); synchronized (mutex) { try { return system.resolveDependencies(session, dependencyRequest) .getArtifactResults().stream() .map(ArtifactResult::getArtifact) .collect(Collectors.toSet()); } catch (DependencyResolutionException e) { throw new IOException(e); } } }
final CollectRequest request = new CollectRequest(); request.setRepositories(this.remoteRepositories); .addDependency(new Dependency(new DefaultArtifact(spec.groupId(), spec.artifactId(), spec.classifier(), "compile"))); CollectResult result = this.system.collectDependencies(this.session, request); result.getRoot().accept(gen); .filter(node -> !"system".equals(node.getDependency().getScope())) .map(node -> { final Artifact artifact = node.getArtifact(); return new ArtifactSpec(node.getDependency().getScope(), artifact.getGroupId(), artifact.getArtifactId(),
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 List<URL> resolveCoordinates(String[] coordinates) throws Exception { DefaultServiceLocator serviceLocator = MavenRepositorySystemUtils .newServiceLocator(); serviceLocator.addService(RepositoryConnectorFactory.class, BasicRepositoryConnectorFactory.class); serviceLocator.addService(TransporterFactory.class, HttpTransporterFactory.class); RepositorySystem repositorySystem = serviceLocator .getService(RepositorySystem.class); DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession(); LocalRepository localRepository = new LocalRepository( System.getProperty("user.home") + "/.m2/repository"); session.setLocalRepositoryManager( repositorySystem.newLocalRepositoryManager(session, localRepository)); CollectRequest collectRequest = new CollectRequest(null, Arrays.asList(new RemoteRepository.Builder("central", "default", "https://repo.maven.apache.org/maven2").build())); collectRequest.setDependencies(createDependencies(coordinates)); DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, null); DependencyResult result = repositorySystem.resolveDependencies(session, dependencyRequest); List<URL> resolvedArtifacts = new ArrayList<>(); for (ArtifactResult artifact : result.getArtifactResults()) { resolvedArtifacts.add(artifact.getArtifact().getFile().toURI().toURL()); } return resolvedArtifacts; }