final DependencyNode dn = dependencyGraphBuilder.buildDependencyGraph(buildingRequest, null, reactorProjects); final CollectingDependencyNodeVisitor visitor = new CollectingDependencyNodeVisitor(); dn.accept(visitor);
node.accept( collectingVisitor );
/** * {@inheritDoc} */ public boolean endVisit( DependencyNode node ) { parentNodes.pop(); // apply the visitor to the resultant tree on the last visit if ( parentNodes.empty() && visitor != null ) { rootNode.accept( visitor ); } return true; }
/** * {@inheritDoc} */ @Override public boolean endVisit( DependencyNode node ) { parentNodes.pop(); // apply the visitor to the resultant tree on the last visit if ( parentNodes.empty() && visitor != null ) { rootNode.accept( visitor ); } return true; }
static List<Artifact> buildScannedArtifacts(final DependencyNode projectDependencyGraph, final List<Dependency> configuredScannedDependencies) { final List<Artifact> artifacts = new ArrayList<Artifact>(); projectDependencyGraph.accept(new DependencyNodeVisitor() { @Override public boolean visit(DependencyNode node) { return true; } @Override public boolean endVisit(DependencyNode node) { Artifact artifact = node.getArtifact(); Optional<Dependency> dependencyOption = artifactInConfiguredList(artifact, configuredScannedDependencies); if (dependencyOption.isPresent()) { artifacts.addAll(findIncludedTransitiveDeps(node, dependencyOption.get())); } return true; } }); return artifacts; }
node.accept(visitor);
static List<Artifact> getLibraryArtifacts( DependencyNode treeRoot, NetBeansModule module, List<Artifact> runtimeArtifacts, Map<Artifact, ExamineManifest> examinerCache, Log log, boolean useOsgiDependencies ) throws MojoExecutionException { List<Artifact> include = new ArrayList<Artifact>(); if ( module != null ) { List<String> librList = new ArrayList<String>(); if ( module.getLibraries() != null ) { librList.addAll( module.getLibraries() ); } CollectLibrariesNodeVisitor visitor = new CollectLibrariesNodeVisitor( librList, runtimeArtifacts, examinerCache, log, treeRoot, useOsgiDependencies ); treeRoot.accept( visitor ); include.addAll( visitor.getArtifacts() ); } return include; }
static List<Artifact> getLibraryArtifacts( DependencyNode treeRoot, NetBeansModule module, List<Artifact> runtimeArtifacts, Map<Artifact, ExamineManifest> examinerCache, Log log, boolean useOsgiDependencies ) throws MojoExecutionException { List<Artifact> include = new ArrayList<Artifact>(); if ( module != null ) { List<String> librList = new ArrayList<String>(); if ( module.getLibraries() != null ) { librList.addAll( module.getLibraries() ); } CollectLibrariesNodeVisitor visitor = new CollectLibrariesNodeVisitor( librList, runtimeArtifacts, examinerCache, log, treeRoot, useOsgiDependencies ); treeRoot.accept( visitor ); include.addAll( visitor.getArtifacts() ); } return include; }
/** * Find all of the dependencies for a specified artifact */ private List<PackageDescriptor> addPackageDependencies(PackageDescriptor parent, String groupId, String artifactId, String version, DependencyNode parentDep) { List<PackageDescriptor> packageDependency = new LinkedList<PackageDescriptor>(); List<DependencyNode> children = parentDep.getChildren(); if (children != null) { for (DependencyNode node : children) { DependencyNodeVisitor nlg = new CollectingDependencyNodeVisitor(); node.accept(nlg); List<DependencyNode> deps = ((CollectingDependencyNodeVisitor) nlg).getNodes(); for (DependencyNode dep : deps) { Artifact artifact = dep.getArtifact(); PackageDescriptor pkgDep = new PackageDescriptor("maven", artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion()); // Only include each package once. They might be transitive dependencies from multiple places. if (!parents.containsKey(pkgDep)) { pkgDep = request.add("maven", artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion()); parents.put(pkgDep, parent); packageDependency.add(pkgDep); } } } } return packageDependency; }
rootNode.accept(visitor); for (DependencyNode node : visitor.getNodes()) { Artifact artifact = node.getArtifact();
/** * This method descends the specified node and adds all transitive dependencies to the list of artifacts UNLESS the * configuration says that there are exclusions * * @param dependencyNode the graph node * @param dependency the configuration dependency from maven config * * @return a list of included transitive deps */ private static List<Artifact> findIncludedTransitiveDeps(DependencyNode dependencyNode, final Dependency dependency) { // // we want all the transitive deps to be scanned as long as they are not explicitly excluded DependencyNodeFilter includedDeps = new DependencyNodeFilter() { @Override public boolean accept(DependencyNode node) { return !isExcluded(node.getArtifact(), dependency.getExclusions()); } }; CollectingDependencyNodeVisitor collector = new CollectingDependencyNodeVisitor(); FilteringDependencyNodeVisitor filterer = new FilteringDependencyNodeVisitor(collector, includedDeps); dependencyNode.accept(filterer); List<DependencyNode> nodes = collector.getNodes(); return newArrayList(Iterables.transform(nodes, new Function<DependencyNode, Artifact>() { @Override public Artifact apply(DependencyNode input) { return input.getArtifact(); } })); }
Set<Artifact> transitives = new LinkedHashSet<>(); DependencyNode node = graph.buildDependencyGraph(mojo.project, filter); node.accept(new ArtifactVisitor(mojo, transitives)); mojo.getLog().debug(transitives.size() + " transitive dependencies have been collected : " + transitives);
/** * Applies the specified dependency node visitor to this dependency node and its children. * * @param visitor the dependency node visitor to use * @return the visitor result of ending the visit to this node * @since 1.1 */ @Override public boolean accept( DependencyNodeVisitor visitor ) { if ( visitor.visit( this ) ) { for ( DependencyNode child : getChildren() ) { if ( !child.accept( visitor ) ) { break; } } } return visitor.endVisit( this ); }
/** * Applies the specified dependency node visitor to this dependency node and its children. * * @param visitor the dependency node visitor to use * @return the visitor result of ending the visit to this node * @since 1.1 */ public boolean accept( DependencyNodeVisitor visitor ) { if ( visitor.visit( this ) ) { for ( DependencyNode child : getChildren() ) { if ( !child.accept( visitor ) ) { break; } } } return visitor.endVisit( this ); }
/** * Serializes the specified dependency tree to a string. * * @param theRootNode the dependency tree root node to serialize * @return the serialized dependency tree */ private String serializeDependencyTree( DependencyNode theRootNode ) { StringWriter writer = new StringWriter(); DependencyNodeVisitor visitor = getSerializingDependencyNodeVisitor( writer ); // TODO: remove the need for this when the serializer can calculate last nodes from visitor calls only visitor = new BuildingDependencyNodeVisitor( visitor ); DependencyNodeFilter filter = createDependencyNodeFilter(); if ( filter != null ) { CollectingDependencyNodeVisitor collectingVisitor = new CollectingDependencyNodeVisitor(); DependencyNodeVisitor firstPassVisitor = new FilteringDependencyNodeVisitor( collectingVisitor, filter ); theRootNode.accept( firstPassVisitor ); DependencyNodeFilter secondPassFilter = new AncestorOrSelfDependencyNodeFilter( collectingVisitor.getNodes() ); visitor = new FilteringDependencyNodeVisitor( visitor, secondPassFilter ); } theRootNode.accept( visitor ); return writer.toString(); }
new FilteringDependencyNodeVisitor( collectingDependencyNodeVisitor, dependencyNodeFilter ); dependencyNodeVisitor = new BuildingDependencyNodeVisitor( dependencyNodeVisitor ); m_dependencyGraph.accept( dependencyNodeVisitor ); List<DependencyNode> dependencyNodes = collectingDependencyNodeVisitor.getNodes(); Set<String> ids = new LinkedHashSet<String>( dependencyNodes.size() );
CollectModuleLibrariesNodeVisitor visitor = new CollectModuleLibrariesNodeVisitor( project.getRuntimeArtifacts(), examinerCache, getLog(), treeroot, useOSGiDependencies ); treeroot.accept( visitor ); Map<String, List<Artifact>> modules = visitor.getDeclaredArtifacts(); Map<Artifact, Set<String>> moduleAllClasses = new HashMap<Artifact, Set<String>>();
CollectModuleLibrariesNodeVisitor visitor = new CollectModuleLibrariesNodeVisitor( project.getRuntimeArtifacts(), examinerCache, getLog(), treeroot, useOSGiDependencies ); treeroot.accept( visitor ); Map<String, List<Artifact>> modules = visitor.getDeclaredArtifacts(); Map<Artifact, Set<String>> moduleAllClasses = new HashMap<Artifact, Set<String>>();