1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.resolver.examples;
20
21 import org.apache.maven.resolver.examples.util.Booter;
22 import org.eclipse.aether.DefaultRepositorySystemSession;
23 import org.eclipse.aether.RepositorySystem;
24 import org.eclipse.aether.artifact.Artifact;
25 import org.eclipse.aether.artifact.DefaultArtifact;
26 import org.eclipse.aether.collection.CollectRequest;
27 import org.eclipse.aether.collection.CollectResult;
28 import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
29 import org.eclipse.aether.resolution.ArtifactDescriptorResult;
30 import org.eclipse.aether.util.graph.manager.DependencyManagerUtils;
31 import org.eclipse.aether.util.graph.transformer.ConflictResolver;
32
33
34
35
36 public class GetDependencyHierarchy {
37
38
39
40
41
42
43 public static void main(String[] args) throws Exception {
44 System.out.println("------------------------------------------------------------");
45 System.out.println(GetDependencyHierarchy.class.getSimpleName());
46
47 RepositorySystem system = Booter.newRepositorySystem(Booter.selectFactory(args));
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-resolver-provider:3.6.1");
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(Booter.DUMPER_SOUT);
70 }
71 }