You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sj...@apache.org on 2022/04/23 07:38:34 UTC

[maven-project-info-reports-plugin] 01/01: [MPIR-416] Upgrade maven-dependency-tree to 3.1.0

This is an automated email from the ASF dual-hosted git repository.

sjaranowski pushed a commit to branch MPIR-416
in repository https://gitbox.apache.org/repos/asf/maven-project-info-reports-plugin.git

commit 6c5adf8cc2bb991bff17b0c003af93c49129ac5a
Author: Slawomir Jaranowski <s....@gmail.com>
AuthorDate: Fri Apr 22 15:55:28 2022 +0200

    [MPIR-416] Upgrade maven-dependency-tree to 3.1.0
---
 pom.xml                                            |  2 +-
 .../report/projectinfo/DependenciesReport.java     |  5 +-
 .../projectinfo/DependencyConvergenceReport.java   | 66 ++++++++++++----------
 .../dependencies/DependencyVersionMap.java         |  6 +-
 .../SinkSerializingDependencyNodeVisitor.java      |  4 +-
 .../stubs/ProjectInfoPluginArtifactStub.java       |  6 ++
 6 files changed, 53 insertions(+), 36 deletions(-)

diff --git a/pom.xml b/pom.xml
index 6fd077e..b71f289 100644
--- a/pom.xml
+++ b/pom.xml
@@ -188,7 +188,7 @@ under the License.
     <dependency>
       <groupId>org.apache.maven.shared</groupId>
       <artifactId>maven-dependency-tree</artifactId>
