collectRequest.setRoot(new Dependency(artifact, JavaScopes.COMPILE));
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(); }
/** * 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 ); }
/** * 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 ); }
/** * 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 ); }
/** * 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 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 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 ); }
@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 ); }
request.setRoot(dependency); CollectResult collectedDependencies = repoSystem.collectDependencies(repoSession, request);
/** * Create collect request. * @param root The root to start with * @return The request */ private CollectRequest request(final Dependency root) { final CollectRequest request = new CollectRequest(); request.setRoot(root); for (final Repository repo : this.remotes) { final RemoteRepository remote = repo.remote(); if (!remote.getProtocol().matches("https?|file|s3")) { Logger.warn( this, "%s ignored (only S3, HTTP/S, and FILE are supported)", repo ); continue; } request.addRepository(remote); } return request; }
private DependencyRequest createRequest(final Dependency dependency) { final CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(dependency); collectRequest.addRepository(remoteRepository); final DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setCollectRequest(collectRequest); for (final DependencyFilter filter : dependencyFilters) { dependencyRequest.setFilter(filter); } return dependencyRequest; }
@Override protected List<File> resolve(String fqtn) throws Exception { StringTokenizer tokenizer = new StringTokenizer(fqtn, ":", false); String groupId = tokenizer.nextToken(); String templateId = tokenizer.nextToken(); String version = tokenizer.nextToken(); Dependency dependency = new Dependency(new DefaultArtifact(groupId + ':' + templateId + ':' + version), null); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(dependency); collectRequest.addRepository(local); collectRequest.addRepository(central); RepositorySystemSession session = newSession(repoSystem); DependencyNode node = repoSystem.collectDependencies(session, collectRequest).getRoot(); DependencyRequest dependencyRequest = new DependencyRequest(node, null); repoSystem.resolveDependencies(session, dependencyRequest); PreorderNodeListGenerator nlg = new PreorderNodeListGenerator(); node.accept(nlg); return nlg.getFiles(); }
/** * 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); }
private List<Artifact> getArtifacts(String artifact) throws MojoExecutionException { Dependency dependency = new Dependency( new DefaultArtifact( artifact ), "runtime" ); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot( dependency ); //collectRequest.addRepository( remoteRepos ); DependencyNode node; try { node = repoSystem.collectDependencies( repoSession, collectRequest ).getRoot(); } catch (DependencyCollectionException e) { throw new MojoExecutionException( e.getMessage(), e ); } DependencyRequest dependencyRequest = new DependencyRequest( node, null ); Set<String> included = Collections.singleton("runtime"); dependencyRequest.setFilter(new ScopeDependencyFilter(included, Collections.EMPTY_SET)); try { repoSystem.resolveDependencies( repoSession, dependencyRequest ); } catch (DependencyResolutionException e) { throw new MojoExecutionException( e.getMessage(), e ); } PreorderNodeListGenerator nlg = new PreorderNodeListGenerator(); node.accept( nlg ); getLog().info( "" + nlg.getClassPath() ); return nlg.getArtifacts(false); }
request.setRoot( new Dependency( aetherArtifact, null ) );
public AetherResult resolve(String groupId, String artifactId, String version, String extension, String classifier, List<RemoteRepository> repos) throws PlexusContainerException, ComponentLookupException, DependencyCollectionException, DependencyResolutionException { if (Strings.isBlank(extension) || extension.equals("bundle")) { extension = DEFAULT_EXTENSION; } if (classifier == null) { classifier = DEFAULT_CLASSIFIER; } RepositorySystemSession session = newSession(); Dependency dependency = new Dependency(new DefaultArtifact(groupId, artifactId, classifier, extension, version), "runtime"); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(dependency); RemoteRepository[] repoArray = new RemoteRepository[repos.size()]; repos.toArray(repoArray); for (RemoteRepository repo : repoArray) { collectRequest.addRepository(repo); } RepositorySystem system = getRepositorySystem(); DependencyNode rootNode = system.collectDependencies(session, collectRequest).getRoot(); DependencyRequest dependencyRequest = new DependencyRequest(); dependencyRequest.setRoot(rootNode); system.resolveDependencies(session, dependencyRequest); PreorderNodeListGenerator nlg = new PreorderNodeListGenerator(); rootNode.accept(nlg); return new AetherResult(rootNode, nlg.getFiles(), nlg.getClassPath()); }
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 ); } }
@Override public CollectorResult collectDependencies( ProjectBuildingRequest buildingRequest, DependableCoordinate root ) throws DependencyCollectorException { ArtifactHandler artifactHandler = artifactHandlerManager.getArtifactHandler( root.getType() ); String extension = artifactHandler != null ? artifactHandler.getExtension() : null; Artifact aetherArtifact = new DefaultArtifact( root.getGroupId(), root.getArtifactId(), root.getClassifier(), extension, root.getVersion() ); CollectRequest request = new CollectRequest(); request.setRoot( new Dependency( aetherArtifact, null ) ); return collectDependencies( buildingRequest, request ); }
public DependencyTreeResult collectDependencies(String groupId, String artifactId, String version, String extension, String classifier) throws RepositoryException, ArtifactResolutionException, IOException, XmlPullParserException { Dependency dependency = new Dependency(new DefaultArtifact(groupId, artifactId, classifier, extension, version), "runtime"); CollectRequest collectRequest = new CollectRequest(); collectRequest.setRoot(dependency); List<RemoteRepository> repos = getRemoteRepositories(); for (RemoteRepository repo : repos) { collectRequest.addRepository(repo); } RepositorySystem repositorySystem = getRepositorySystem(); MavenRepositorySystemSession session = createRepositorSystemSession(offline, repositorySystem); DependencyNode rootNode = repositorySystem.collectDependencies(session, collectRequest).getRoot(); repositorySystem.resolveDependencies(session, rootNode, null); DependencyTreeResult result = new DependencyTreeResult(rootNode); return result; }