new PatternExclusionsDependencyFilter(excludes); CollectRequest collectRequest = new CollectRequest(); 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(); }
@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 ); }
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; }
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); }
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); }
/** * 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; }
@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 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); }
@Override // CHECKSTYLE_OFF: LineLength public Iterable<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest, DependableCoordinate coordinate, TransformableFilter dependencyFilter ) // CHECKSTYLE_ON: LineLength throws DependencyResolverException { ArtifactTypeRegistry typeRegistry = (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry", ArtifactHandlerManager.class, artifactHandlerManager ); Dependency aetherRoot = toDependency( coordinate, typeRegistry ); @SuppressWarnings( "unchecked" ) List<RemoteRepository> aetherRepositories = (List<RemoteRepository>) Invoker.invoke( RepositoryUtils.class, "toRepos", List.class, buildingRequest.getRemoteRepositories() ); CollectRequest request = new CollectRequest( aetherRoot, aetherRepositories ); return resolveDependencies( buildingRequest, aetherRepositories, dependencyFilter, request ); }
@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(); }
protected DependencyNode resolveDepedencies(RepositorySystem repositorySystem, MavenRepositorySystemSession session, List<RemoteRepository> repos, DependencyNode pomNode, Dependency dependency, final Filter<Dependency> shouldExclude) throws FailedToResolveDependency { if (!DependencyFilters.matches(dependency, shouldExclude)) { CollectRequest request = new CollectRequest(dependency, repos); //request.setRequestContext("runtime"); try { DependencyNode node = repositorySystem.collectDependencies(session, request).getRoot(); repositorySystem.resolveDependencies(session, node, new DependencyFilter() { @Override public boolean accept(DependencyNode node, List<DependencyNode> parents) { boolean answer = !DependencyFilters.matches(node, shouldExclude); return answer; } }); return node; } catch (DependencyCollectionException e) { handleDependencyResolveFailure(pomNode, dependency, e); } catch (ArtifactResolutionException e) { handleDependencyResolveFailure(pomNode, dependency, e); } } return null; }
protected DependencyNode resolveDepedencies(RepositorySystem repositorySystem, MavenRepositorySystemSession session, List<RemoteRepository> repos, DependencyNode pomNode, Dependency dependency, final Filter<Dependency> shouldExclude) throws FailedToResolveDependency { if (!DependencyFilters.matches(dependency, shouldExclude)) { CollectRequest request = new CollectRequest(dependency, repos); //request.setRequestContext("runtime"); try { DependencyNode node = repositorySystem.collectDependencies(session, request).getRoot(); repositorySystem.resolveDependencies(session, node, new DependencyFilter() { @Override public boolean accept(DependencyNode node, List<DependencyNode> parents) { boolean answer = !DependencyFilters.matches(node, shouldExclude); return answer; } }); return node; } catch (DependencyCollectionException e) { handleDependencyResolveFailure(pomNode, dependency, e); } catch (ArtifactResolutionException e) { handleDependencyResolveFailure(pomNode, dependency, e); } } return null; }
/** * 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); }
new DefaultArtifact( root.getGroupId(), root.getArtifactId(), extension, root.getVersion() ); CollectRequest request = new CollectRequest(); request.setRoot( new Dependency( aetherArtifact, null ) );
@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 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()); }
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; }
public List<ArtifactResult> resolveResult(File rootPom, boolean offline) throws ArtifactDescriptorException, DependencyCollectionException, ArtifactResolutionException { MavenRepositorySystemSession session = new MavenRepositorySystemSession(); LocalRepository localRepository = new LocalRepository(getLocalRepo()); RepositorySystem repo = getRepositorySystem(); session.setLocalRepositoryManager(repo.newLocalRepositoryManager(localRepository)); session.setDependencySelector( new AndDependencySelector(new ScopeDependencySelector("test"), new OptionalDependencySelector(), new ExclusionDependencySelector())); session.setOffline(offline); 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); }