1 package org.apache.maven.resolver.examples;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.resolver.examples.util.Booter;
23 import org.apache.maven.resolver.examples.util.ConsoleDependencyGraphDumper;
24 import org.eclipse.aether.DefaultRepositorySystemSession;
25 import org.eclipse.aether.RepositorySystem;
26 import org.eclipse.aether.artifact.Artifact;
27 import org.eclipse.aether.artifact.DefaultArtifact;
28 import org.eclipse.aether.collection.CollectRequest;
29 import org.eclipse.aether.collection.CollectResult;
30 import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
31 import org.eclipse.aether.resolution.ArtifactDescriptorResult;
32 import org.eclipse.aether.util.graph.manager.DependencyManagerUtils;
33 import org.eclipse.aether.util.graph.transformer.ConflictResolver;
34
35
36
37
38 public class GetDependencyHierarchy
39 {
40
41 public static void main( String[] args )
42 throws Exception
43 {
44 System.out.println( "------------------------------------------------------------" );
45 System.out.println( GetDependencyHierarchy.class.getSimpleName() );
46
47 RepositorySystem system = Booter.newRepositorySystem();
48
49 DefaultRepositorySystemSession session = Booter.newRepositorySystemSession( system );
50
51 session.setConfigProperty( ConflictResolver.CONFIG_PROP_VERBOSE, true );
52 session.setConfigProperty( DependencyManagerUtils.CONFIG_PROP_VERBOSE, true );
53
54 Artifact artifact = new DefaultArtifact( "org.apache.maven:maven-aether-provider:3.1.0" );
55
56 ArtifactDescriptorRequest descriptorRequest = new ArtifactDescriptorRequest();
57 descriptorRequest.setArtifact( artifact );
58 descriptorRequest.setRepositories( Booter.newRepositories( system, session ) );
59 ArtifactDescriptorResult descriptorResult = system.readArtifactDescriptor( session, descriptorRequest );
60
61 CollectRequest collectRequest = new CollectRequest();
62 collectRequest.setRootArtifact( descriptorResult.getArtifact() );
63 collectRequest.setDependencies( descriptorResult.getDependencies() );
64 collectRequest.setManagedDependencies( descriptorResult.getManagedDependencies() );
65 collectRequest.setRepositories( descriptorRequest.getRepositories() );
66
67 CollectResult collectResult = system.collectDependencies( session, collectRequest );
68
69 collectResult.getRoot().accept( new ConsoleDependencyGraphDumper() );
70 }
71
72 }