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
42
43
44
45
46 public static void main( String[] args )
47 throws Exception
48 {
49 System.out.println( "------------------------------------------------------------" );
50 System.out.println( GetDependencyHierarchy.class.getSimpleName() );
51
52 RepositorySystem system = Booter.newRepositorySystem( Booter.selectFactory( args ) );
53
54 DefaultRepositorySystemSession session = Booter.newRepositorySystemSession( system );
55
56 session.setConfigProperty( ConflictResolver.CONFIG_PROP_VERBOSE, true );
57 session.setConfigProperty( DependencyManagerUtils.CONFIG_PROP_VERBOSE, true );
58
59 Artifact artifact = new DefaultArtifact( "org.apache.maven:maven-resolver-provider:3.6.1" );
60
61 ArtifactDescriptorRequest descriptorRequest = new ArtifactDescriptorRequest();
62 descriptorRequest.setArtifact( artifact );
63 descriptorRequest.setRepositories( Booter.newRepositories( system, session ) );
64 ArtifactDescriptorResult descriptorResult = system.readArtifactDescriptor( session, descriptorRequest );
65
66 CollectRequest collectRequest = new CollectRequest();
67 collectRequest.setRootArtifact( descriptorResult.getArtifact() );
68 collectRequest.setDependencies( descriptorResult.getDependencies() );
69 collectRequest.setManagedDependencies( descriptorResult.getManagedDependencies() );
70 collectRequest.setRepositories( descriptorRequest.getRepositories() );
71
72 CollectResult collectResult = system.collectDependencies( session, collectRequest );
73
74 collectResult.getRoot().accept( new ConsoleDependencyGraphDumper() );
75 }
76
77 }