Search in sources :

Example 11 with DependencyNode

use of org.apache.maven.shared.dependency.tree.DependencyNode in project maven-plugins by apache.

the class DependencyConvergenceReport method generateVersionDetails.

/**
 * Generate version details for a given dependency
 *
 * @param sink
 * @param artifactMap
 * @param version
 */
// CHECKSTYLE_OFF: LineLength
private void generateVersionDetails(Sink sink, Map<String, List<ReverseDependencyLink>> artifactMap, String version) // CHECKSTYLE_ON: LineLength
{
    // Use lower alpha numbering
    sink.numberedList(0);
    List<ReverseDependencyLink> depList = artifactMap.get(version);
    List<DependencyNode> projectNodes = getProjectNodes(depList);
    if (projectNodes == null || projectNodes.size() == 0) {
        getLog().warn("Can't find project nodes for dependency list: " + depList.get(0).getDependency());
        return;
    }
    Collections.sort(projectNodes, new DependencyNodeComparator());
    for (DependencyNode projectNode : projectNodes) {
        if (isReactorBuild()) {
            sink.numberedListItem();
        }
        showVersionDetails(projectNode, depList, sink);
        if (isReactorBuild()) {
            sink.numberedListItem_();
        }
        sink.lineBreak();
    }
    sink.numberedList_();
}
Also used : DependencyNode(org.apache.maven.shared.dependency.tree.DependencyNode)

Example 12 with DependencyNode

use of org.apache.maven.shared.dependency.tree.DependencyNode in project maven-plugins by apache.

the class DependencyConvergenceReport method getAllDescendants.

/**
 * Get all descendants nodes for a given dependency node.
 *
 * @param node
 * @return set of descendants artifacts.
 */
private Set<Artifact> getAllDescendants(DependencyNode node) {
    Set<Artifact> children = null;
    if (node.getChildren() != null) {
        children = new HashSet<Artifact>();
        for (DependencyNode depNode : node.getChildren()) {
            children.add(depNode.getArtifact());
            Set<Artifact> subNodes = getAllDescendants(depNode);
            if (subNodes != null) {
                children.addAll(subNodes);
            }
        }
    }
    return children;
}
Also used : DependencyNode(org.apache.maven.shared.dependency.tree.DependencyNode) Artifact(org.apache.maven.artifact.Artifact)

Example 13 with DependencyNode

use of org.apache.maven.shared.dependency.tree.DependencyNode in project maven-plugins by apache.

the class DependencyConvergenceReport method getConflictingDependencyMap.

/**
 * Get conflicting dependency map base on specified dependency node.
 *
 * @param conflictingDependencyMap
 * @param reactorProject
 * @param node
 */
private void getConflictingDependencyMap(Map<String, List<ReverseDependencyLink>> conflictingDependencyMap, MavenProject reactorProject, DependencyNode node) {
    DependencyVersionMap visitor = new DependencyVersionMap();
    visitor.setUniqueVersions(true);
    node.accept(visitor);
    for (List<DependencyNode> nodes : visitor.getConflictedVersionNumbers()) {
        DependencyNode dependencyNode = nodes.get(0);
        String key = dependencyNode.getArtifact().getGroupId() + ":" + dependencyNode.getArtifact().getArtifactId();
        List<ReverseDependencyLink> dependencyList = conflictingDependencyMap.get(key);
        if (dependencyList == null) {
            dependencyList = new ArrayList<ReverseDependencyLink>();
        }
        // CHECKSTYLE_OFF: LineLength
        dependencyList.add(new ReverseDependencyLink(toDependency(dependencyNode.getArtifact()), reactorProject));
        for (DependencyNode workNode : nodes.subList(1, nodes.size())) {
            // CHECKSTYLE_OFF: LineLength
            dependencyList.add(new ReverseDependencyLink(toDependency(workNode.getArtifact()), reactorProject));
        // CHECKSTYLE_ON: LineLength
        }
        conflictingDependencyMap.put(key, dependencyList);
    }
}
Also used : DependencyNode(org.apache.maven.shared.dependency.tree.DependencyNode) DependencyVersionMap(org.apache.maven.report.projectinfo.dependencies.DependencyVersionMap)

Aggregations

DependencyNode (org.apache.maven.shared.dependency.tree.DependencyNode)13 Artifact (org.apache.maven.artifact.Artifact)6 ArrayList (java.util.ArrayList)4 List (java.util.List)3 MavenProject (org.apache.maven.project.MavenProject)3 ArtifactFilter (org.apache.maven.artifact.resolver.filter.ArtifactFilter)2 ScopeArtifactFilter (org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter)2 MojoExecutionException (org.apache.maven.plugin.MojoExecutionException)2 DependencyTreeBuilderException (org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException)2 DependencyDTO (io.fabric8.deployer.dto.DependencyDTO)1 FileInputStream (java.io.FileInputStream)1 IOException (java.io.IOException)1 MalformedURLException (java.net.MalformedURLException)1 Iterator (java.util.Iterator)1 TreeMap (java.util.TreeMap)1 TreeSet (java.util.TreeSet)1 JarInputStream (java.util.jar.JarInputStream)1 Manifest (java.util.jar.Manifest)1 ArtifactNotFoundException (org.apache.maven.artifact.resolver.ArtifactNotFoundException)1 ArtifactResolutionRequest (org.apache.maven.artifact.resolver.ArtifactResolutionRequest)1