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:35 UTC
[maven-artifact-transfer] 02/09: Furthermore refactoring.
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 <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 );
}
}