-      <version>2.2</version>
+      <version>3.1.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.shared</groupId>
diff --git a/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java b/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java
index 61c8b2d..a7b4cfc 100644
--- a/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java
+++ b/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java
@@ -189,7 +189,10 @@ public class DependenciesReport
         try
         {
             ArtifactFilter artifactFilter = new ScopeArtifactFilter( Artifact.SCOPE_TEST );
-            return dependencyGraphBuilder.buildDependencyGraph( project, artifactFilter );
+            ProjectBuildingRequest buildingRequest =
+                new DefaultProjectBuildingRequest( getSession().getProjectBuildingRequest() );
+            buildingRequest.setProject( project );
+            return dependencyGraphBuilder.buildDependencyGraph( buildingRequest, artifactFilter );
         }
         catch ( DependencyGraphBuilderException e )
         {
diff --git a/src/main/java/org/apache/maven/report/projectinfo/DependencyConvergenceReport.java b/src/main/java/org/apache/maven/report/projectinfo/DependencyConvergenceReport.java
index 1681506..a04f8d6 100644
--- a/src/main/java/org/apache/maven/report/projectinfo/DependencyConvergenceReport.java
+++ b/src/main/java/org/apache/maven/report/projectinfo/DependencyConvergenceReport.java
@@ -47,17 +47,17 @@ import org.apache.maven.report.projectinfo.dependencies.DependencyVersionMap;
 import org.apache.maven.report.projectinfo.dependencies.SinkSerializingDependencyNodeVisitor;
 import org.apache.maven.reporting.MavenReportException;
 import org.apache.maven.shared.artifact.filter.StrictPatternIncludesArtifactFilter;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
-import org.apache.maven.shared.dependency.tree.DependencyNode;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException;
-import org.apache.maven.shared.dependency.tree.filter.AncestorOrSelfDependencyNodeFilter;
-import org.apache.maven.shared.dependency.tree.filter.AndDependencyNodeFilter;
-import org.apache.maven.shared.dependency.tree.filter.ArtifactDependencyNodeFilter;
-import org.apache.maven.shared.dependency.tree.filter.DependencyNodeFilter;
-import org.apache.maven.shared.dependency.tree.traversal.BuildingDependencyNodeVisitor;
-import org.apache.maven.shared.dependency.tree.traversal.CollectingDependencyNodeVisitor;
-import org.apache.maven.shared.dependency.tree.traversal.DependencyNodeVisitor;
-import org.apache.maven.shared.dependency.tree.traversal.FilteringDependencyNodeVisitor;
+import org.apache.maven.shared.dependency.graph.DependencyCollectorBuilder;
+import org.apache.maven.shared.dependency.graph.DependencyCollectorBuilderException;
+import org.apache.maven.shared.dependency.graph.DependencyNode;
+import org.apache.maven.shared.dependency.graph.filter.AncestorOrSelfDependencyNodeFilter;
+import org.apache.maven.shared.dependency.graph.filter.AndDependencyNodeFilter;
+import org.apache.maven.shared.dependency.graph.filter.ArtifactDependencyNodeFilter;
+import org.apache.maven.shared.dependency.graph.filter.DependencyNodeFilter;
+import org.apache.maven.shared.dependency.graph.traversal.BuildingDependencyNodeVisitor;
+import org.apache.maven.shared.dependency.graph.traversal.CollectingDependencyNodeVisitor;
+import org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor;
+import org.apache.maven.shared.dependency.graph.traversal.FilteringDependencyNodeVisitor;
 
 /**
  * Generates the Project Dependency Convergence report for (reactor) builds.
@@ -71,10 +71,14 @@ import org.apache.maven.shared.dependency.tree.traversal.FilteringDependencyNode
 public class DependencyConvergenceReport
     extends AbstractProjectInfoReport
 {
-    /** URL for the 'icon_success_sml.gif' image */
+    /**
+     * URL for the 'icon_success_sml.gif' image
+     */
     private static final String IMG_SUCCESS_URL = "images/icon_success_sml.gif";
 
-    /** URL for the 'icon_error_sml.gif' image */
+    /**
+     * URL for the 'icon_error_sml.gif' image
+     */
     private static final String IMG_ERROR_URL = "images/icon_error_sml.gif";
 
     private static final int FULL_CONVERGENCE = 100;
@@ -84,10 +88,10 @@ public class DependencyConvergenceReport
     // ----------------------------------------------------------------------
 
     /**
-     * Dependency tree builder, will use it to build dependency tree.
+     * Raw dependency collector builder, will use it to build dependency tree.
      */
     @Component
-    private DependencyTreeBuilder dependencyTreeBuilder;
+    private DependencyCollectorBuilder dependencyCollectorBuilder;
 
     private ArtifactFilter filter = null;
 
@@ -97,7 +101,9 @@ public class DependencyConvergenceReport
     // Public methods
     // ----------------------------------------------------------------------
 
-    /** {@inheritDoc} */
+    /**
+     * {@inheritDoc}
+     */
     public String getOutputName()
     {
         return "dependency-convergence";
@@ -188,7 +194,7 @@ public class DependencyConvergenceReport
      * @return snapshots dependencies
      */
     private List<ReverseDependencyLink> getSnapshotDependencies(
-                    Map<String, List<ReverseDependencyLink>> dependencyMap )
+        Map<String, List<ReverseDependencyLink>> dependencyMap )
     {
         List<ReverseDependencyLink> snapshots = new ArrayList<>();
         for ( Map.Entry<String, List<ReverseDependencyLink>> entry : dependencyMap.entrySet() )
@@ -338,7 +344,7 @@ public class DependencyConvergenceReport
      * @param version
      */
     private void generateVersionDetails( Sink sink, Map<String, List<ReverseDependencyLink>> artifactMap,
-                    String version )
+                                         String version )
     {
         sink.numberedList( 0 ); // Use lower alpha numbering
         List<ReverseDependencyLink> depList = artifactMap.get( version );
@@ -423,7 +429,7 @@ public class DependencyConvergenceReport
         {
             CollectingDependencyNodeVisitor collectingVisitor = new CollectingDependencyNodeVisitor();
             DependencyNodeVisitor firstPassVisitor = new FilteringDependencyNodeVisitor(
-                    collectingVisitor, nodeFilter );
+                collectingVisitor, nodeFilter );
             rootNode.accept( firstPassVisitor );
 
             DependencyNodeFilter secondPassFilter =
@@ -722,7 +728,7 @@ public class DependencyConvergenceReport
      * </pre>
      *
      * @return DependencyAnalyzeResult contains conflicting dependencies map, snapshot dependencies map and all
-     *         dependencies map.
+     * dependencies map.
      * @throws MavenReportException
      */
     private DependencyAnalyzeResult analyzeDependencyTree()
@@ -756,11 +762,11 @@ public class DependencyConvergenceReport
      * @param conflictingDependencyMap
      * @param allDependencies
      * @return DependencyAnalyzeResult contains conflicting dependencies map, snapshot dependencies map and all
-     *         dependencies map.
+     * dependencies map.
      */
     private DependencyAnalyzeResult populateDependencyAnalyzeResult(
-            Map<String, List<ReverseDependencyLink>> conflictingDependencyMap,
-            Map<String, List<ReverseDependencyLink>> allDependencies )
+        Map<String, List<ReverseDependencyLink>> conflictingDependencyMap,
+        Map<String, List<ReverseDependencyLink>> allDependencies )
     {
         DependencyAnalyzeResult dependencyResult = new DependencyAnalyzeResult();
 
@@ -800,12 +806,12 @@ public class DependencyConvergenceReport
             }
 
             dependencyList.add( new ReverseDependencyLink(
-                    toDependency( dependencyNode.getArtifact() ), reactorProject ) );
+                toDependency( dependencyNode.getArtifact() ), reactorProject ) );
 
             for ( DependencyNode workNode : nodes.subList( 1, nodes.size() ) )
             {
                 dependencyList.add( new ReverseDependencyLink(
-                        toDependency( workNode.getArtifact() ), reactorProject ) );
+                    toDependency( workNode.getArtifact() ), reactorProject ) );
             }
 
             conflictingDependencyMap.put( key, dependencyList );
