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:33 UTC

[maven-project-info-reports-plugin] branch MPIR-416 created (now 6c5adf8)

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

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


      at 6c5adf8  [MPIR-416] Upgrade maven-dependency-tree to 3.1.0

This branch includes the following new commits:

     new 6c5adf8  [MPIR-416] Upgrade maven-dependency-tree to 3.1.0

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



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

Posted by sj...@apache.org.
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 "";
+    }
 }