本文整理汇总了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])))));
}