Search in sources :

Example 1 with ConflictMarker

use of org.sonatype.aether.util.graph.transformer.ConflictMarker in project karaf by apache.

the class Dependency30Helper method getDependencyTree.

private DependencyNode getDependencyTree(Artifact artifact) throws MojoExecutionException {
    try {
        CollectRequest collectRequest = new CollectRequest(new Dependency(artifact, "compile"), null, projectRepositories);
        DefaultRepositorySystemSession session = new DefaultRepositorySystemSession(repositorySystemSession);
        session.setDependencySelector(new AndDependencySelector(new OptionalDependencySelector(), new ScopeDependencySelector1(), new ExclusionDependencySelector()));
        DependencyGraphTransformer transformer = new ChainedDependencyGraphTransformer(new ConflictMarker(), new JavaEffectiveScopeCalculator(), new JavaDependencyContextRefiner());
        session.setDependencyGraphTransformer(transformer);
        CollectResult result = repositorySystem.collectDependencies(session, collectRequest);
        return result.getRoot();
    } catch (DependencyCollectionException e) {
        throw new MojoExecutionException("Cannot build project dependency tree", e);
    }
}
Also used : JavaDependencyContextRefiner(org.sonatype.aether.util.graph.transformer.JavaDependencyContextRefiner) DependencyCollectionException(org.sonatype.aether.collection.DependencyCollectionException) MojoExecutionException(org.apache.maven.plugin.MojoExecutionException) CollectResult(org.sonatype.aether.collection.CollectResult) AndDependencySelector(org.sonatype.aether.util.graph.selector.AndDependencySelector) Dependency(org.sonatype.aether.graph.Dependency) CollectRequest(org.sonatype.aether.collection.CollectRequest) ChainedDependencyGraphTransformer(org.sonatype.aether.util.graph.transformer.ChainedDependencyGraphTransformer) OptionalDependencySelector(org.sonatype.aether.util.graph.selector.OptionalDependencySelector) DefaultRepositorySystemSession(org.sonatype.aether.util.DefaultRepositorySystemSession) JavaEffectiveScopeCalculator(org.sonatype.aether.util.graph.transformer.JavaEffectiveScopeCalculator) DependencyGraphTransformer(org.sonatype.aether.collection.DependencyGraphTransformer) ChainedDependencyGraphTransformer(org.sonatype.aether.util.graph.transformer.ChainedDependencyGraphTransformer) ConflictMarker(org.sonatype.aether.util.graph.transformer.ConflictMarker) ExclusionDependencySelector(org.sonatype.aether.util.graph.selector.ExclusionDependencySelector)

Example 2 with ConflictMarker

use of org.sonatype.aether.util.graph.transformer.ConflictMarker in project sonatype-aether by sonatype.

the class ConflictMarkerTest method testRelocation3.

@Test
public void testRelocation3() throws Exception {
    NodeBuilder builder = new NodeBuilder();
    DependencyNode root = builder.build();
    root.getChildren().add(builder.artifactId("a").build());
    root.getChildren().add(builder.artifactId("b").build());
    root.getChildren().add(builder.artifactId("c").reloc("a").reloc("b").build());
    DependencyGraphTransformationContext context = newContext();
    assertSame(root, new ConflictMarker().transformGraph(root, context));
    Map<?, ?> ids = (Map<?, ?>) context.get(TransformationContextKeys.CONFLICT_IDS);
    assertNotNull(ids);
    assertNull(ids.get(root));
    assertNotNull(ids.get(root.getChildren().get(0)));
    assertNotNull(ids.get(root.getChildren().get(1)));
    assertNotNull(ids.get(root.getChildren().get(2)));
    assertSame(ids.get(root.getChildren().get(0)), ids.get(root.getChildren().get(1)));
    assertSame(ids.get(root.getChildren().get(1)), ids.get(root.getChildren().get(2)));
}
Also used : DependencyGraphTransformationContext(org.sonatype.aether.collection.DependencyGraphTransformationContext) DependencyNode(org.sonatype.aether.graph.DependencyNode) ConflictMarker(org.sonatype.aether.util.graph.transformer.ConflictMarker) NodeBuilder(org.sonatype.aether.test.util.NodeBuilder) Map(java.util.Map) Test(org.junit.Test)

Example 3 with ConflictMarker

use of org.sonatype.aether.util.graph.transformer.ConflictMarker in project sonatype-aether by sonatype.

the class ConflictMarkerTest method testSimple.

@Test
public void testSimple() throws Exception {
    NodeBuilder builder = new NodeBuilder();
    DependencyNode root = builder.build();
    root.getChildren().add(builder.artifactId("a").build());
    root.getChildren().add(builder.artifactId("b").build());
    DependencyGraphTransformationContext context = newContext();
    assertSame(root, new ConflictMarker().transformGraph(root, context));
    Map<?, ?> ids = (Map<?, ?>) context.get(TransformationContextKeys.CONFLICT_IDS);
    assertNotNull(ids);
    assertNull(ids.get(root));
    assertNotNull(ids.get(root.getChildren().get(0)));
    assertNotNull(ids.get(root.getChildren().get(1)));
    assertNotSame(ids.get(root.getChildren().get(0)), ids.get(root.getChildren().get(1)));
    assertFalse(ids.get(root.getChildren().get(0)).equals(ids.get(root.getChildren().get(1))));
}
Also used : DependencyGraphTransformationContext(org.sonatype.aether.collection.DependencyGraphTransformationContext) DependencyNode(org.sonatype.aether.graph.DependencyNode) ConflictMarker(org.sonatype.aether.util.graph.transformer.ConflictMarker) NodeBuilder(org.sonatype.aether.test.util.NodeBuilder) Map(java.util.Map) Test(org.junit.Test)

