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(); }
collectRequest.addRepository(repo);
@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(); }
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; }
/** * 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; }
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); }
collectRequest.addRepository(repository); collectRequest.addRepository(repository);
@Override 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)); DependencyResult dependencyResult; try { dependencyResult = repositorySystem.resolveDependencies(repositorySystemSession, dependencyRequest); } catch (DependencyResolutionException e) { dependencyResult = e.getResult(); } List<ArtifactResult> artifactResults = dependencyResult.getArtifactResults(); List<Artifact> artifacts = new ArrayList<>(artifactResults.size()); for (ArtifactResult artifactResult : artifactResults) { if (artifactResult.isMissing()) { artifacts.add(artifactResult.getRequest().getArtifact()); } else { artifacts.add(artifactResult.getArtifact()); } } return Collections.unmodifiableList(artifacts); }
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 ); } }
request.addDependency(new Dependency(bundle.asArtifact(), "runtime")); } for (RemoteRepository r : repositories) request.addRepository(r); request.setRequestContext("runtime"); DefaultServiceLocator locator = new DefaultServiceLocator();
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; }