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/21 20:08:34 UTC
[maven-artifact-transfer] 01/09: Refactored Step I
This is an automated email from the ASF dual-hosted git repository.
khmarbaise pushed a commit to branch MSHARED-864
in repository https://gitbox.apache.org/repos/asf/maven-artifact-transfer.git
commit 05af87bd3cc55c9800d561606399a7d20f6b978f
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sat Mar 14 19:36:15 2020 +0100
Refactored Step I
---
.../internal/Maven30DependencyResolver.java | 119 +++++++++------------
1 file changed, 52 insertions(+), 67 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 b70a7f0..f1d62e5 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
@@ -21,6 +21,7 @@ package org.apache.maven.shared.transfer.dependencies.resolve.internal;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -33,7 +34,6 @@ import org.apache.maven.shared.artifact.filter.resolve.TransformableFilter;
import org.apache.maven.shared.artifact.filter.resolve.transform.SonatypeAetherFilterTransformer;
import org.apache.maven.shared.transfer.dependencies.DependableCoordinate;
import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolverException;
-
import org.sonatype.aether.RepositorySystem;
import org.sonatype.aether.RepositorySystemSession;
import org.sonatype.aether.artifact.Artifact;
@@ -80,9 +80,7 @@ class Maven30DependencyResolver
// CHECKSTYLE_ON: LineLength
throws DependencyResolverException
{
- ArtifactTypeRegistry typeRegistry =
- (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
- ArtifactHandlerManager.class, artifactHandlerManager );
+ ArtifactTypeRegistry typeRegistry = createTypeRegistry();
Dependency aetherRoot = toDependency( coordinate, typeRegistry );
@@ -109,94 +107,83 @@ class Maven30DependencyResolver
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() )
+ List<org.apache.maven.model.Dependency> dependencies = model.getDependencies();
+ if ( dependencies != null )
{
- aetherDependencies.add( toDependency( mavenDependency, typeRegistry ) );
+ List<Dependency> aetherDependencies = resolveDependencies( dependencies );
+ request.setDependencies( aetherDependencies );
}
- 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( mavenDependencyManagement.getDependencies() ) );
}
return resolveDependencies( dependencyFilter, request );
}
- @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
- {
- ArtifactTypeRegistry typeRegistry =
- (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
- ArtifactHandlerManager.class, artifactHandlerManager );
-
- final Class<?>[] argClasses =
+ private static final Class<?>[] ARG_CLASSES =
new Class<?>[] { org.apache.maven.model.Dependency.class, ArtifactTypeRegistry.class };
- List<Dependency> aetherDependencies = null;
-
- if ( mavenDependencies != null )
- {
- aetherDependencies = new ArrayList<Dependency>( mavenDependencies.size() );
-
- for ( org.apache.maven.model.Dependency mavenDependency : mavenDependencies )
- {
- Object[] args = new Object[] { mavenDependency, typeRegistry };
+ private ArtifactTypeRegistry createTypeRegistry() throws DependencyResolverException
+ {
+ return (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class,
+ "newArtifactTypeRegistry", ArtifactHandlerManager.class, artifactHandlerManager );
+ }
- Dependency aetherDependency =
- (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", argClasses, args );
+ /**
+ * @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
+ private List<Dependency> resolveDependencies( Collection<org.apache.maven.model.Dependency> mavenDependencies ) throws
+ DependencyResolverException
+ // CHECKSTYLE_ON: LineLength
+ {
+ if ( mavenDependencies == null )
+ {
+ return Collections.emptyList();
+ }
- aetherDependencies.add( aetherDependency );
- }
- }
+ ArtifactTypeRegistry typeRegistry = createTypeRegistry();
- List<Dependency> aetherManagedDependencies = null;
+ List<Dependency> aetherDependencies = new ArrayList<>( mavenDependencies.size() );
- if ( managedMavenDependencies != null )
+ for ( org.apache.maven.model.Dependency mavenDependency : mavenDependencies )
{
- aetherManagedDependencies = new ArrayList<Dependency>( managedMavenDependencies.size() );
+ aetherDependencies.add( toDependency( mavenDependency, typeRegistry ) );
+ }
- for ( org.apache.maven.model.Dependency mavenDependency : managedMavenDependencies )
- {
- Object[] args = new Object[] { mavenDependency, typeRegistry };
+ return aetherDependencies;
+ }
- Dependency aetherDependency =
- (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", argClasses, args );
+ @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
+ {
- aetherManagedDependencies.add( aetherDependency );
- }
- }
+ List<Dependency> aetherDependencies = resolveDependencies( mavenDependencies );
- CollectRequest request =
- new CollectRequest( aetherDependencies, aetherManagedDependencies, aetherRepositories );
+ List<Dependency> aetherManagedDependencies = resolveDependencies( managedMavenDependencies );
+
+ CollectRequest request = new CollectRequest( aetherDependencies, aetherManagedDependencies,
+ aetherRepositories );
return resolveDependencies( filter, request );
}
// 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
@@ -266,10 +253,8 @@ class Maven30DependencyResolver
ArtifactTypeRegistry typeRegistry )
throws DependencyResolverException
{
- Class<?>[] argClasses = new Class<?>[] { org.apache.maven.model.Dependency.class, ArtifactTypeRegistry.class };
-
Object[] args = new Object[] { mavenDependency, typeRegistry };
- return (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", argClasses, args );
+ return (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", ARG_CLASSES, args );
}
}