1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.internal.impl.resolver.artifact;
20
21 import org.eclipse.aether.collection.DependencyCollectionContext;
22 import org.eclipse.aether.collection.DependencyTraverser;
23 import org.eclipse.aether.graph.Dependency;
24
25 import static java.util.Objects.requireNonNull;
26
27
28
29
30
31
32
33
34
35
36 public final class FatArtifactTraverser implements DependencyTraverser {
37
38 public FatArtifactTraverser() {}
39
40 @Override
41 public boolean traverseDependency(Dependency dependency) {
42 requireNonNull(dependency, "dependency cannot be null");
43 String prop = dependency.getArtifact().getProperty(MavenArtifactProperties.INCLUDES_DEPENDENCIES, "");
44 return !Boolean.parseBoolean(prop);
45 }
46
47 @Override
48 public DependencyTraverser deriveChildTraverser(DependencyCollectionContext context) {
49 requireNonNull(context, "context cannot be null");
50 return this;
51 }
52
53 @Override
54 public boolean equals(Object obj) {
55 if (this == obj) {
56 return true;
57 } else if (null == obj || !getClass().equals(obj.getClass())) {
58 return false;
59 }
60 return true;
61 }
62
63 @Override
64 public int hashCode() {
65 return getClass().hashCode();
66 }
67 }