本文整理匯總了Java中org.apache.maven.shared.dependency.tree.traversal.CollectingDependencyNodeVisitor類的典型用法代碼示例。如果您正苦於以下問題:Java CollectingDependencyNodeVisitor類的具體用法?Java CollectingDependencyNodeVisitor怎麽用?Java CollectingDependencyNodeVisitor使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
CollectingDependencyNodeVisitor類屬於org.apache.maven.shared.dependency.tree.traversal包,在下文中一共展示了CollectingDependencyNodeVisitor類的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: constructRepository
import org.apache.maven.shared.dependency.tree.traversal.CollectingDependencyNodeVisitor; //導入依賴的package包/類
private Repository constructRepository() throws IOException {
Repository repo = new DirRepository(classesDirectory.toPath());
if (!quiet) {
getLog().info("HuntBugs: +dir " + classesDirectory);
}
// collecting project dependencies including pom and transitive dependencies
ArtifactFilter artifactFilter = new ScopeArtifactFilter("compile");
DependencyNode rootNode;
try {
rootNode = treeBuilder.buildDependencyTree(project, session.getLocalRepository(), artifactFilter);
} catch (DependencyTreeBuilderException e) {
throw new RuntimeException(e);
}
CollectingDependencyNodeVisitor visitor = new CollectingDependencyNodeVisitor();
rootNode.accept(visitor);
// converting dependencies to type loaders
List<DependencyNode> nodes = visitor.getNodes();
List<ITypeLoader> deps = new ArrayList<>();
for (DependencyNode dependencyNode : nodes) {
int state = dependencyNode.getState();
// checking that transitive dependency is NOT excluded
if (state == DependencyNode.INCLUDED) {
Artifact artifact = dependencyNode.getArtifact();
addDependency(artifact, deps);
}
}
if (deps.isEmpty()) {
return repo;
}
return new CompositeRepository(
Arrays.asList(repo, new AuxRepository(new CompositeTypeLoader(deps.toArray(new ITypeLoader[0])))));
}