use of org.sonatype.aether.graph.DependencyFilter in project sonatype-aether by sonatype.
the class DependencyFilterUtilsTest method testClasspathFilterTest.
@Test
public void testClasspathFilterTest() {
NodeBuilder builder = new NodeBuilder().artifactId("aid");
DependencyFilter filter = DependencyFilterUtils.classpathFilter("test");
assertTrue(filter.accept(builder.scope("compile").build(), PARENTS));
assertTrue(filter.accept(builder.scope("system").build(), PARENTS));
assertTrue(filter.accept(builder.scope("provided").build(), PARENTS));
assertTrue(filter.accept(builder.scope("runtime").build(), PARENTS));
assertTrue(filter.accept(builder.scope("test").build(), PARENTS));
}
use of org.sonatype.aether.graph.DependencyFilter in project sonatype-aether by sonatype.
the class DependencyFilterUtilsTest method testClasspathFilterCompilePlusRuntime.
@Test
public void testClasspathFilterCompilePlusRuntime() {
NodeBuilder builder = new NodeBuilder().artifactId("aid");
DependencyFilter filter = DependencyFilterUtils.classpathFilter("compile+runtime");
assertTrue(filter.accept(builder.scope("compile").build(), PARENTS));
assertTrue(filter.accept(builder.scope("system").build(), PARENTS));
assertTrue(filter.accept(builder.scope("provided").build(), PARENTS));
assertTrue(filter.accept(builder.scope("runtime").build(), PARENTS));
assertFalse(filter.accept(builder.scope("test").build(), PARENTS));
}
use of org.sonatype.aether.graph.DependencyFilter in project sonatype-aether by sonatype.
the class DependencyFilterUtilsTest method testClasspathFilterNull.
@Test
public void testClasspathFilterNull() {
NodeBuilder builder = new NodeBuilder().artifactId("aid");
DependencyFilter filter = DependencyFilterUtils.classpathFilter((String[]) null);
assertFalse(filter.accept(builder.scope("compile").build(), PARENTS));
assertFalse(filter.accept(builder.scope("system").build(), PARENTS));
assertFalse(filter.accept(builder.scope("provided").build(), PARENTS));
assertFalse(filter.accept(builder.scope("runtime").build(), PARENTS));
assertFalse(filter.accept(builder.scope("test").build(), PARENTS));
}
use of org.sonatype.aether.graph.DependencyFilter in project sonatype-aether by sonatype.
the class DefaultRepositorySystem method resolveDependencies.
public DependencyResult resolveDependencies(RepositorySystemSession session, DependencyRequest request) throws DependencyResolutionException {
validateSession(session);
RequestTrace trace = DefaultRequestTrace.newChild(request.getTrace(), request);
DependencyResult result = new DependencyResult(request);
DependencyCollectionException dce = null;
ArtifactResolutionException are = null;
if (request.getRoot() != null) {
result.setRoot(request.getRoot());
} else if (request.getCollectRequest() != null) {
CollectResult collectResult;
try {
request.getCollectRequest().setTrace(trace);
collectResult = dependencyCollector.collectDependencies(session, request.getCollectRequest());
} catch (DependencyCollectionException e) {
dce = e;
collectResult = e.getResult();
}
result.setRoot(collectResult.getRoot());
result.setCollectExceptions(collectResult.getExceptions());
} else {
throw new IllegalArgumentException("dependency node or collect request missing");
}
ArtifactRequestBuilder builder = new ArtifactRequestBuilder(trace);
DependencyFilter filter = request.getFilter();
DependencyVisitor visitor = (filter != null) ? new FilteringDependencyVisitor(builder, filter) : builder;
visitor = new TreeDependencyVisitor(visitor);
result.getRoot().accept(visitor);
List<ArtifactRequest> requests = builder.getRequests();
List<ArtifactResult> results;
try {
results = artifactResolver.resolveArtifacts(session, requests);
} catch (ArtifactResolutionException e) {
are = e;
results = e.getResults();
}
result.setArtifactResults(results);
updateNodesWithResolvedArtifacts(results);
if (dce != null) {
throw new DependencyResolutionException(result, dce);
} else if (are != null) {
throw new DependencyResolutionException(result, are);
}
return result;
}
use of org.sonatype.aether.graph.DependencyFilter in project sonatype-aether by sonatype.
the class ResolveTransitiveDependencies method main.
public static void main(String[] args) throws Exception {
System.out.println("------------------------------------------------------------");
System.out.println(ResolveTransitiveDependencies.class.getSimpleName());
RepositorySystem system = Booter.newRepositorySystem();
RepositorySystemSession session = Booter.newRepositorySystemSession(system);
Artifact artifact = new DefaultArtifact("org.sonatype.aether:aether-impl:1.9");
RemoteRepository repo = Booter.newCentralRepository();
DependencyFilter classpathFlter = DependencyFilterUtils.classpathFilter(JavaScopes.COMPILE);
CollectRequest collectRequest = new CollectRequest();
collectRequest.setRoot(new Dependency(artifact, JavaScopes.COMPILE));
collectRequest.addRepository(repo);
DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, classpathFlter);
List<ArtifactResult> artifactResults = system.resolveDependencies(session, dependencyRequest).getArtifactResults();
for (ArtifactResult artifactResult : artifactResults) {
System.out.println(artifactResult.getArtifact() + " resolved to " + artifactResult.getArtifact().getFile());
}
}
Aggregations