You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kh...@apache.org on 2020/03/14 21:23:12 UTC

[maven-artifact-transfer] branch MSHARED-863 updated: Furthermore refactoring.

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

khmarbaise pushed a commit to branch MSHARED-863
in repository https://gitbox.apache.org/repos/asf/maven-artifact-transfer.git


The following commit(s) were added to refs/heads/MSHARED-863 by this push:
     new fea4016  Furthermore refactoring.
fea4016 is described below

commit fea401646990a243cc98c566c1780f19da0719c1
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sat Mar 14 22:22:54 2020 +0100

    Furthermore refactoring.
---
 .../internal/Maven30DependencyResolver.java        |  41 ++++---
 .../internal/Maven31DependencyResolver.java        | 120 +++++++++------------
 2 files changed, 71 insertions(+), 90 deletions(-)

diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven30DependencyResolver.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven30DependencyResolver.java
index f1d62e5..b2eac62 100644
--- a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven30DependencyResolver.java
+++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven30DependencyResolver.java
@@ -58,11 +58,11 @@ class Maven30DependencyResolver
     private final RepositorySystem repositorySystem;
 
     private final ArtifactHandlerManager artifactHandlerManager;
-    
+
     private final RepositorySystemSession session;
-    
+
     private final List<RemoteRepository> aetherRepositories;
-    
+
     Maven30DependencyResolver( RepositorySystem repositorySystem, ArtifactHandlerManager artifactHandlerManager,
                                       RepositorySystemSession session, List<RemoteRepository> aetherRepositories )
     {
@@ -88,7 +88,15 @@ class Maven30DependencyResolver
 
         return resolveDependencies( dependencyFilter, request );
     }
-    
+
+    private static final Class<?>[] ARG_CLASSES = new Class<?>[] {org.apache.maven.model.Dependency.class, ArtifactTypeRegistry.class};
+
+    private ArtifactTypeRegistry createTypeRegistry() throws DependencyResolverException
+    {
+        return (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
+                ArtifactHandlerManager.class, artifactHandlerManager );
+    }
+
     @Override
     // CHECKSTYLE_OFF: LineLength
     public Iterable<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult> resolveDependencies( Model model,
@@ -108,11 +116,9 @@ class Maven30DependencyResolver
         
         CollectRequest request = new CollectRequest( aetherRoot, aetherRepositories );
 
-        List<org.apache.maven.model.Dependency> dependencies = model.getDependencies();
-        if ( dependencies != null )
+        if ( model.getDependencies() != null )
         {
-            List<Dependency> aetherDependencies = resolveDependencies( dependencies );
-            request.setDependencies( aetherDependencies );
+            request.setDependencies( resolveDependencies( model.getDependencies() ) );
         }
 
         DependencyManagement mavenDependencyManagement = model.getDependencyManagement();
@@ -124,15 +130,6 @@ class Maven30DependencyResolver
         return resolveDependencies( dependencyFilter, request );
     }
 
-    private static final Class<?>[] ARG_CLASSES =
-            new Class<?>[] { org.apache.maven.model.Dependency.class, ArtifactTypeRegistry.class };
-
-    private ArtifactTypeRegistry createTypeRegistry() throws DependencyResolverException
-    {
-        return  (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class,
-            "newArtifactTypeRegistry", ArtifactHandlerManager.class, artifactHandlerManager );
-    }
-
     /**
      * @param mavenDependencies {@link org.apache.maven.model.Dependency} can be {@code null}.
      * @return List of resolved dependencies.
@@ -204,8 +201,8 @@ class Maven30DependencyResolver
                 public Iterator<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult> iterator()
                 {
                     // CHECKSTYLE_OFF: LineLength
-                    Collection<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult> artResults =
-                        new ArrayList<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult>( dependencyResults.size() );
+                    Collection<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult> artResults = new ArrayList<>(
+                            dependencyResults.size() );
                     // CHECKSTYLE_ON: LineLength
                     
                     for ( ArtifactResult artifactResult : dependencyResults )
@@ -229,9 +226,9 @@ class Maven30DependencyResolver
 
     /**
      * Based on RepositoryUtils#toDependency(org.apache.maven.model.Dependency, ArtifactTypeRegistry)
-     * 
-     * @param coordinate
-     * @param stereotypes
+     *
+     * @param coordinate {@link DependableCoordinate}
+     * @param stereotypes {@link org.eclipse.aether.artifact.ArtifactTypeRegistry
      * @return as Aether Dependency
      */
     private static Dependency toDependency( DependableCoordinate coordinate, ArtifactTypeRegistry stereotypes )
diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven31DependencyResolver.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven31DependencyResolver.java
index 3d23f08..6ac0ff4 100644
--- a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven31DependencyResolver.java
+++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven31DependencyResolver.java
@@ -19,10 +19,11 @@ package org.apache.maven.shared.transfer.dependencies.resolve.internal;
  * under the License.
  */
 
-import java.util.List;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.Iterator;
+import java.util.List;
 
 import org.apache.maven.RepositoryUtils;
 import org.apache.maven.artifact.handler.ArtifactHandler;
@@ -48,6 +49,7 @@ import org.eclipse.aether.resolution.ArtifactResult;
 import org.eclipse.aether.resolution.DependencyRequest;
 import org.eclipse.aether.resolution.DependencyResolutionException;
 import org.eclipse.aether.resolution.DependencyResult;
+import org.sonatype.aether.resolution.ArtifactResolutionException;
 
 /**
  * 
@@ -55,9 +57,9 @@ import org.eclipse.aether.resolution.DependencyResult;
 class Maven31DependencyResolver
     implements MavenDependencyResolver
 {
-    private RepositorySystem repositorySystem;
+    private final RepositorySystem repositorySystem;
 
-    private ArtifactHandlerManager artifactHandlerManager;
+    private final ArtifactHandlerManager artifactHandlerManager;
 
     private final RepositorySystemSession session;
 
@@ -77,12 +79,10 @@ class Maven31DependencyResolver
     // CHECKSTYLE_OFF: LineLength
     public Iterable<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult> resolveDependencies( DependableCoordinate coordinate,
                                                                                                   TransformableFilter dependencyFilter )
-                                                                                                      throws DependencyResolverException
     // CHECKSTYLE_ON: LineLength
+        throws DependencyResolverException
     {
-        ArtifactTypeRegistry typeRegistry =
-            (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
-                                                   ArtifactHandlerManager.class, artifactHandlerManager );
+        ArtifactTypeRegistry typeRegistry = createTypeRegistry();
 
         Dependency aetherRoot = toDependency( coordinate, typeRegistry );
 
@@ -90,7 +90,15 @@ class Maven31DependencyResolver
 
         return resolveDependencies( dependencyFilter, request );
     }
-    
+
+    private static final Class<?>[] ARG_CLASSES = new Class<?>[] {org.apache.maven.model.Dependency.class, ArtifactTypeRegistry.class};
+
+    private ArtifactTypeRegistry createTypeRegistry() throws DependencyResolverException
+    {
+        return (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
+                ArtifactHandlerManager.class, artifactHandlerManager );
+    }
+
     @Override
     // CHECKSTYLE_OFF: LineLength
     public Iterable<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult> resolveDependencies( Model model,
@@ -109,83 +117,60 @@ class Maven31DependencyResolver
         Dependency aetherRoot = new Dependency( aetherArtifact, null );
         
         CollectRequest request = new CollectRequest( aetherRoot, aetherRepositories );
-        
-        ArtifactTypeRegistry typeRegistry =
-                        (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
-                                                               ArtifactHandlerManager.class, artifactHandlerManager );
-        
-        List<Dependency> aetherDependencies = new ArrayList<Dependency>( model.getDependencies().size() );
-        for ( org.apache.maven.model.Dependency mavenDependency : model.getDependencies() )
+
+        if ( model.getDependencies() != null )
         {
-            aetherDependencies.add( toDependency( mavenDependency, typeRegistry ) );
+            request.setDependencies( resolveDependencies( model.getDependencies() ) );
         }
-        request.setDependencies( aetherDependencies );
 
         DependencyManagement mavenDependencyManagement = model.getDependencyManagement();
         if ( mavenDependencyManagement != null )
         {
-            List<Dependency> aetherManagerDependencies =
-                new ArrayList<Dependency>( mavenDependencyManagement.getDependencies().size() );
-            
-            for ( org.apache.maven.model.Dependency mavenDependency : mavenDependencyManagement.getDependencies() )
-            {
-                aetherManagerDependencies.add( toDependency( mavenDependency, typeRegistry ) );
-            }
-            
-            request.setManagedDependencies( aetherManagerDependencies );
+            request.setManagedDependencies( resolveDependencies( model.getDependencyManagement().getDependencies() ) );
         }
 
         return resolveDependencies( dependencyFilter, request );
     }
 
-    @Override
+    /**
+     * @param mavenDependencies {@link org.apache.maven.model.Dependency} can be {@code null}.
+     * @return List of resolved dependencies.
+     * @throws DependencyResolverException in case of a failure of the typeRegistry error.
+     */
     // CHECKSTYLE_OFF: LineLength
