You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2019/09/28 09:37:25 UTC

[maven-dependency-plugin] 04/04: Use DependableCoordinate interface for dependency resolution

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

rfscholte pushed a commit to branch MDEP-204
in repository https://gitbox.apache.org/repos/asf/maven-dependency-plugin.git

commit 3189ecb5e179c78792033bfbfe651f89f01017f3
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Tue Sep 17 16:52:45 2019 -0700

    Use DependableCoordinate interface for dependency resolution
---
 .../dependency/resolvers/GoOfflineMojo.java        | 58 +++++++++++++++-------
 1 file changed, 40 insertions(+), 18 deletions(-)

diff --git a/src/main/java/org/apache/maven/plugins/dependency/resolvers/GoOfflineMojo.java b/src/main/java/org/apache/maven/plugins/dependency/resolvers/GoOfflineMojo.java
index 3c20665..b12dd6f 100644
--- a/src/main/java/org/apache/maven/plugins/dependency/resolvers/GoOfflineMojo.java
+++ b/src/main/java/org/apache/maven/plugins/dependency/resolvers/GoOfflineMojo.java
@@ -29,6 +29,8 @@ import org.apache.maven.project.ProjectBuildingRequest;
 import org.apache.maven.shared.artifact.filter.collection.ArtifactsFilter;
 import org.apache.maven.shared.artifact.filter.resolve.TransformableFilter;
 import org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult;
+import org.apache.maven.shared.transfer.dependencies.DefaultDependableCoordinate;
+import org.apache.maven.shared.transfer.dependencies.DependableCoordinate;
 import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolverException;
 
 import java.util.Collection;
@@ -98,26 +100,35 @@ public class GoOfflineMojo
             throws DependencyResolverException
     {
         final Collection<Dependency> dependencies = getProject().getDependencies();
+        final Set<DependableCoordinate> dependableCoordinates = new HashSet<>();
         final ProjectBuildingRequest buildingRequest =
                 new DefaultProjectBuildingRequest( session.getProjectBuildingRequest() );
 
-        return resolveArtifacts( buildingRequest, dependencies );
+        for ( Dependency dependency : dependencies )
+        {
+            dependableCoordinates.add( createDependendableCoordinateFromDependency( dependency ) );
+        }
+
+        return resolveDependableCoordinate( buildingRequest, dependableCoordinates );
     }
 
-    private Set<Artifact> resolveArtifacts( final ProjectBuildingRequest buildingRequest,
-                                            final Collection<Dependency> dependencies )
+    private Set<Artifact> resolveDependableCoordinate( final ProjectBuildingRequest buildingRequest,
+                                                        final Collection<DependableCoordinate> dependableCoordinates )
             throws DependencyResolverException
     {
         final TransformableFilter filter = getTransformableFilter();
 
-        final Iterable<ArtifactResult> artifactResults = getDependencyResolver().resolveDependencies(
-                buildingRequest, dependencies, null, filter );
-
         final Set<Artifact> results = new HashSet<>();
 
-        for ( final ArtifactResult artifactResult : artifactResults )
+        for ( DependableCoordinate dependableCoordinate : dependableCoordinates )
         {
-            results.add( artifactResult.getArtifact() );
+            final Iterable<ArtifactResult> artifactResults = getDependencyResolver().resolveDependencies(
+                    buildingRequest, dependableCoordinate, filter );
+
+            for ( final ArtifactResult artifactResult : artifactResults )
+            {
+                results.add( artifactResult.getArtifact() );
+            }
         }
 
         return results;
@@ -144,7 +155,7 @@ public class GoOfflineMojo
     protected Set<Artifact> resolvePluginArtifacts()
             throws DependencyResolverException
     {
-        final Set<Dependency> dependencies = new HashSet<>();
+        final Set<DependableCoordinate> dependableCoordinates = new HashSet<>();
 
         final Set<Artifact> plugins = getProject().getPluginArtifacts();
         final Set<Artifact> reports = getProject().getReportArtifacts();
@@ -158,21 +169,32 @@ public class GoOfflineMojo
 
         for ( Artifact artifact : artifacts )
         {
-            dependencies.add( createDependencyFromArtifact( artifact ) );
+            dependableCoordinates.add( createDependendableCoordinateFromArtifact( artifact ) );
         }
 
-        return resolveArtifacts( buildingRequest, dependencies );
+        return resolveDependableCoordinate( buildingRequest, dependableCoordinates );
+    }
+
+    private DependableCoordinate createDependendableCoordinateFromArtifact( final Artifact artifact )
+    {
+        final DefaultDependableCoordinate result = new DefaultDependableCoordinate();
+        result.setGroupId( artifact.getGroupId() );
+        result.setArtifactId( artifact.getArtifactId() );
+        result.setVersion( artifact.getVersion() );
+        result.setType( artifact.getType() );
+
+        return result;
     }
 
-    private Dependency createDependencyFromArtifact( final Artifact artifact )
+    private DependableCoordinate createDependendableCoordinateFromDependency( final Dependency dependency )
     {
-        final Dependency dependency = new Dependency();
-        dependency.setGroupId( artifact.getGroupId() );
-        dependency.setArtifactId( artifact.getArtifactId() );
-        dependency.setVersion( artifact.getVersion() );
-        dependency.setType( artifact.getType() );
+        final DefaultDependableCoordinate result = new DefaultDependableCoordinate();
+        result.setGroupId( dependency.getGroupId() );
+        result.setArtifactId( dependency.getArtifactId() );
+        result.setVersion( dependency.getVersion() );
+        result.setType( dependency.getType() );
 
-        return dependency;
+        return result;
     }
 
     @Override