private List<ArtifactResult> fetchArtifactWithDep(Dependency dep) throws DependencyResolutionException, ArtifactResolutionException { Artifact artifact = new DefaultArtifact(dep.getGroupArtifactVersion()); DependencyFilter classpathFilter = DependencyFilterUtils .classpathFilter(JavaScopes.COMPILE); PatternExclusionsDependencyFilter exclusionFilter = new PatternExclusionsDependencyFilter( dep.getExclusions()); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(new org.sonatype.aether.graph.Dependency(artifact, JavaScopes.COMPILE)); collectRequest.addRepository(mavenCentral); collectRequest.addRepository(mavenLocal); for (Repository repo : repositories) { RemoteRepository rr = new RemoteRepository(repo.getId(), "default", repo.getUrl()); rr.setPolicy(repo.isSnapshot(), null); collectRequest.addRepository(rr); } DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, DependencyFilterUtils.andFilter(exclusionFilter, classpathFilter)); return system.resolveDependencies(session, dependencyRequest).getArtifactResults(); }
@Override public CollectorResult collectDependencies( final ProjectBuildingRequest buildingRequest, org.apache.maven.model.Dependency root ) throws DependencyCollectorException { ArtifactTypeRegistry typeRegistry = (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry", ArtifactHandlerManager.class, artifactHandlerManager ); CollectRequest request = new CollectRequest(); request.setRoot( toDependency( root, typeRegistry ) ); return collectDependencies( buildingRequest, request ); }
new CollectRequest( aetherDependencies, aetherManagedDependencies, aetherRepositories );
private void resolve( ResolveRequest resolveRequest ) { RepositorySystem system = newRepositorySystem(); RepositorySystemSession session = newRepositorySystemSession( system, resolveRequest.localRepoDir ); org.sonatype.aether.artifact.Artifact artifact = new DefaultArtifact( resolveRequest.groupId + ":" + resolveRequest.artifactId + ":" + resolveRequest.version ); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot( new Dependency( artifact, "" ) ); // add remote repositories for ( RemoteRepository remoteRepository : resolveRequest.remoteRepositories ) { collectRequest.addRepository( new org.sonatype.aether.repository.RemoteRepository( remoteRepository.getId(), "default", remoteRepository.getUrl() ) ); } collectRequest.setRequestContext( "project" ); //collectRequest.addRepository( repo ); try { CollectResult collectResult = system.collectDependencies( session, collectRequest ); collectResult.getRoot().accept( resolveRequest.dependencyVisitor ); log.debug( "test" ); } catch ( DependencyCollectionException e ) { log.error( e.getMessage(), e ); } }
/** * Resolves dependencies transitively from the given jar artifact, with the specified Maven scope * (compile, runtime, and so on.) */ public DependencyResult resolveDependencies(GAV a, String scope) throws DependencyResolutionException { DependencyFilter classpathFlter = DependencyFilterUtils.classpathFilter(scope); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(new Dependency(new DefaultArtifact(a.toString()), JavaScopes.COMPILE)); collectRequest.setRepositories(remoteRepositories); DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, classpathFlter); return resolveDependencies(dependencyRequest); }
new DefaultArtifact( root.getGroupId(), root.getArtifactId(), extension, root.getVersion() ); CollectRequest request = new CollectRequest(); request.setRoot( new Dependency( aetherArtifact, null ) ); request.setDependencies( aetherDependencies ); request.setManagedDependencies( aetherManagerDependencies );
public List<Artifact> resolveArtifacts(Iterable<? extends Artifact> sourceArtifacts) { CollectRequest collectRequest = new CollectRequest(); for (Artifact sourceArtifact : sourceArtifacts) { collectRequest.addDependency(new Dependency(sourceArtifact, JavaScopes.RUNTIME)); } for (RemoteRepository repository : repositories) { collectRequest.addRepository(repository); } DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, DependencyFilterUtils.classpathFilter(JavaScopes.RUNTIME)); return resolveArtifacts(dependencyRequest); }
new File(pom.getModel().getBuild().getOutputDirectory())); CollectRequest collectRequest = new CollectRequest(); for (org.apache.maven.model.Dependency dependency : pom.getDependencies()) { collectRequest.addDependency(toAetherDependency(dependency)); collectRequest.addRepository(repository); collectRequest.addRepository(repository); collectRequest.addManagedDependency(toAetherDependency(managedDependency));
if (!centralRedefined) repositories.add(new RemoteRepository("central", "default", "http://repo1.maven.org/maven2/")); } CollectRequest request = new CollectRequest(); for (MavenBundle bundle : fromBundles) { request.addDependency(new Dependency(bundle.asArtifact(), "runtime")); } for (RemoteRepository r : repositories) request.addRepository(r); request.setRequestContext("runtime"); DefaultServiceLocator locator = new DefaultServiceLocator(); locator.addService(WagonProvider.class, HttpAndFileWagonProvider.class);
/** * Creates a new request with the specified properties. * * @param root The root dependency whose transitive dependencies should be collected, may be {@code null}. * @param dependencies The direct dependencies to merge with the direct dependencies from the root dependency's * artifact descriptor. * @param repositories The repositories to use for the collection, may be {@code null}. */ public CollectRequest( Dependency root, List<Dependency> dependencies, List<RemoteRepository> repositories ) { setRoot( root ); setDependencies( dependencies ); setRepositories( repositories ); }
/** * Creates a request with the specified properties. * * @param root The root dependency whose transitive dependencies should be collected, may be {@code null}. * @param repositories The repositories to use for the collection, may be {@code null}. */ public CollectRequest( Dependency root, List<RemoteRepository> repositories ) { setRoot( root ); setRepositories( repositories ); }
buildingRequest.getRemoteRepositories() ); CollectRequest request = new CollectRequest( aetherRoot, aetherRepositories ); request.setDependencies( aetherDependencies ); request.setManagedDependencies( aetherManagerDependencies );
RequestTrace trace = DefaultRequestTrace.newChild( request.getTrace(), request ); DependencyTraverser depTraverser = session.getDependencyTraverser(); Dependency root = request.getRoot(); List<RemoteRepository> repositories = request.getRepositories(); List<Dependency> dependencies = request.getDependencies(); List<Dependency> managedDependencies = request.getManagedDependencies(); new VersionRangeRequest( root.getArtifact(), request.getRepositories(), request.getRequestContext() ); rangeRequest.setTrace( trace ); rangeResult = versionRangeResolver.resolveVersionRange( session, rangeRequest ); descriptorRequest.setRepositories( request.getRepositories() ); descriptorRequest.setRequestContext( request.getRequestContext() ); descriptorRequest.setTrace( trace ); if ( isLackingDescriptor( root.getArtifact() ) ) node.setRepositories( request.getRepositories() ); edge.setRequestContext( request.getRequestContext() ); edge.setRelocations( descriptorResult.getRelocations() ); edge.setVersionConstraint( rangeResult.getVersionConstraint() );
@Override public String toString() { return getRoot() + " -> " + getDependencies() + " < " + getRepositories(); }
/** * Creates a new request with the specified properties. * * @param dependencies The direct dependencies of some imaginary root, may be {@code null}. * @param managedDependencies The dependency management information to apply to the transitive dependencies, may be * {@code null}. * @param repositories The repositories to use for the collection, may be {@code null}. */ public CollectRequest( List<Dependency> dependencies, List<Dependency> managedDependencies, List<RemoteRepository> repositories ) { setDependencies( dependencies ); setManagedDependencies( managedDependencies ); setRepositories( repositories ); }
private static String getSource( CollectResult result ) { if ( result == null ) { return ""; } CollectRequest request = result.getRequest(); if ( request.getRoot() != null ) { return request.getRoot().toString(); } return request.getDependencies().toString(); }
Logger.format( "failed to load '%s' from %[list]s into %s", dreq.getCollectRequest().getRoot(), Aether.reps(dreq.getCollectRequest().getRepositories()), session.getLocalRepositoryManager() .getRepository()
private CollectorResult collectDependencies( final 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 Maven30CollectorResult( repositorySystem.collectDependencies( session, request ) ); } catch ( DependencyCollectionException e ) { throw new DependencyCollectorException( e.getMessage(), e ); } }
CollectRequest request = new CollectRequest(); request.setRoot(dependency); CollectResult collectedDependencies = repoSystem.collectDependencies(repoSession, request);
public List<ArtifactResult> resolveResult(File rootPom, boolean offline) throws ArtifactDescriptorException, DependencyCollectionException, ArtifactResolutionException { RepositorySystem repo = getRepositorySystem(); MavenRepositorySystemSession session = createSession(offline, repo); List<RemoteRepository> repos = getRemoteRepositories(); Map<String,String> props = Collections.singletonMap(ArtifactProperties.LOCAL_PATH, rootPom.toString()); Artifact root = new DefaultArtifact("#groupId", "#artifactId", null, "pom", "#version", props, rootPom); ArtifactDescriptorResult artifactDescriptorResult = repo.readArtifactDescriptor(session, new ArtifactDescriptorRequest(root, repos, null)); CollectRequest request = new CollectRequest( artifactDescriptorResult.getDependencies(), null, repos ); DependencyFilter filter = new AndDependencyFilter(); return repo.resolveDependencies(session, request, filter); }