@@ -896,9 +902,9 @@ public class DependencyConvergenceReport
     {
         try
         {
-            return dependencyTreeBuilder.buildDependencyTree( buildingRequest.getProject(), localRepository, filter );
+            return dependencyCollectorBuilder.collectDependencyGraph( buildingRequest, filter );
         }
-        catch ( DependencyTreeBuilderException e )
+        catch ( DependencyCollectorBuilderException e )
         {
             throw new MavenReportException( "Could not build dependency tree: " + e.getMessage(), e );
         }
@@ -932,7 +938,7 @@ public class DependencyConvergenceReport
     private int calculateConvergence( DependencyAnalyzeResult result )
     {
         return (int) ( ( (double) result.getDependencyCount()
-                / (double) result.getArtifactCount() ) * FULL_CONVERGENCE );
+            / (double) result.getArtifactCount() ) * FULL_CONVERGENCE );
     }
 
     /**
@@ -973,7 +979,9 @@ public class DependencyConvergenceReport
     static class DependencyNodeComparator
         implements Comparator<DependencyNode>
     {
-        /** {@inheritDoc} */
+        /**
+         * {@inheritDoc}
+         */
         public int compare( DependencyNode p1, DependencyNode p2 )
         {
             return p1.getArtifact().getId().compareTo( p2.getArtifact().getId() );
diff --git a/src/main/java/org/apache/maven/report/projectinfo/dependencies/DependencyVersionMap.java b/src/main/java/org/apache/maven/report/projectinfo/dependencies/DependencyVersionMap.java
index 3346a7d..301d2c8 100644
--- a/src/main/java/org/apache/maven/report/projectinfo/dependencies/DependencyVersionMap.java
+++ b/src/main/java/org/apache/maven/report/projectinfo/dependencies/DependencyVersionMap.java
@@ -25,8 +25,8 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.shared.dependency.tree.DependencyNode;
-import org.apache.maven.shared.dependency.tree.traversal.DependencyNodeVisitor;
+import org.apache.maven.shared.dependency.graph.DependencyNode;
+import org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor;
 
 /**
  * @author Simon Wang
@@ -161,4 +161,4 @@ public class DependencyVersionMap
         return false;
     }
 
-}
\ No newline at end of file
+}
diff --git a/src/main/java/org/apache/maven/report/projectinfo/dependencies/SinkSerializingDependencyNodeVisitor.java b/src/main/java/org/apache/maven/report/projectinfo/dependencies/SinkSerializingDependencyNodeVisitor.java
index 073a618..f79d808 100644
--- a/src/main/java/org/apache/maven/report/projectinfo/dependencies/SinkSerializingDependencyNodeVisitor.java
+++ b/src/main/java/org/apache/maven/report/projectinfo/dependencies/SinkSerializingDependencyNodeVisitor.java
@@ -22,8 +22,8 @@ package org.apache.maven.report.projectinfo.dependencies;
 import java.util.List;
 
 import org.apache.maven.doxia.sink.Sink;
-import org.apache.maven.shared.dependency.tree.DependencyNode;
-import org.apache.maven.shared.dependency.tree.traversal.DependencyNodeVisitor;
+import org.apache.maven.shared.dependency.graph.DependencyNode;
+import org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor;
 
 /**
  * A dependency node visitor that serializes visited nodes to a sink writer. It's used to serialize tree in project
diff --git a/src/test/java/org/apache/maven/report/projectinfo/stubs/ProjectInfoPluginArtifactStub.java b/src/test/java/org/apache/maven/report/projectinfo/stubs/ProjectInfoPluginArtifactStub.java
index 33bad0d..880e8af 100644
--- a/src/test/java/org/apache/maven/report/projectinfo/stubs/ProjectInfoPluginArtifactStub.java
+++ b/src/test/java/org/apache/maven/report/projectinfo/stubs/ProjectInfoPluginArtifactStub.java
@@ -120,4 +120,10 @@ public class ProjectInfoPluginArtifactStub
     {
         this.handler = handler;
     }
+
+    @Override
+    public String getType()
+    {
+        return "";
+    }
 }