Example 4 with ConflictMarker

use of org.sonatype.aether.util.graph.transformer.ConflictMarker in project sonatype-aether by sonatype.

the class ConflictMarkerTest method testRelocation1.

@Test
public void testRelocation1() throws Exception {
    NodeBuilder builder = new NodeBuilder();
    DependencyNode root = builder.build();
    root.getChildren().add(builder.artifactId("a").build());
    root.getChildren().add(builder.artifactId("a").reloc("reloc").build());
    DependencyGraphTransformationContext context = newContext();
    assertSame(root, new ConflictMarker().transformGraph(root, context));
    Map<?, ?> ids = (Map<?, ?>) context.get(TransformationContextKeys.CONFLICT_IDS);
    assertNotNull(ids);
    assertNull(ids.get(root));
    assertNotNull(ids.get(root.getChildren().get(0)));
    assertNotNull(ids.get(root.getChildren().get(1)));
    assertSame(ids.get(root.getChildren().get(0)), ids.get(root.getChildren().get(1)));
}
Also used : DependencyGraphTransformationContext(org.sonatype.aether.collection.DependencyGraphTransformationContext) DependencyNode(org.sonatype.aether.graph.DependencyNode) ConflictMarker(org.sonatype.aether.util.graph.transformer.ConflictMarker) NodeBuilder(org.sonatype.aether.test.util.NodeBuilder) Map(java.util.Map) Test(org.junit.Test)

Example 5 with ConflictMarker

use of org.sonatype.aether.util.graph.transformer.ConflictMarker in project sonatype-aether by sonatype.

the class ConflictMarkerTest method testRelocation2.

@Test
public void testRelocation2() throws Exception {
    NodeBuilder builder = new NodeBuilder();
    DependencyNode root = builder.build();
    root.getChildren().add(builder.artifactId("a").reloc("reloc").build());
    root.getChildren().add(builder.artifactId("a").build());
    DependencyGraphTransformationContext context = newContext();
    assertSame(root, new ConflictMarker().transformGraph(root, context));
    Map<?, ?> ids = (Map<?, ?>) context.get(TransformationContextKeys.CONFLICT_IDS);
    assertNotNull(ids);
    assertNull(ids.get(root));
    assertNotNull(ids.get(root.getChildren().get(0)));
    assertNotNull(ids.get(root.getChildren().get(1)));
    assertSame(ids.get(root.getChildren().get(0)), ids.get(root.getChildren().get(1)));
}
Also used : DependencyGraphTransformationContext(org.sonatype.aether.collection.DependencyGraphTransformationContext) DependencyNode(org.sonatype.aether.graph.DependencyNode) ConflictMarker(org.sonatype.aether.util.graph.transformer.ConflictMarker) NodeBuilder(org.sonatype.aether.test.util.NodeBuilder) Map(java.util.Map) Test(org.junit.Test)

Aggregations

ConflictMarker (org.sonatype.aether.util.graph.transformer.ConflictMarker)5 Map (java.util.Map)4 Test (org.junit.Test)4 DependencyGraphTransformationContext (org.sonatype.aether.collection.DependencyGraphTransformationContext)4 DependencyNode (org.sonatype.aether.graph.DependencyNode)4 NodeBuilder (org.sonatype.aether.test.util.NodeBuilder)4 MojoExecutionException (org.apache.maven.plugin.MojoExecutionException)1 CollectRequest (org.sonatype.aether.collection.CollectRequest)1 CollectResult (org.sonatype.aether.collection.CollectResult)1 DependencyCollectionException (org.sonatype.aether.collection.DependencyCollectionException)1 DependencyGraphTransformer (org.sonatype.aether.collection.DependencyGraphTransformer)1 Dependency (org.sonatype.aether.graph.Dependency)1 DefaultRepositorySystemSession (org.sonatype.aether.util.DefaultRepositorySystemSession)1 AndDependencySelector (org.sonatype.aether.util.graph.selector.AndDependencySelector)1 ExclusionDependencySelector (org.sonatype.aether.util.graph.selector.ExclusionDependencySelector)1 OptionalDependencySelector (org.sonatype.aether.util.graph.selector.OptionalDependencySelector)1 ChainedDependencyGraphTransformer (org.sonatype.aether.util.graph.transformer.ChainedDependencyGraphTransformer)1 JavaDependencyContextRefiner (org.sonatype.aether.util.graph.transformer.JavaDependencyContextRefiner)1 JavaEffectiveScopeCalculator (org.sonatype.aether.util.graph.transformer.JavaEffectiveScopeCalculator)1