-    public Iterable<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult> resolveDependencies( Collection<org.apache.maven.model.Dependency> mavenDependencies,
-                                                                                                  Collection<org.apache.maven.model.Dependency> managedMavenDependencies,
-                                                                                                  TransformableFilter filter )
-                                                                                                      throws DependencyResolverException
+    private List<Dependency> resolveDependencies(Collection<org.apache.maven.model.Dependency> mavenDependencies) throws
+            DependencyResolverException
     // CHECKSTYLE_ON: LineLength
     {
-        ArtifactTypeRegistry typeRegistry =
-            (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
-                                                   ArtifactHandlerManager.class, artifactHandlerManager );
-
-        final Class<?>[] argClasses =
-            new Class<?>[] { org.apache.maven.model.Dependency.class, ArtifactTypeRegistry.class };
-
-        List<Dependency> aetherDeps = null;
-
-        if ( mavenDependencies != null )
+        if ( mavenDependencies == null )
         {
-            aetherDeps = new ArrayList<Dependency>( mavenDependencies.size() );
+            return Collections.emptyList();
+        }
 
-            for ( org.apache.maven.model.Dependency mavenDependency : mavenDependencies )
-            {
-                Object[] args = new Object[] { mavenDependency, typeRegistry };
+        ArtifactTypeRegistry typeRegistry = createTypeRegistry();
 
-                Dependency aetherDependency =
-                    (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", argClasses, args );
+        List<Dependency> aetherDependencies = new ArrayList<>( mavenDependencies.size() );
 
-                aetherDeps.add( aetherDependency );
-            }
+        for ( org.apache.maven.model.Dependency mavenDependency : mavenDependencies )
+        {
+            aetherDependencies.add( toDependency( mavenDependency, typeRegistry ) );
         }
 
-        List<Dependency> aetherManagedDependencies = null;
-        
-        if ( managedMavenDependencies != null )
-        {
-            aetherManagedDependencies = new ArrayList<Dependency>( managedMavenDependencies.size() );
+        return aetherDependencies;
+    }
 
-            for ( org.apache.maven.model.Dependency mavenDependency : managedMavenDependencies )
-            {
-                Object[] args = new Object[] { mavenDependency, typeRegistry };
+    @Override
+    // CHECKSTYLE_OFF: LineLength
+    public Iterable<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult> resolveDependencies( Collection<org.apache.maven.model.Dependency> mavenDependencies,
+            Collection<org.apache.maven.model.Dependency> managedMavenDependencies,
+            TransformableFilter filter )
+    // CHECKSTYLE_ON: LineLength
+              throws DependencyResolverException
+    {
 
-                Dependency aetherDependency =
-                    (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", argClasses, args );
+        List<Dependency> aetherDeps = resolveDependencies( mavenDependencies );
 
-                aetherManagedDependencies.add( aetherDependency );
-            }
-        }
+        List<Dependency> aetherManagedDependencies = resolveDependencies( managedMavenDependencies );
 
         CollectRequest request = new CollectRequest( aetherDeps, aetherManagedDependencies, aetherRepositories );
 
@@ -193,9 +178,10 @@ class Maven31DependencyResolver
     }
 
     // CHECKSTYLE_OFF: LineLength
-    private Iterable<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult> resolveDependencies( TransformableFilter dependencyFilter,
-                                                                                                   CollectRequest request )
-                                                                                                       throws DependencyResolverException
+    private Iterable<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult> resolveDependencies(
+            TransformableFilter dependencyFilter,
+            CollectRequest request
+    ) throws DependencyResolverException
     // CHECKSTYLE_ON: LineLength
     {
         try
@@ -261,10 +247,8 @@ class Maven31DependencyResolver
     private static Dependency toDependency( org.apache.maven.model.Dependency root, ArtifactTypeRegistry typeRegistry )
                     throws DependencyResolverException
     {
-        Class<?>[] argClasses = new Class<?>[] { org.apache.maven.model.Dependency.class, ArtifactTypeRegistry.class };
-
         Object[] args = new Object[] { root, typeRegistry };
 
-        return (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", argClasses, args );
+        return (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", ARG_CLASSES, args );
     }    
 }