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 6cb1714cd568c7f365e654681bd32ccdf6c485f4 Author: Karl Heinz Marbaise <khmarba...@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 ); } }