Search in sources :

Example 16 with DependencyFilter

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));
}
Also used : DependencyFilter(org.sonatype.aether.graph.DependencyFilter) NodeBuilder(org.sonatype.aether.test.util.NodeBuilder) Test(org.junit.Test)

Example 17 with DependencyFilter

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));
}
Also used : DependencyFilter(org.sonatype.aether.graph.DependencyFilter) NodeBuilder(org.sonatype.aether.test.util.NodeBuilder) Test(org.junit.Test)

Example 18 with DependencyFilter

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));
}
Also used : DependencyFilter(org.sonatype.aether.graph.DependencyFilter) NodeBuilder(org.sonatype.aether.test.util.NodeBuilder) Test(org.junit.Test)

Example 19 with DependencyFilter

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;
}
Also used : DependencyCollectionException(org.sonatype.aether.collection.DependencyCollectionException) FilteringDependencyVisitor(org.sonatype.aether.util.graph.FilteringDependencyVisitor) CollectResult(org.sonatype.aether.collection.CollectResult) DependencyResult(org.sonatype.aether.resolution.DependencyResult) DependencyFilter(org.sonatype.aether.graph.DependencyFilter) RequestTrace(org.sonatype.aether.RequestTrace) DefaultRequestTrace(org.sonatype.aether.util.DefaultRequestTrace) ArtifactResult(org.sonatype.aether.resolution.ArtifactResult) ArtifactResolutionException(org.sonatype.aether.resolution.ArtifactResolutionException) ArtifactRequest(org.sonatype.aether.resolution.ArtifactRequest) DependencyVisitor(org.sonatype.aether.graph.DependencyVisitor) FilteringDependencyVisitor(org.sonatype.aether.util.graph.FilteringDependencyVisitor) TreeDependencyVisitor(org.sonatype.aether.util.graph.TreeDependencyVisitor) TreeDependencyVisitor(org.sonatype.aether.util.graph.TreeDependencyVisitor) DependencyResolutionException(org.sonatype.aether.resolution.DependencyResolutionException)

Example 20 with DependencyFilter

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());
    }
}
Also used : RepositorySystem(org.sonatype.aether.RepositorySystem) RepositorySystemSession(org.sonatype.aether.RepositorySystemSession) DependencyRequest(org.sonatype.aether.resolution.DependencyRequest) RemoteRepository(org.sonatype.aether.repository.RemoteRepository) DependencyFilter(org.sonatype.aether.graph.DependencyFilter) Dependency(org.sonatype.aether.graph.Dependency) CollectRequest(org.sonatype.aether.collection.CollectRequest) Artifact(org.sonatype.aether.artifact.Artifact) DefaultArtifact(org.sonatype.aether.util.artifact.DefaultArtifact) DefaultArtifact(org.sonatype.aether.util.artifact.DefaultArtifact) ArtifactResult(org.sonatype.aether.resolution.ArtifactResult)

Aggregations

DependencyFilter (org.sonatype.aether.graph.DependencyFilter)20 Test (org.junit.Test)12 NodeBuilder (org.sonatype.aether.test.util.NodeBuilder)10 Artifact (org.sonatype.aether.artifact.Artifact)6 CollectRequest (org.sonatype.aether.collection.CollectRequest)6 RemoteRepository (org.sonatype.aether.repository.RemoteRepository)6 DependencyRequest (org.sonatype.aether.resolution.DependencyRequest)6 DefaultArtifact (org.sonatype.aether.util.artifact.DefaultArtifact)6 DependencyNode (org.sonatype.aether.graph.DependencyNode)5 PatternExclusionsDependencyFilter (org.sonatype.aether.util.filter.PatternExclusionsDependencyFilter)5 List (java.util.List)3 Dependency (org.sonatype.aether.graph.Dependency)3 LinkedList (java.util.LinkedList)2 ArtifactResult (org.sonatype.aether.resolution.ArtifactResult)2 Repository (org.apache.zeppelin.dep.Repository)1 RepositoryException (org.sonatype.aether.RepositoryException)1 RepositorySystem (org.sonatype.aether.RepositorySystem)1 RepositorySystemSession (org.sonatype.aether.RepositorySystemSession)1 RequestTrace (org.sonatype.aether.RequestTrace)1 CollectResult (org.sonatype.aether.collection.CollectResult)1