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/04/04 16:49:08 UTC
[maven-artifact-transfer] branch master updated: [MSHADRED-864] -
Refactor and simplify code
This is an automated email from the ASF dual-hosted git repository.
khmarbaise pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-artifact-transfer.git
The following commit(s) were added to refs/heads/master by this push:
new 9a5c5f3 [MSHADRED-864] - Refactor and simplify code
9a5c5f3 is described below
commit 9a5c5f30eda95beef4faefe26ca8c0aa985092d0
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sat Apr 4 14:20:55 2020 +0200
[MSHADRED-864] - Refactor and simplify code
---
pom.xml | 11 +
.../artifact/deployer/ArtifactDeployerMojo.java | 8 +-
.../artifact/installer/ArtifactInstallerMojo.java | 8 +-
.../plugin/project/deploy/ProjectDeployerMojo.java | 16 +-
.../project/install/ProjectInstallerMojo.java | 12 +-
.../deploy/internal/DefaultArtifactDeployer.java | 41 ++--
.../transfer/artifact/deploy/internal/Invoker.java | 60 +-----
.../deploy/internal/Maven30ArtifactDeployer.java | 9 +-
.../deploy/internal/Maven31ArtifactDeployer.java | 37 ++--
.../deploy/internal/MavenArtifactDeployer.java | 2 +-
.../install/internal/DefaultArtifactInstaller.java | 40 ++--
.../artifact/install/internal/Invoker.java | 60 +-----
.../install/internal/Maven30ArtifactInstaller.java | 5 +-
.../install/internal/Maven31ArtifactInstaller.java | 5 +-
.../install/internal/MavenArtifactInstaller.java | 2 +-
.../resolve/internal/DefaultArtifactResolver.java | 60 +++---
.../artifact/resolve/internal/Invoker.java | 91 +--------
.../resolve/internal/Maven30ArtifactResolver.java | 8 +-
.../resolve/internal/Maven30ArtifactResult.java | 8 +-
.../resolve/internal/Maven31ArtifactResolver.java | 16 +-
.../resolve/internal/Maven31ArtifactResult.java | 2 +-
.../resolve/internal/MavenArtifactResolver.java | 2 +-
.../internal/DefaultDependencyCollector.java | 107 +++++-----
.../transfer/collection/internal/Invoker.java | 107 ++--------
.../internal/Maven30DependencyCollector.java | 19 +-
.../internal/Maven30DependencyNodeAdapter.java | 2 +-
.../internal/Maven31DependencyCollector.java | 16 +-
.../internal/Maven31DependencyNodeAdapter.java | 2 +-
.../internal/MavenDependencyCollector.java | 2 +-
.../internal/DefaultDependencyCollector.java | 53 +++--
.../dependencies/collect/internal/Invoker.java | 120 +++--------
.../internal/Maven30DependencyCollector.java | 86 ++++----
.../internal/Maven31DependencyCollector.java | 87 ++++----
.../collect/internal/MavenDependencyCollector.java | 2 +-
.../internal/DefaultDependencyResolver.java | 64 +++---
.../dependencies/resolve/internal/Invoker.java | 79 ++------
.../resolve/internal/Maven30ArtifactResult.java | 8 +-
.../internal/Maven30DependencyResolver.java | 222 +++++++++------------
.../resolve/internal/Maven31ArtifactResult.java | 2 +-
.../internal/Maven31DependencyResolver.java | 214 +++++++++-----------
.../resolve/internal/MavenDependencyResolver.java | 2 +-
.../install/internal/DefaultProjectInstaller.java | 4 +-
.../transfer/repository/internal/Invoker.java | 48 +----
.../internal/Maven31RepositoryManager.java | 2 +-
44 files changed, 618 insertions(+), 1133 deletions(-)
diff --git a/pom.xml b/pom.xml
index 7eeaab6..23ccbea 100644
--- a/pom.xml
+++ b/pom.xml
@@ -61,6 +61,17 @@
<build>
<plugins>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <showDeprecation>true</showDeprecation>
+ <compilerArgs>
+ <arg>-Xlint:deprecation</arg>
+ <arg>-Xlint:unchecked</arg>
+ </compilerArgs>
+ </configuration>
+ </plugin>
+ <plugin>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-metadata</artifactId>
<executions>
diff --git a/src/it/maven-artifact-deployer-plugin/src/main/java/org/apache/maven/plugin/artifact/deployer/ArtifactDeployerMojo.java b/src/it/maven-artifact-deployer-plugin/src/main/java/org/apache/maven/plugin/artifact/deployer/ArtifactDeployerMojo.java
index 2e40e67..07c72fd 100644
--- a/src/it/maven-artifact-deployer-plugin/src/main/java/org/apache/maven/plugin/artifact/deployer/ArtifactDeployerMojo.java
+++ b/src/it/maven-artifact-deployer-plugin/src/main/java/org/apache/maven/plugin/artifact/deployer/ArtifactDeployerMojo.java
@@ -130,13 +130,9 @@ public class ArtifactDeployerMojo
deployer.deploy( session.getProjectBuildingRequest(), mavenArtifacts );
}
- catch ( ArtifactDeployerException e )
+ catch ( ArtifactDeployerException | IOException e )
{
- throw new MojoExecutionException( "ArtifactDeployerException", e );
- }
- catch ( IOException e )
- {
- throw new MojoExecutionException( "IOException", e );
+ throw new MojoExecutionException( e.getClass().getName(), e );
}
}
diff --git a/src/it/maven-artifact-installer-plugin/src/main/java/org/apache/maven/plugin/artifact/installer/ArtifactInstallerMojo.java b/src/it/maven-artifact-installer-plugin/src/main/java/org/apache/maven/plugin/artifact/installer/ArtifactInstallerMojo.java
index f9f1496..3f7d5a1 100644
--- a/src/it/maven-artifact-installer-plugin/src/main/java/org/apache/maven/plugin/artifact/installer/ArtifactInstallerMojo.java
+++ b/src/it/maven-artifact-installer-plugin/src/main/java/org/apache/maven/plugin/artifact/installer/ArtifactInstallerMojo.java
@@ -127,13 +127,9 @@ public class ArtifactInstallerMojo
installer.install( session.getProjectBuildingRequest(), mavenArtifacts );
}
- catch ( ArtifactInstallerException e )
+ catch ( ArtifactInstallerException | IOException e )
{
- throw new MojoExecutionException( "ArtifactInstallerException", e );
- }
- catch ( IOException e )
- {
- throw new MojoExecutionException( "IOException", e );
+ throw new MojoExecutionException( e.getClass().getName(), e );
}
}
diff --git a/src/it/maven-project-deployer-plugin/src/main/java/org/apache/maven/plugin/project/deploy/ProjectDeployerMojo.java b/src/it/maven-project-deployer-plugin/src/main/java/org/apache/maven/plugin/project/deploy/ProjectDeployerMojo.java
index 26c794e..39a2fb7 100644
--- a/src/it/maven-project-deployer-plugin/src/main/java/org/apache/maven/plugin/project/deploy/ProjectDeployerMojo.java
+++ b/src/it/maven-project-deployer-plugin/src/main/java/org/apache/maven/plugin/project/deploy/ProjectDeployerMojo.java
@@ -114,21 +114,9 @@ public class ProjectDeployerMojo
ArtifactRepository repo = session.getCurrentProject().getDistributionManagementArtifactRepository();
deployer.deploy( session.getProjectBuildingRequest(), pdr, repo );
}
- catch ( IOException e )
+ catch ( IOException | NoFileAssignedException | IllegalArgumentException | ArtifactDeployerException e )
{
- throw new MojoExecutionException( "IOException", e );
- }
- catch ( NoFileAssignedException e )
- {
- throw new MojoExecutionException( "NoFileAssignedException", e );
- }
- catch ( IllegalArgumentException e )
- {
- throw new MojoExecutionException( "IllegalArgumentException", e );
- }
- catch ( ArtifactDeployerException e )
- {
- throw new MojoExecutionException( "ArtifactDeployerException", e );
+ throw new MojoExecutionException( e.getClass().getName(), e);
}
}
diff --git a/src/it/maven-project-installer-plugin/src/main/java/org/apache/maven/plugin/project/install/ProjectInstallerMojo.java b/src/it/maven-project-installer-plugin/src/main/java/org/apache/maven/plugin/project/install/ProjectInstallerMojo.java
index 2e6a878..ee932aa 100644
--- a/src/it/maven-project-installer-plugin/src/main/java/org/apache/maven/plugin/project/install/ProjectInstallerMojo.java
+++ b/src/it/maven-project-installer-plugin/src/main/java/org/apache/maven/plugin/project/install/ProjectInstallerMojo.java
@@ -110,17 +110,9 @@ public class ProjectInstallerMojo
pir.setProject( session.getCurrentProject());
installer.install( pbr, pir );
}
- catch ( ArtifactInstallerException e )
+ catch ( ArtifactInstallerException | IOException | NoFileAssignedException e )
{
- throw new MojoExecutionException( "ArtifactInstallerException", e );
- }
- catch ( IOException e )
- {
- throw new MojoExecutionException( "IOException", e );
- }
- catch ( NoFileAssignedException e )
- {
- throw new MojoExecutionException( "NoFileAssignedException", e );
+ throw new MojoExecutionException( e.getClass().getName(), e );
}
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/DefaultArtifactDeployer.java b/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/DefaultArtifactDeployer.java
index c6f2858..ff2b097 100644
--- a/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/DefaultArtifactDeployer.java
+++ b/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/DefaultArtifactDeployer.java
@@ -35,18 +35,17 @@ import org.codehaus.plexus.context.ContextException;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
/**
- *
+ *
*/
@Component( role = ArtifactDeployer.class )
-class DefaultArtifactDeployer
- implements ArtifactDeployer, Contextualizable
+class DefaultArtifactDeployer implements ArtifactDeployer, Contextualizable
{
private PlexusContainer container;
@Override
public void deploy( ProjectBuildingRequest request, Collection<Artifact> mavenArtifacts )
- throws ArtifactDeployerException
+ throws ArtifactDeployerException
{
validateParameters( request, mavenArtifacts );
@@ -62,8 +61,7 @@ class DefaultArtifactDeployer
@Override
public void deploy( ProjectBuildingRequest request, ArtifactRepository remoteRepository,
- Collection<Artifact> mavenArtifacts )
- throws ArtifactDeployerException
+ Collection<Artifact> mavenArtifacts ) throws ArtifactDeployerException
{
validateParameters( request, mavenArtifacts );
try
@@ -120,33 +118,32 @@ class DefaultArtifactDeployer
* @param context Plexus context to inject.
* @throws ContextException if the PlexusContainer could not be located.
*/
- public void contextualize( Context context )
- throws ContextException
+ public void contextualize( Context context ) throws ContextException
{
container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
}
-
+
private MavenArtifactDeployer getMavenArtifactDeployer( ProjectBuildingRequest buildingRequest )
- throws ComponentLookupException, ArtifactDeployerException
+ throws ComponentLookupException, ArtifactDeployerException
{
if ( isMaven31() )
{
- org.eclipse.aether.RepositorySystem repositorySystem =
- container.lookup( org.eclipse.aether.RepositorySystem.class );
-
- org.eclipse.aether.RepositorySystemSession session =
- (org.eclipse.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" );
-
+ org.eclipse.aether.RepositorySystem repositorySystem = container.lookup(
+ org.eclipse.aether.RepositorySystem.class );
+
+ org.eclipse.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest,
+ "getRepositorySession" );
+
return new Maven31ArtifactDeployer( repositorySystem, session );
}
else
{
- org.sonatype.aether.RepositorySystem repositorySystem =
- container.lookup( org.sonatype.aether.RepositorySystem.class );
-
- org.sonatype.aether.RepositorySystemSession session =
- (org.sonatype.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" );
-
+ org.sonatype.aether.RepositorySystem repositorySystem = container.lookup(
+ org.sonatype.aether.RepositorySystem.class );
+
+ org.sonatype.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest,
+ "getRepositorySession" );
+
return new Maven30ArtifactDeployer( repositorySystem, session );
}
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Invoker.java b/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Invoker.java
index 1102163..485e58d 100644
--- a/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Invoker.java
+++ b/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Invoker.java
@@ -33,71 +33,31 @@ final class Invoker
// do not instantiate
}
- public static Object invoke( Object object, String method )
- throws ArtifactDeployerException
- {
- return invoke( object.getClass(), object, method );
- }
-
- public static Object invoke( Class<?> objectClazz, Object object, String method )
+ public static <T> T invoke( Object object, String method )
throws ArtifactDeployerException
{
try
{
- return objectClazz.getMethod( method ).invoke( object );
- }
- catch ( IllegalAccessException e )
- {
- throw new ArtifactDeployerException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new ArtifactDeployerException( e.getMessage(), e );
+ @SuppressWarnings( "unchecked" )
+ T invoke = (T) object.getClass().getMethod( method ).invoke( object );
+ return invoke;
}
- catch ( NoSuchMethodException e )
+ catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
{
throw new ArtifactDeployerException( e.getMessage(), e );
}
}
- public static Object invoke( Object object, String method, Class<?> clazz, Object arg )
- throws ArtifactDeployerException
- {
- try
- {
- final Class<?> objectClazz = object.getClass();
- return objectClazz.getMethod( method, clazz ).invoke( object, arg );
- }
- catch ( IllegalAccessException e )
- {
- throw new ArtifactDeployerException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new ArtifactDeployerException( e.getMessage(), e );
- }
- catch ( NoSuchMethodException e )
- {
- throw new ArtifactDeployerException( e.getMessage(), e );
- }
- }
-
- public static Object invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg )
+ public static <T> T invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg )
throws ArtifactDeployerException
{
try
{
- return objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg );
- }
- catch ( IllegalAccessException e )
- {
- throw new ArtifactDeployerException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new ArtifactDeployerException( e.getMessage(), e );
+ @SuppressWarnings( "unchecked" )
+ T invoke = (T) objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg );
+ return invoke;
}
- catch ( NoSuchMethodException e )
+ catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
{
throw new ArtifactDeployerException( e.getMessage(), e );
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Maven30ArtifactDeployer.java b/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Maven30ArtifactDeployer.java
index e8ef395..611eb4c 100644
--- a/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Maven30ArtifactDeployer.java
+++ b/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Maven30ArtifactDeployer.java
@@ -78,9 +78,8 @@ class Maven30ArtifactDeployer
// transform artifacts
for ( org.apache.maven.artifact.Artifact mavenArtifact : mavenArtifacts )
{
- Artifact aetherArtifact =
- (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact",
- org.apache.maven.artifact.Artifact.class, mavenArtifact );
+ Artifact aetherArtifact = Invoker.invoke( RepositoryUtils.class, "toArtifact",
+ org.apache.maven.artifact.Artifact.class, mavenArtifact );
request.addArtifact( aetherArtifact );
RemoteRepository aetherRepository;
@@ -132,11 +131,9 @@ class Maven30ArtifactDeployer
private RemoteRepository getRemoteRepository( RepositorySystemSession session, ArtifactRepository remoteRepository )
throws ArtifactDeployerException
{
- // CHECKSTYLE_OFF: LineLength
- RemoteRepository aetherRepo = (RemoteRepository) Invoker.invoke( RepositoryUtils.class, "toRepo",
+ RemoteRepository aetherRepo = Invoker.invoke( RepositoryUtils.class, "toRepo",
ArtifactRepository.class,
remoteRepository );
- // CHECKSTYLE_ON: LineLength
if ( aetherRepo.getAuthentication() == null )
{
diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Maven31ArtifactDeployer.java b/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Maven31ArtifactDeployer.java
index 52c7295..ed61b12 100644
--- a/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Maven31ArtifactDeployer.java
+++ b/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/Maven31ArtifactDeployer.java
@@ -37,16 +37,15 @@ import org.eclipse.aether.repository.RemoteRepository;
import org.eclipse.aether.util.artifact.SubArtifact;
/**
- *
+ *
*/
-class Maven31ArtifactDeployer
- implements MavenArtifactDeployer
+class Maven31ArtifactDeployer implements MavenArtifactDeployer
{
private final RepositorySystem repositorySystem;
-
+
private final RepositorySystemSession session;
-
+
Maven31ArtifactDeployer( RepositorySystem repositorySystem, RepositorySystemSession session )
{
super();
@@ -55,16 +54,14 @@ class Maven31ArtifactDeployer
}
@Override
- public void deploy( Collection<org.apache.maven.artifact.Artifact> mavenArtifacts )
- throws ArtifactDeployerException
+ public void deploy( Collection<org.apache.maven.artifact.Artifact> mavenArtifacts ) throws ArtifactDeployerException
{
deploy( null, mavenArtifacts );
}
@Override
public void deploy( ArtifactRepository remoteRepository,
- Collection<org.apache.maven.artifact.Artifact> mavenArtifacts )
- throws ArtifactDeployerException
+ Collection<org.apache.maven.artifact.Artifact> mavenArtifacts ) throws ArtifactDeployerException
{
// prepare request
DeployRequest request = new DeployRequest();
@@ -79,9 +76,8 @@ class Maven31ArtifactDeployer
// transform artifacts
for ( org.apache.maven.artifact.Artifact mavenArtifact : mavenArtifacts )
{
- Artifact aetherArtifact =
- (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact",
- org.apache.maven.artifact.Artifact.class, mavenArtifact );
+ Artifact aetherArtifact = Invoker.invoke( RepositoryUtils.class, "toArtifact",
+ org.apache.maven.artifact.Artifact.class, mavenArtifact );
request.addArtifact( aetherArtifact );
RemoteRepository aetherRepository;
@@ -105,15 +101,15 @@ class Maven31ArtifactDeployer
request.addArtifact( pomArtifact );
}
else if ( // metadata instanceof SnapshotArtifactRepositoryMetadata ||
- metadata instanceof ArtifactRepositoryMetadata )
+ metadata instanceof ArtifactRepositoryMetadata )
{
// eaten, handled by repo system
}
else if ( metadata instanceof org.apache.maven.shared.transfer.metadata.ArtifactMetadata )
{
- org.apache.maven.shared.transfer.metadata.ArtifactMetadata transferMetadata =
- (org.apache.maven.shared.transfer.metadata.ArtifactMetadata) metadata;
-
+ org.apache.maven.shared.transfer.metadata.ArtifactMetadata transferMetadata =
+ (org.apache.maven.shared.transfer.metadata.ArtifactMetadata) metadata;
+
request.addMetadata( new Maven31MetadataBridge( metadata ).setFile( transferMetadata.getFile() ) );
}
}
@@ -131,13 +127,10 @@ class Maven31ArtifactDeployer
}
private RemoteRepository getRemoteRepository( RepositorySystemSession session, ArtifactRepository remoteRepository )
- throws ArtifactDeployerException
+ throws ArtifactDeployerException
{
- // CHECKSTYLE_OFF: LineLength
- RemoteRepository aetherRepo = (RemoteRepository) Invoker.invoke( RepositoryUtils.class, "toRepo",
- ArtifactRepository.class,
- remoteRepository );
- // CHECKSTYLE_ON: LineLength
+ RemoteRepository aetherRepo = Invoker.invoke( RepositoryUtils.class, "toRepo", ArtifactRepository.class,
+ remoteRepository );
if ( aetherRepo.getAuthentication() == null || aetherRepo.getProxy() == null )
{
diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/MavenArtifactDeployer.java b/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/MavenArtifactDeployer.java
index c4f0446..8f9fea1 100644
--- a/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/MavenArtifactDeployer.java
+++ b/src/main/java/org/apache/maven/shared/transfer/artifact/deploy/internal/MavenArtifactDeployer.java
@@ -30,7 +30,7 @@ import org.apache.maven.shared.transfer.artifact.deploy.ArtifactDeployerExceptio
* @author Robert Scholte
*
*/
-public interface MavenArtifactDeployer
+interface MavenArtifactDeployer
{
void deploy( Collection<Artifact> mavenArtifacts )
diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/DefaultArtifactInstaller.java b/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/DefaultArtifactInstaller.java
index f8a56f7..738f00e 100644
--- a/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/DefaultArtifactInstaller.java
+++ b/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/DefaultArtifactInstaller.java
@@ -36,19 +36,18 @@ import org.codehaus.plexus.context.ContextException;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
/**
- *
+ *
*/
@Component( role = ArtifactInstaller.class )
-class DefaultArtifactInstaller
- implements ArtifactInstaller, Contextualizable
+class DefaultArtifactInstaller implements ArtifactInstaller, Contextualizable
{
private PlexusContainer container;
-
+
private RepositoryManager repositoryManager;
@Override
public void install( ProjectBuildingRequest request, Collection<Artifact> mavenArtifacts )
- throws ArtifactInstallerException, IllegalArgumentException
+ throws ArtifactInstallerException, IllegalArgumentException
{
validateParameters( request, mavenArtifacts );
try
@@ -63,7 +62,7 @@ class DefaultArtifactInstaller
@Override
public void install( ProjectBuildingRequest request, File localRepositry, Collection<Artifact> mavenArtifacts )
- throws ArtifactInstallerException
+ throws ArtifactInstallerException
{
validateParameters( request, mavenArtifacts );
if ( localRepositry == null )
@@ -76,7 +75,7 @@ class DefaultArtifactInstaller
}
// TODO: Should we check for exists() ?
-
+
// update local repo in request
ProjectBuildingRequest newRequest = repositoryManager.setLocalRepositoryBasedir( request, localRepositry );
@@ -134,32 +133,31 @@ class DefaultArtifactInstaller
* @param context Plexus context to inject.
* @throws ContextException if the PlexusContainer could not be located.
*/
- public void contextualize( Context context )
- throws ContextException
+ public void contextualize( Context context ) throws ContextException
{
container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
}
-
+
private MavenArtifactInstaller getMavenArtifactInstaller( ProjectBuildingRequest buildingRequest )
- throws ComponentLookupException, ArtifactInstallerException
+ throws ComponentLookupException, ArtifactInstallerException
{
if ( isMaven31() )
{
- org.eclipse.aether.RepositorySystem repositorySystem =
- container.lookup( org.eclipse.aether.RepositorySystem.class );
-
- org.eclipse.aether.RepositorySystemSession session =
- (org.eclipse.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" );
+ org.eclipse.aether.RepositorySystem repositorySystem = container.lookup(
+ org.eclipse.aether.RepositorySystem.class );
+
+ org.eclipse.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest,
+ "getRepositorySession" );
return new Maven31ArtifactInstaller( repositorySystem, session );
}
else
{
- org.sonatype.aether.RepositorySystem repositorySystem =
- container.lookup( org.sonatype.aether.RepositorySystem.class );
-
- org.sonatype.aether.RepositorySystemSession session =
- (org.sonatype.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" );
+ org.sonatype.aether.RepositorySystem repositorySystem = container.lookup(
+ org.sonatype.aether.RepositorySystem.class );
+
+ org.sonatype.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest,
+ "getRepositorySession" );
return new Maven30ArtifactInstaller( repositorySystem, session );
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Invoker.java b/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Invoker.java
index f748e04..eb8c69e 100644
--- a/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Invoker.java
+++ b/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Invoker.java
@@ -33,71 +33,31 @@ final class Invoker
// do not instantiate
}
- public static Object invoke( Object object, String method )
- throws ArtifactInstallerException
- {
- return invoke( object.getClass(), object, method );
- }
-
- public static Object invoke( Class<?> objectClazz, Object object, String method )
- throws ArtifactInstallerException
- {
- try
- {
- return objectClazz.getMethod( method ).invoke( object );
- }
- catch ( IllegalAccessException e )
- {
- throw new ArtifactInstallerException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new ArtifactInstallerException( e.getMessage(), e );
- }
- catch ( NoSuchMethodException e )
- {
- throw new ArtifactInstallerException( e.getMessage(), e );
- }
- }
-
- public static Object invoke( Object object, String method, Class<?> argClazz, Object arg )
+ public static <T> T invoke( Object object, String method )
throws ArtifactInstallerException
{
try
{
- final Class<?> objectClazz = object.getClass();
- return objectClazz.getMethod( method, argClazz ).invoke( object, arg );
- }
- catch ( IllegalAccessException e )
- {
- throw new ArtifactInstallerException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new ArtifactInstallerException( e.getMessage(), e );
+ @SuppressWarnings( "unchecked" )
+ T invoke = (T) object.getClass().getMethod( method ).invoke( object );
+ return invoke;
}
- catch ( NoSuchMethodException e )
+ catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
{
throw new ArtifactInstallerException( e.getMessage(), e );
}
}
- public static Object invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg )
+ public static <T> T invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg )
throws ArtifactInstallerException
{
try
{
- return objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg );
- }
- catch ( IllegalAccessException e )
- {
- throw new ArtifactInstallerException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new ArtifactInstallerException( e.getMessage(), e );
+ @SuppressWarnings( "unchecked" )
+ T invoke = (T) objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg );
+ return invoke;
}
- catch ( NoSuchMethodException e )
+ catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
{
throw new ArtifactInstallerException( e.getMessage(), e );
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Maven30ArtifactInstaller.java b/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Maven30ArtifactInstaller.java
index 2a15dfd..fbff698 100644
--- a/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Maven30ArtifactInstaller.java
+++ b/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Maven30ArtifactInstaller.java
@@ -60,9 +60,8 @@ class Maven30ArtifactInstaller
// transform artifacts
for ( org.apache.maven.artifact.Artifact mavenArtifact : mavenArtifacts )
{
- Artifact mainArtifact =
- (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact",
- org.apache.maven.artifact.Artifact.class, mavenArtifact );
+ Artifact mainArtifact = Invoker.invoke( RepositoryUtils.class, "toArtifact",
+ org.apache.maven.artifact.Artifact.class, mavenArtifact );
request.addArtifact( mainArtifact );
for ( ArtifactMetadata metadata : mavenArtifact.getMetadataList() )
diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Maven31ArtifactInstaller.java b/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Maven31ArtifactInstaller.java
index e4eae74..aa15504 100644
--- a/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Maven31ArtifactInstaller.java
+++ b/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/Maven31ArtifactInstaller.java
@@ -61,9 +61,8 @@ class Maven31ArtifactInstaller
// transform artifacts
for ( org.apache.maven.artifact.Artifact mavenArtifact : mavenArtifacts )
{
- Artifact mainArtifact =
- (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact",
- org.apache.maven.artifact.Artifact.class, mavenArtifact );
+ Artifact mainArtifact = Invoker.invoke( RepositoryUtils.class, "toArtifact",
+ org.apache.maven.artifact.Artifact.class, mavenArtifact );
request.addArtifact( mainArtifact );
for ( ArtifactMetadata metadata : mavenArtifact.getMetadataList() )
diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/MavenArtifactInstaller.java b/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/MavenArtifactInstaller.java
index 7670d57..6d6509d 100644
--- a/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/MavenArtifactInstaller.java
+++ b/src/main/java/org/apache/maven/shared/transfer/artifact/install/internal/MavenArtifactInstaller.java
@@ -29,7 +29,7 @@ import org.apache.maven.shared.transfer.artifact.install.ArtifactInstallerExcept
* @author Robert Scholte
*
*/
-public interface MavenArtifactInstaller
+interface MavenArtifactInstaller
{
void install( Collection<Artifact> mavenArtifacts )
throws ArtifactInstallerException;
diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/DefaultArtifactResolver.java b/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/DefaultArtifactResolver.java
index 9f1826b..00f6600 100644
--- a/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/DefaultArtifactResolver.java
+++ b/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/DefaultArtifactResolver.java
@@ -38,17 +38,16 @@ import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
/**
- *
+ *
*/
@Component( role = ArtifactResolver.class, hint = "default" )
-class DefaultArtifactResolver
- implements ArtifactResolver, Contextualizable
+class DefaultArtifactResolver implements ArtifactResolver, Contextualizable
{
private PlexusContainer container;
@Override
public ArtifactResult resolveArtifact( ProjectBuildingRequest buildingRequest, Artifact mavenArtifact )
- throws ArtifactResolverException, IllegalArgumentException
+ throws ArtifactResolverException, IllegalArgumentException
{
validateParameters( buildingRequest, mavenArtifact );
try
@@ -63,7 +62,7 @@ class DefaultArtifactResolver
@Override
public ArtifactResult resolveArtifact( ProjectBuildingRequest buildingRequest, ArtifactCoordinate coordinate )
- throws ArtifactResolverException, IllegalArgumentException
+ throws ArtifactResolverException, IllegalArgumentException
{
validateParameters( buildingRequest, coordinate );
try
@@ -128,46 +127,39 @@ class DefaultArtifactResolver
* @param context Plexus context to inject.
* @throws ContextException if the PlexusContainer could not be located.
*/
- public void contextualize( Context context )
- throws ContextException
+ public void contextualize( Context context ) throws ContextException
{
container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
}
-
+
private MavenArtifactResolver getMavenArtifactResolver( ProjectBuildingRequest buildingRequest )
- throws ComponentLookupException, ArtifactResolverException
+ throws ComponentLookupException, ArtifactResolverException
{
if ( isMaven31() )
{
- org.eclipse.aether.RepositorySystem repositorySystem =
- container.lookup( org.eclipse.aether.RepositorySystem.class );
-
- @SuppressWarnings( "unchecked" )
- List<org.eclipse.aether.repository.RemoteRepository> aetherRepositories =
- (List<org.eclipse.aether.repository.RemoteRepository>) Invoker.invoke( RepositoryUtils.class, "toRepos",
- List.class,
- buildingRequest.getRemoteRepositories() );
-
- org.eclipse.aether.RepositorySystemSession session =
- (org.eclipse.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" );
-
+ org.eclipse.aether.RepositorySystem repositorySystem = container.lookup(
+ org.eclipse.aether.RepositorySystem.class );
+
+ List<org.eclipse.aether.repository.RemoteRepository> aetherRepositories = Invoker.invoke(
+ RepositoryUtils.class, "toRepos", List.class, buildingRequest.getRemoteRepositories() );
+
+ org.eclipse.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest,
+ "getRepositorySession" );
+
return new Maven31ArtifactResolver( repositorySystem, aetherRepositories, session );
-
+
}
else
{
- org.sonatype.aether.RepositorySystem repositorySystem =
- container.lookup( org.sonatype.aether.RepositorySystem.class );
-
- @SuppressWarnings( "unchecked" )
- List<org.sonatype.aether.repository.RemoteRepository> aetherRepositories =
- (List<org.sonatype.aether.repository.RemoteRepository>) Invoker.invoke( RepositoryUtils.class,
- "toRepos", List.class,
- buildingRequest.getRemoteRepositories() );
-
- org.sonatype.aether.RepositorySystemSession session =
- (org.sonatype.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" );
-
+ org.sonatype.aether.RepositorySystem repositorySystem = container.lookup(
+ org.sonatype.aether.RepositorySystem.class );
+
+ List<org.sonatype.aether.repository.RemoteRepository> aetherRepositories = Invoker.invoke(
+ RepositoryUtils.class, "toRepos", List.class, buildingRequest.getRemoteRepositories() );
+
+ org.sonatype.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest,
+ "getRepositorySession" );
+
return new Maven30ArtifactResolver( repositorySystem, aetherRepositories, session );
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Invoker.java b/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Invoker.java
index d3ff34e..329e2c6 100644
--- a/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Invoker.java
+++ b/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Invoker.java
@@ -28,109 +28,40 @@ import org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolverExcepti
*/
final class Invoker
{
+
private Invoker()
{
// do not instantiate
}
- public static Object invoke( Object object, String method )
- throws ArtifactResolverException
- {
- return invoke( object.getClass(), object, method );
- }
-
- public static Object invoke( Class<?> objectClazz, Object object, String method )
- throws ArtifactResolverException
- {
- try
- {
- return objectClazz.getMethod( method ).invoke( object );
- }
- catch ( IllegalAccessException e )
- {
- throw new ArtifactResolverException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new ArtifactResolverException( e.getMessage(), e );
- }
- catch ( NoSuchMethodException e )
- {
- throw new ArtifactResolverException( e.getMessage(), e );
- }
- }
-
- public static Object invoke( Object object, String method, Class<?> argClazz, Object arg )
+ public static <T> T invoke( Object object, String method )
throws ArtifactResolverException
{
try
{
- final Class<?> objectClazz = object.getClass();
- return objectClazz.getMethod( method, argClazz ).invoke( object, arg );
- }
- catch ( IllegalAccessException e )
- {
- throw new ArtifactResolverException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new ArtifactResolverException( e.getMessage(), e );
+ @SuppressWarnings( "unchecked" )
+ T invoke = (T) object.getClass().getMethod( method ).invoke( object );
+ return invoke;
}
- catch ( NoSuchMethodException e )
+ catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
{
throw new ArtifactResolverException( e.getMessage(), e );
}
}
- public static Object invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg )
+ public static <T> T invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg )
throws ArtifactResolverException
{
try
{
- return objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg );
- }
- catch ( IllegalAccessException e )
- {
- throw new ArtifactResolverException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new ArtifactResolverException( e.getMessage(), e );
+ @SuppressWarnings( "unchecked" )
+ T invoke = (T) objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg );
+ return invoke;
}
- catch ( NoSuchMethodException e )
+ catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
{
throw new ArtifactResolverException( e.getMessage(), e );
}
}
- /**
- * <strong>Note:</strong> Ensure that argClasses and args have the same number of elements
- *
- * @param objectClazz the class of the static method
- * @param staticMethod the static method to call
- * @param argClasses the classes of the argument, used to select the right static method
- * @param args the actual arguments to be passed
- * @return the result of the method invocation
- * @throws ArtifactResolverException if any checked exception occurs
- */
- public static Object invoke( Class<?> objectClazz, String staticMethod, Class<?>[] argClasses, Object[] args )
- throws ArtifactResolverException
- {
- try
- {
- return objectClazz.getMethod( staticMethod, argClasses ).invoke( null, args );
- }
- catch ( IllegalAccessException e )
- {
- throw new ArtifactResolverException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new ArtifactResolverException( e.getMessage(), e );
- }
- catch ( NoSuchMethodException e )
- {
- throw new ArtifactResolverException( e.getMessage(), e );
- }
- }
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Maven30ArtifactResolver.java b/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Maven30ArtifactResolver.java
index e5f820c..95a6dc5 100644
--- a/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Maven30ArtifactResolver.java
+++ b/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Maven30ArtifactResolver.java
@@ -61,7 +61,7 @@ class Maven30ArtifactResolver
throws ArtifactResolverException
// CHECKSTYLE_ON: LineLength
{
- Artifact aetherArtifact = (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact",
+ Artifact aetherArtifact = Invoker.invoke( RepositoryUtils.class, "toArtifact",
org.apache.maven.artifact.Artifact.class, mavenArtifact );
return resolveArtifact( aetherArtifact );
@@ -98,11 +98,7 @@ class Maven30ArtifactResolver
return new Maven30ArtifactResult( repositorySystem.resolveArtifact( session, request ) );
}
- catch ( ArtifactDescriptorException e )
- {
- throw new ArtifactResolverException( e.getMessage(), e );
- }
- catch ( ArtifactResolutionException e )
+ catch ( ArtifactDescriptorException | ArtifactResolutionException e )
{
throw new ArtifactResolverException( e.getMessage(), e );
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Maven30ArtifactResult.java b/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Maven30ArtifactResult.java
index 8358096..3bbea28 100644
--- a/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Maven30ArtifactResult.java
+++ b/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Maven30ArtifactResult.java
@@ -26,12 +26,11 @@ import org.sonatype.aether.resolution.ArtifactResult;
/**
* {@link org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult} wrapper for {@link ArtifactResult}
- *
+ *
* @author Robert Scholte
* @since 3.0
*/
-class Maven30ArtifactResult
- implements org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult
+class Maven30ArtifactResult implements org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult
{
private final ArtifactResult artifactResult;
@@ -48,8 +47,7 @@ class Maven30ArtifactResult
{
try
{
- return (org.apache.maven.artifact.Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact",
- Artifact.class, artifactResult.getArtifact() );
+ return Invoker.invoke( RepositoryUtils.class, "toArtifact", Artifact.class, artifactResult.getArtifact() );
}
catch ( ArtifactResolverException e )
{
diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Maven31ArtifactResolver.java b/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Maven31ArtifactResolver.java
index 888a683..9ef5658 100644
--- a/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Maven31ArtifactResolver.java
+++ b/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Maven31ArtifactResolver.java
@@ -56,13 +56,11 @@ class Maven31ArtifactResolver
}
@Override
- // CHECKSTYLE_OFF: LineLength
- public org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult resolveArtifact( org.apache.maven.artifact.Artifact mavenArtifact )
- throws ArtifactResolverException
- // CHECKSTYLE_ON: LineLength
+ public org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult resolveArtifact(
+ org.apache.maven.artifact.Artifact mavenArtifact ) throws ArtifactResolverException
{
- Artifact aetherArtifact = (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact",
- org.apache.maven.artifact.Artifact.class, mavenArtifact );
+ Artifact aetherArtifact = Invoker.invoke( RepositoryUtils.class, "toArtifact",
+ org.apache.maven.artifact.Artifact.class, mavenArtifact );
return resolveArtifact( aetherArtifact );
}
@@ -98,11 +96,7 @@ class Maven31ArtifactResolver
return new Maven31ArtifactResult( repositorySystem.resolveArtifact( session, request ) );
}
- catch ( ArtifactDescriptorException e )
- {
- throw new ArtifactResolverException( e.getMessage(), e );
- }
- catch ( ArtifactResolutionException e )
+ catch ( ArtifactDescriptorException | ArtifactResolutionException e )
{
throw new ArtifactResolverException( e.getMessage(), e );
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Maven31ArtifactResult.java b/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Maven31ArtifactResult.java
index 055ee22..7b56826 100644
--- a/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Maven31ArtifactResult.java
+++ b/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/Maven31ArtifactResult.java
@@ -48,7 +48,7 @@ class Maven31ArtifactResult
{
try
{
- return (org.apache.maven.artifact.Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact",
+ return Invoker.invoke( RepositoryUtils.class, "toArtifact",
Artifact.class, artifactResult.getArtifact() );
}
catch ( ArtifactResolverException e )
diff --git a/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/MavenArtifactResolver.java b/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/MavenArtifactResolver.java
index 2e9fb74..2413968 100644
--- a/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/MavenArtifactResolver.java
+++ b/src/main/java/org/apache/maven/shared/transfer/artifact/resolve/internal/MavenArtifactResolver.java
@@ -29,7 +29,7 @@ import org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult;
* @author Robert Scholte
*
*/
-public interface MavenArtifactResolver
+interface MavenArtifactResolver
{
ArtifactResult resolveArtifact( Artifact mavenArtifact ) throws ArtifactResolverException;
diff --git a/src/main/java/org/apache/maven/shared/transfer/collection/internal/DefaultDependencyCollector.java b/src/main/java/org/apache/maven/shared/transfer/collection/internal/DefaultDependencyCollector.java
index 2c8151a..962fd0a 100644
--- a/src/main/java/org/apache/maven/shared/transfer/collection/internal/DefaultDependencyCollector.java
+++ b/src/main/java/org/apache/maven/shared/transfer/collection/internal/DefaultDependencyCollector.java
@@ -27,10 +27,10 @@ import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.Model;
import org.apache.maven.project.ProjectBuildingRequest;
-import org.apache.maven.shared.transfer.dependencies.DependableCoordinate;
import org.apache.maven.shared.transfer.collection.CollectResult;
import org.apache.maven.shared.transfer.collection.DependencyCollectionException;
import org.apache.maven.shared.transfer.collection.DependencyCollector;
+import org.apache.maven.shared.transfer.dependencies.DependableCoordinate;
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.component.annotations.Component;
@@ -51,7 +51,7 @@ class DefaultDependencyCollector implements DependencyCollector, Contextualizabl
@Override
public CollectResult collectDependencies( ProjectBuildingRequest buildingRequest, Dependency root )
- throws DependencyCollectionException
+ throws DependencyCollectionException
{
validateParameters( buildingRequest, root );
@@ -67,7 +67,7 @@ class DefaultDependencyCollector implements DependencyCollector, Contextualizabl
@Override
public CollectResult collectDependencies( ProjectBuildingRequest buildingRequest, DependableCoordinate root )
- throws DependencyCollectionException
+ throws DependencyCollectionException
{
validateParameters( buildingRequest, root );
@@ -83,7 +83,7 @@ class DefaultDependencyCollector implements DependencyCollector, Contextualizabl
@Override
public CollectResult collectDependencies( ProjectBuildingRequest buildingRequest, Model root )
- throws DependencyCollectionException
+ throws DependencyCollectionException
{
validateParameters( buildingRequest, root );
@@ -95,7 +95,7 @@ class DefaultDependencyCollector implements DependencyCollector, Contextualizabl
{
throw new DependencyCollectionException( e.getMessage(), e );
}
- }
+ }
private void validateParameters( ProjectBuildingRequest buildingRequest, DependableCoordinate root )
{
@@ -136,72 +136,65 @@ class DefaultDependencyCollector implements DependencyCollector, Contextualizabl
return canFindCoreClass( "org.eclipse.aether.artifact.Artifact" ); // Maven 3.1 specific
}
- private boolean canFindCoreClass( String className )
- {
- try
+ private boolean canFindCoreClass( String className )
{
- Thread.currentThread().getContextClassLoader().loadClass( className );
+ try
+ {
+ Thread.currentThread().getContextClassLoader().loadClass( className );
- return true;
+ return true;
+ }
+ catch ( ClassNotFoundException e )
+ {
+ return false;
+ }
}
- catch ( ClassNotFoundException e )
+
+ /**
+ * Injects the Plexus content.
+ *
+ * @param context Plexus context to inject.
+ * @throws ContextException if the PlexusContainer could not be located.
+ */
+ public void contextualize( Context context ) throws ContextException
{
- return false;
+ container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
}
- }
- /**
- * Injects the Plexus content.
- *
- * @param context Plexus context to inject.
- * @throws ContextException if the PlexusContainer could not be located.
- */
- public void contextualize( Context context )
- throws ContextException
- {
- container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
- }
+ private MavenDependencyCollector getMavenDependencyCollector( ProjectBuildingRequest buildingRequest )
+ throws ComponentLookupException, DependencyCollectionException
+ {
+ ArtifactHandlerManager artifactHandlerManager = container.lookup( ArtifactHandlerManager.class );
- private MavenDependencyCollector getMavenDependencyCollector( ProjectBuildingRequest buildingRequest )
- throws ComponentLookupException, DependencyCollectionException
- {
- ArtifactHandlerManager artifactHandlerManager = container.lookup( ArtifactHandlerManager.class );
+ if ( isMaven31() )
+ {
+ org.eclipse.aether.RepositorySystem m31RepositorySystem = container.lookup(
+ org.eclipse.aether.RepositorySystem.class );
- if ( isMaven31() )
- {
- org.eclipse.aether.RepositorySystem m31RepositorySystem =
- container.lookup( org.eclipse.aether.RepositorySystem.class );
+ org.eclipse.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest,
+ "getRepositorySession" );
- org.eclipse.aether.RepositorySystemSession session =
- (org.eclipse.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" );
+ List<org.eclipse.aether.repository.RemoteRepository> aetherRepositories = Invoker.invoke(
+ RepositoryUtils.class, "toRepos", List.class, buildingRequest.getRemoteRepositories() );
- @SuppressWarnings( "unchecked" )
- List<org.eclipse.aether.repository.RemoteRepository> aetherRepositories =
- (List<org.eclipse.aether.repository.RemoteRepository>) Invoker.invoke( RepositoryUtils.class, "toRepos",
- List.class,
- buildingRequest.getRemoteRepositories() );
+ return new Maven31DependencyCollector( m31RepositorySystem, artifactHandlerManager, session,
+ aetherRepositories );
+ }
+ else
+ {
+ org.sonatype.aether.RepositorySystem m30RepositorySystem = container.lookup(
+ org.sonatype.aether.RepositorySystem.class );
- return new Maven31DependencyCollector( m31RepositorySystem, artifactHandlerManager, session,
- aetherRepositories );
- }
- else
- {
- org.sonatype.aether.RepositorySystem m30RepositorySystem =
- container.lookup( org.sonatype.aether.RepositorySystem.class );
+ org.sonatype.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest,
+ "getRepositorySession" );
- org.sonatype.aether.RepositorySystemSession session =
- (org.sonatype.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" );
+ List<org.sonatype.aether.repository.RemoteRepository> aetherRepositories = Invoker.invoke(
+ RepositoryUtils.class, "toRepos", List.class, buildingRequest.getRemoteRepositories() );
- @SuppressWarnings( "unchecked" )
- List<org.sonatype.aether.repository.RemoteRepository> aetherRepositories =
- ( List<org.sonatype.aether.repository.RemoteRepository> ) Invoker.invoke( RepositoryUtils.class,
- "toRepos", List.class,
- buildingRequest.getRemoteRepositories() );
+ return new Maven30DependencyCollector( m30RepositorySystem, artifactHandlerManager, session,
+ aetherRepositories );
+ }
- return new Maven30DependencyCollector( m30RepositorySystem, artifactHandlerManager, session,
- aetherRepositories );
}
- }
-
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Invoker.java b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Invoker.java
index 31951f8..c78b5af 100644
--- a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Invoker.java
+++ b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Invoker.java
@@ -21,8 +21,8 @@ package org.apache.maven.shared.transfer.collection.internal;
import java.lang.reflect.InvocationTargetException;
-import org.apache.maven.shared.transfer.dependencies.collect.DependencyCollectorException;
import org.apache.maven.shared.transfer.collection.DependencyCollectionException;
+import org.apache.maven.shared.transfer.dependencies.collect.DependencyCollectorException;
/**
* Invokes method on objects using reflection.
@@ -34,71 +34,31 @@ final class Invoker
// do not instantiate
}
- public static Object invoke( Object object, String method )
- throws DependencyCollectionException
- {
- return invoke( object.getClass(), object, method );
- }
-
- public static Object invoke( Class<?> objectClazz, Object object, String method )
+ public static <T> T invoke( Object object, String method )
throws DependencyCollectionException
{
try
{
- return objectClazz.getMethod( method ).invoke( object );
+ @SuppressWarnings( "unchecked" )
+ T invoke = (T) object.getClass().getMethod( method ).invoke( object );
+ return invoke;
}
- catch ( IllegalAccessException e )
- {
- throw new DependencyCollectionException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new DependencyCollectionException( e.getMessage(), e );
- }
- catch ( NoSuchMethodException e )
+ catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
{
throw new DependencyCollectionException( e.getMessage(), e );
}
}
- public static Object invoke( Object object, String method, Class<?> argClazz, Object arg )
- throws DependencyCollectionException
- {
- try
- {
- final Class<?> objectClazz = object.getClass();
- return objectClazz.getMethod( method, argClazz ).invoke( object, arg );
- }
- catch ( IllegalAccessException e )
- {
- throw new DependencyCollectionException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new DependencyCollectionException( e.getMessage(), e );
- }
- catch ( NoSuchMethodException e )
- {
- throw new DependencyCollectionException( e.getMessage(), e );
- }
- }
-
- public static Object invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg )
+ public static <T> T invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg )
throws DependencyCollectionException
{
try
{
- return objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg );
- }
- catch ( IllegalAccessException e )
- {
- throw new DependencyCollectionException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new DependencyCollectionException( e.getMessage(), e );
+ @SuppressWarnings( "unchecked" )
+ T invoke = (T) objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg );
+ return invoke;
}
- catch ( NoSuchMethodException e )
+ catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
{
throw new DependencyCollectionException( e.getMessage(), e );
}
@@ -114,53 +74,24 @@ final class Invoker
* @return the result of the method invocation
* @throws DependencyCollectorException if any checked exception occurs
*/
- public static Object invoke( Class<?> objectClazz, String staticMethod, Class<?>[] argClasses, Object[] args )
+ public static <T> T invoke( Class<?> objectClazz, String staticMethod, Class<?>[] argClasses, Object[] args )
throws DependencyCollectionException
{
- try
- {
- return objectClazz.getMethod( staticMethod, argClasses ).invoke( null, args );
- }
- catch ( IllegalAccessException e )
+ if ( args.length != argClasses.length )
{
- throw new DependencyCollectionException( e.getMessage(), e );
+ throw new IllegalArgumentException( "The number of elements in argClasses and args are not the same." );
}
- catch ( InvocationTargetException e )
- {
- throw new DependencyCollectionException( e.getMessage(), e );
- }
- catch ( NoSuchMethodException e )
- {
- throw new DependencyCollectionException( e.getMessage(), e );
- }
- }
- public static Object newInstance( Class<?> objectClazz, Class<?> argClazz, Object arg )
- throws DependencyCollectionException
- {
try
{
- return objectClazz.getConstructor( argClazz ).newInstance( arg );
- }
- catch ( InstantiationException e )
- {
- throw new DependencyCollectionException( e.getMessage(), e );
- }
- catch ( IllegalAccessException e )
- {
- throw new DependencyCollectionException( e.getMessage(), e );
+ @SuppressWarnings( "unchecked" )
+ T invoke = (T) objectClazz.getMethod( staticMethod, argClasses ).invoke( null, args );
+ return invoke;
}
- catch ( IllegalArgumentException e )
- {
- throw new DependencyCollectionException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new DependencyCollectionException( e.getMessage(), e );
- }
- catch ( NoSuchMethodException e )
+ catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
{
throw new DependencyCollectionException( e.getMessage(), e );
}
}
+
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven30DependencyCollector.java b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven30DependencyCollector.java
index 67e3556..5d9032d 100644
--- a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven30DependencyCollector.java
+++ b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven30DependencyCollector.java
@@ -26,10 +26,10 @@ import org.apache.maven.RepositoryUtils;
import org.apache.maven.artifact.handler.ArtifactHandler;
import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
import org.apache.maven.model.Model;
-import org.apache.maven.shared.transfer.dependencies.DependableCoordinate;
import org.apache.maven.shared.transfer.collection.CollectResult;
import org.apache.maven.shared.transfer.collection.DependencyCollectionException;
import org.apache.maven.shared.transfer.collection.DependencyCollector;
+import org.apache.maven.shared.transfer.dependencies.DependableCoordinate;
import org.sonatype.aether.RepositorySystem;
import org.sonatype.aether.RepositorySystemSession;
import org.sonatype.aether.artifact.Artifact;
@@ -70,10 +70,9 @@ class Maven30DependencyCollector
public CollectResult collectDependencies( org.apache.maven.model.Dependency root )
throws DependencyCollectionException
{
- ArtifactTypeRegistry typeRegistry =
- (ArtifactTypeRegistry) Invoker
- .invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
- ArtifactHandlerManager.class, artifactHandlerManager );
+ ArtifactTypeRegistry typeRegistry = Invoker
+ .invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
+ ArtifactHandlerManager.class, artifactHandlerManager );
CollectRequest request = new CollectRequest();
request.setRoot( toDependency( root, typeRegistry ) );
@@ -113,10 +112,9 @@ class Maven30DependencyCollector
CollectRequest request = new CollectRequest();
request.setRoot( new Dependency( aetherArtifact, null ) );
- ArtifactTypeRegistry typeRegistry =
- (ArtifactTypeRegistry) Invoker
- .invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
- ArtifactHandlerManager.class, artifactHandlerManager );
+ ArtifactTypeRegistry typeRegistry = Invoker
+ .invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
+ ArtifactHandlerManager.class, artifactHandlerManager );
List<Dependency> aetherDependencies = new ArrayList<Dependency>( root.getDependencies().size() );
for ( org.apache.maven.model.Dependency mavenDependency : root.getDependencies() )
@@ -164,7 +162,6 @@ class Maven30DependencyCollector
Object[] args = new Object[] { mavenDependency, typeRegistry };
- return (Dependency) Invoker
- .invoke( RepositoryUtils.class, "toDependency", argClasses, args );
+ return Invoker.invoke( RepositoryUtils.class, "toDependency", argClasses, args );
}
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven30DependencyNodeAdapter.java b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven30DependencyNodeAdapter.java
index 052353f..b8e6ea9 100644
--- a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven30DependencyNodeAdapter.java
+++ b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven30DependencyNodeAdapter.java
@@ -152,7 +152,7 @@ class Maven30DependencyNodeAdapter implements DependencyNode
{
try
{
- return (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact",
+ return Invoker.invoke( RepositoryUtils.class, "toArtifact",
org.sonatype.aether.artifact.Artifact.class, aetherArtifact );
}
catch ( DependencyCollectionException e )
diff --git a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven31DependencyCollector.java b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven31DependencyCollector.java
index b6c5744..ef5057b 100644
--- a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven31DependencyCollector.java
+++ b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven31DependencyCollector.java
@@ -70,10 +70,9 @@ class Maven31DependencyCollector
public CollectResult collectDependencies( org.apache.maven.model.Dependency root )
throws DependencyCollectionException
{
- ArtifactTypeRegistry typeRegistry =
- (ArtifactTypeRegistry) Invoker
- .invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
- ArtifactHandlerManager.class, artifactHandlerManager );
+ ArtifactTypeRegistry typeRegistry = Invoker
+ .invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
+ ArtifactHandlerManager.class, artifactHandlerManager );
CollectRequest request = new CollectRequest();
request.setRoot( toDependency( root, typeRegistry ) );
@@ -113,10 +112,9 @@ class Maven31DependencyCollector
CollectRequest request = new CollectRequest();
request.setRoot( new Dependency( aetherArtifact, null ) );
- ArtifactTypeRegistry typeRegistry =
- (ArtifactTypeRegistry) Invoker
- .invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
- ArtifactHandlerManager.class, artifactHandlerManager );
+ ArtifactTypeRegistry typeRegistry = Invoker
+ .invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
+ ArtifactHandlerManager.class, artifactHandlerManager );
List<Dependency> aetherDependencies = new ArrayList<Dependency>( root.getDependencies().size() );
for ( org.apache.maven.model.Dependency mavenDependency : root.getDependencies() )
@@ -163,7 +161,7 @@ class Maven31DependencyCollector
Object[] args = new Object[] { root, typeRegistry };
- return (Dependency) Invoker
+ return Invoker
.invoke( RepositoryUtils.class, "toDependency", argClasses, args );
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven31DependencyNodeAdapter.java b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven31DependencyNodeAdapter.java
index 3b3dbb7..5987f7f 100644
--- a/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven31DependencyNodeAdapter.java
+++ b/src/main/java/org/apache/maven/shared/transfer/collection/internal/Maven31DependencyNodeAdapter.java
@@ -152,7 +152,7 @@ class Maven31DependencyNodeAdapter implements DependencyNode
{
try
{
- return (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact",
+ return Invoker.invoke( RepositoryUtils.class, "toArtifact",
org.eclipse.aether.artifact.Artifact.class, aetherArtifact );
}
catch ( DependencyCollectionException e )
diff --git a/src/main/java/org/apache/maven/shared/transfer/collection/internal/MavenDependencyCollector.java b/src/main/java/org/apache/maven/shared/transfer/collection/internal/MavenDependencyCollector.java
index 2181380..fc7edb8 100644
--- a/src/main/java/org/apache/maven/shared/transfer/collection/internal/MavenDependencyCollector.java
+++ b/src/main/java/org/apache/maven/shared/transfer/collection/internal/MavenDependencyCollector.java
@@ -28,7 +28,7 @@ import org.apache.maven.shared.transfer.collection.DependencyCollectionException
/**
* @author Robert Scholte
*/
-public interface MavenDependencyCollector
+interface MavenDependencyCollector
{
CollectResult collectDependencies( Dependency root )
diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/DefaultDependencyCollector.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/DefaultDependencyCollector.java
index 0a61845..ca416ec 100644
--- a/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/DefaultDependencyCollector.java
+++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/DefaultDependencyCollector.java
@@ -40,17 +40,17 @@ import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
/**
* This DependencyCollector passes the request to the proper Maven 3.x implementation
- *
+ *
* @author Robert Scholte
*/
@Component( role = DependencyCollector.class, hint = "default" )
-class DefaultDependencyCollector implements DependencyCollector, Contextualizable
+class DefaultDependencyCollector implements DependencyCollector, Contextualizable
{
private PlexusContainer container;
@Override
public CollectorResult collectDependencies( ProjectBuildingRequest buildingRequest, Dependency root )
- throws DependencyCollectorException
+ throws DependencyCollectorException
{
validateParameters( buildingRequest, root );
@@ -66,7 +66,7 @@ class DefaultDependencyCollector implements DependencyCollector, Contextualizabl
@Override
public CollectorResult collectDependencies( ProjectBuildingRequest buildingRequest, DependableCoordinate root )
- throws DependencyCollectorException
+ throws DependencyCollectorException
{
validateParameters( buildingRequest, root );
@@ -82,7 +82,7 @@ class DefaultDependencyCollector implements DependencyCollector, Contextualizabl
@Override
public CollectorResult collectDependencies( ProjectBuildingRequest buildingRequest, Model root )
- throws DependencyCollectorException
+ throws DependencyCollectorException
{
validateParameters( buildingRequest, root );
@@ -158,51 +158,44 @@ class DefaultDependencyCollector implements DependencyCollector, Contextualizabl
* @param context Plexus context to inject.
* @throws ContextException if the PlexusContainer could not be located.
*/
- public void contextualize( Context context )
- throws ContextException
+ public void contextualize( Context context ) throws ContextException
{
container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
}
-
+
private MavenDependencyCollector getMavenDependencyCollector( ProjectBuildingRequest buildingRequest )
- throws ComponentLookupException, DependencyCollectorException
+ throws ComponentLookupException, DependencyCollectorException
{
ArtifactHandlerManager artifactHandlerManager = container.lookup( ArtifactHandlerManager.class );
-
+
if ( isMaven31() )
{
- org.eclipse.aether.RepositorySystem m31RepositorySystem =
- container.lookup( org.eclipse.aether.RepositorySystem.class );
+ org.eclipse.aether.RepositorySystem m31RepositorySystem = container.lookup(
+ org.eclipse.aether.RepositorySystem.class );
- org.eclipse.aether.RepositorySystemSession session =
- (org.eclipse.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" );
+ org.eclipse.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest,
+ "getRepositorySession" );
- @SuppressWarnings( "unchecked" )
- List<org.eclipse.aether.repository.RemoteRepository> aetherRepositories =
- (List<org.eclipse.aether.repository.RemoteRepository>) Invoker.invoke( RepositoryUtils.class, "toRepos",
- List.class,
- buildingRequest.getRemoteRepositories() );
+ List<org.eclipse.aether.repository.RemoteRepository> aetherRepositories = Invoker.invoke(
+ RepositoryUtils.class, "toRepos", List.class, buildingRequest.getRemoteRepositories() );
return new Maven31DependencyCollector( m31RepositorySystem, artifactHandlerManager, session,
- aetherRepositories );
+ aetherRepositories );
}
else
{
- org.sonatype.aether.RepositorySystem m30RepositorySystem =
- container.lookup( org.sonatype.aether.RepositorySystem.class );
+ org.sonatype.aether.RepositorySystem m30RepositorySystem = container.lookup(
+ org.sonatype.aether.RepositorySystem.class );
- org.sonatype.aether.RepositorySystemSession session =
- (org.sonatype.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" );
+ org.sonatype.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest,
+ "getRepositorySession" );
- @SuppressWarnings( "unchecked" )
- List<org.sonatype.aether.repository.RemoteRepository> aetherRepositories =
- (List<org.sonatype.aether.repository.RemoteRepository>) Invoker.invoke( RepositoryUtils.class,
- "toRepos", List.class,
- buildingRequest.getRemoteRepositories() );
+ List<org.sonatype.aether.repository.RemoteRepository> aetherRepositories = Invoker.invoke(
+ RepositoryUtils.class, "toRepos", List.class, buildingRequest.getRemoteRepositories() );
return new Maven30DependencyCollector( m30RepositorySystem, artifactHandlerManager, session,
- aetherRepositories );
+ aetherRepositories );
}
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/Invoker.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/Invoker.java
index 01a8410..17c7432 100644
--- a/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/Invoker.java
+++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/Invoker.java
@@ -33,133 +33,61 @@ final class Invoker
// do not instantiate
}
- public static Object invoke( Object object, String method )
- throws DependencyCollectorException
- {
- return invoke( object.getClass(), object, method );
- }
-
- public static Object invoke( Class<?> objectClazz, Object object, String method )
- throws DependencyCollectorException
+ public static <T> T invoke( Object object, String method ) throws DependencyCollectorException
{
try
{
- return objectClazz.getMethod( method ).invoke( object );
- }
- catch ( IllegalAccessException e )
- {
- throw new DependencyCollectorException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new DependencyCollectorException( e.getMessage(), e );
+ @SuppressWarnings( "unchecked" )
+ T invoke = (T) object.getClass().getMethod( method ).invoke( object );
+ return invoke;
}
- catch ( NoSuchMethodException e )
+ catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
{
throw new DependencyCollectorException( e.getMessage(), e );
}
}
- public static Object invoke( Object object, String method, Class<?> argClazz, Object arg )
- throws DependencyCollectorException
+ public static <T> T invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg )
+ throws DependencyCollectorException
{
try
{
- final Class<?> objectClazz = object.getClass();
- return objectClazz.getMethod( method, argClazz ).invoke( object, arg );
- }
- catch ( IllegalAccessException e )
- {
- throw new DependencyCollectorException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new DependencyCollectorException( e.getMessage(), e );
+ @SuppressWarnings( "unchecked" )
+ T invoke = (T) objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg );
+ return invoke;
}
- catch ( NoSuchMethodException e )
+ catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
{
throw new DependencyCollectorException( e.getMessage(), e );
}
}
-
- public static Object invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg )
- throws DependencyCollectorException
- {
- try
- {
- return objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg );
- }
- catch ( IllegalAccessException e )
- {
- throw new DependencyCollectorException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new DependencyCollectorException( e.getMessage(), e );
- }
- catch ( NoSuchMethodException e )
- {
- throw new DependencyCollectorException( e.getMessage(), e );
- }
- }
-
+
/**
- * <strong>Note:</strong> Ensure that argClasses and args have the same number of elements
- *
- * @param objectClazz the class of the static method
+ * @param objectClazz the class of the static method
* @param staticMethod the static method to call
- * @param argClasses the classes of the argument, used to select the right static method
- * @param args the actual arguments to be passed
+ * @param argClasses the classes of the argument, used to select the right static method
+ * @param args the actual arguments to be passed
* @return the result of the method invocation
* @throws DependencyCollectorException if any checked exception occurs
*/
- public static Object invoke( Class<?> objectClazz, String staticMethod, Class<?>[] argClasses, Object[] args )
- throws DependencyCollectorException
+ public static <T> T invoke( Class<?> objectClazz, String staticMethod, Class<?>[] argClasses, Object[] args )
+ throws DependencyCollectorException
{
- try
- {
- return objectClazz.getMethod( staticMethod, argClasses ).invoke( null, args );
- }
- catch ( IllegalAccessException e )
- {
- throw new DependencyCollectorException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
+ if ( args.length != argClasses.length )
{
- throw new DependencyCollectorException( e.getMessage(), e );
+ throw new IllegalArgumentException( "The number of elements in argClasses and args are not the same." );
}
- catch ( NoSuchMethodException e )
- {
- throw new DependencyCollectorException( e.getMessage(), e );
- }
- }
- public static Object newInstance( Class<?> objectClazz, Class<?> argClazz, Object arg )
- throws DependencyCollectorException
- {
try
{
- return objectClazz.getConstructor( argClazz ).newInstance( arg );
+ @SuppressWarnings( "unchecked" )
+ T invoke = (T) objectClazz.getMethod( staticMethod, argClasses ).invoke( null, args );
+ return invoke;
}
- catch ( InstantiationException e )
- {
- throw new DependencyCollectorException( e.getMessage(), e );
- }
- catch ( IllegalAccessException e )
- {
- throw new DependencyCollectorException( e.getMessage(), e );
- }
- catch ( IllegalArgumentException e )
- {
- throw new DependencyCollectorException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new DependencyCollectorException( e.getMessage(), e );
- }
- catch ( NoSuchMethodException e )
+ catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
{
throw new DependencyCollectorException( e.getMessage(), e );
}
}
+
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/Maven30DependencyCollector.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/Maven30DependencyCollector.java
index 057e0bd..1a33fbc 100644
--- a/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/Maven30DependencyCollector.java
+++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/Maven30DependencyCollector.java
@@ -42,23 +42,21 @@ import org.sonatype.aether.util.artifact.DefaultArtifact;
/**
* Maven 3.0 implementation of the {@link DependencyCollector}
- *
- * @author Robert Scholte
*
+ * @author Robert Scholte
*/
-class Maven30DependencyCollector
- implements MavenDependencyCollector
+class Maven30DependencyCollector implements MavenDependencyCollector
{
private final RepositorySystem repositorySystem;
private final ArtifactHandlerManager artifactHandlerManager;
private final RepositorySystemSession session;
-
+
private final List<RemoteRepository> aetherRepositories;
-
+
Maven30DependencyCollector( RepositorySystem repositorySystem, ArtifactHandlerManager artifactHandlerManager,
- RepositorySystemSession session, List<RemoteRepository> aetherRepositories )
+ RepositorySystemSession session, List<RemoteRepository> aetherRepositories )
{
super();
this.repositorySystem = repositorySystem;
@@ -67,13 +65,22 @@ class Maven30DependencyCollector
this.aetherRepositories = aetherRepositories;
}
+ private static Dependency toDependency( org.apache.maven.model.Dependency mavenDependency,
+ ArtifactTypeRegistry typeRegistry ) throws DependencyCollectorException
+ {
+ 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 );
+ }
+
@Override
public CollectorResult collectDependencies( org.apache.maven.model.Dependency root )
- throws DependencyCollectorException
+ throws DependencyCollectorException
{
- ArtifactTypeRegistry typeRegistry =
- (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
- ArtifactHandlerManager.class, artifactHandlerManager );
+ ArtifactTypeRegistry typeRegistry = Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
+ ArtifactHandlerManager.class, artifactHandlerManager );
CollectRequest request = new CollectRequest();
request.setRoot( toDependency( root, typeRegistry ) );
@@ -82,42 +89,39 @@ class Maven30DependencyCollector
}
@Override
- public CollectorResult collectDependencies( DependableCoordinate root )
- throws DependencyCollectorException
+ public CollectorResult collectDependencies( DependableCoordinate root ) throws DependencyCollectorException
{
ArtifactHandler artifactHandler = artifactHandlerManager.getArtifactHandler( root.getType() );
-
+
String extension = artifactHandler != null ? artifactHandler.getExtension() : null;
-
+
Artifact aetherArtifact = new DefaultArtifact( root.getGroupId(), root.getArtifactId(), root.getClassifier(),
- extension, root.getVersion() );
-
+ extension, root.getVersion() );
+
CollectRequest request = new CollectRequest();
request.setRoot( new Dependency( aetherArtifact, null ) );
return collectDependencies( request );
}
-
+
@Override
- public CollectorResult collectDependencies( Model root )
- throws DependencyCollectorException
+ public CollectorResult collectDependencies( Model root ) throws DependencyCollectorException
{
// Are there examples where packaging and type are NOT in sync
ArtifactHandler artifactHandler = artifactHandlerManager.getArtifactHandler( root.getPackaging() );
-
+
String extension = artifactHandler != null ? artifactHandler.getExtension() : null;
-
- Artifact aetherArtifact =
- new DefaultArtifact( root.getGroupId(), root.getArtifactId(), extension, root.getVersion() );
-
+
+ Artifact aetherArtifact = new DefaultArtifact( root.getGroupId(), root.getArtifactId(), extension,
+ root.getVersion() );
+
CollectRequest request = new CollectRequest();
request.setRoot( new Dependency( aetherArtifact, null ) );
- ArtifactTypeRegistry typeRegistry =
- (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
- ArtifactHandlerManager.class, artifactHandlerManager );
+ ArtifactTypeRegistry typeRegistry = Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
+ ArtifactHandlerManager.class, artifactHandlerManager );
- List<Dependency> aetherDependencies = new ArrayList<Dependency>( root.getDependencies().size() );
+ List<Dependency> aetherDependencies = new ArrayList<>( root.getDependencies().size() );
for ( org.apache.maven.model.Dependency mavenDependency : root.getDependencies() )
{
aetherDependencies.add( toDependency( mavenDependency, typeRegistry ) );
@@ -126,22 +130,21 @@ class Maven30DependencyCollector
if ( root.getDependencyManagement() != null )
{
- List<Dependency> aetherManagerDependencies =
- new ArrayList<Dependency>( root.getDependencyManagement().getDependencies().size() );
-
+ List<Dependency> aetherManagerDependencies = new ArrayList<>(
+ root.getDependencyManagement().getDependencies().size() );
+
for ( org.apache.maven.model.Dependency mavenDependency : root.getDependencyManagement().getDependencies() )
{
aetherManagerDependencies.add( toDependency( mavenDependency, typeRegistry ) );
}
-
+
request.setManagedDependencies( aetherManagerDependencies );
}
-
+
return collectDependencies( request );
}
- private CollectorResult collectDependencies( CollectRequest request )
- throws DependencyCollectorException
+ private CollectorResult collectDependencies( CollectRequest request ) throws DependencyCollectorException
{
request.setRepositories( aetherRepositories );
@@ -154,15 +157,4 @@ class Maven30DependencyCollector
throw new DependencyCollectorException( e.getMessage(), e );
}
}
-
- private static Dependency toDependency( org.apache.maven.model.Dependency mavenDependency,
- ArtifactTypeRegistry typeRegistry )
- throws DependencyCollectorException
- {
- 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 );
- }
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/Maven31DependencyCollector.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/Maven31DependencyCollector.java
index 0ee0385..de98210 100644
--- a/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/Maven31DependencyCollector.java
+++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/Maven31DependencyCollector.java
@@ -42,23 +42,21 @@ import org.eclipse.aether.repository.RemoteRepository;
/**
* Maven 3.1+ implementation of the {@link DependencyCollector}
- *
- * @author Robert Scholte
*
+ * @author Robert Scholte
*/
-class Maven31DependencyCollector
- implements MavenDependencyCollector
+class Maven31DependencyCollector implements MavenDependencyCollector
{
private final RepositorySystem repositorySystem;
private final ArtifactHandlerManager artifactHandlerManager;
-
+
private final RepositorySystemSession session;
-
+
private final List<RemoteRepository> aetherRepositories;
-
+
Maven31DependencyCollector( RepositorySystem repositorySystem, ArtifactHandlerManager artifactHandlerManager,
- RepositorySystemSession session, List<RemoteRepository> aetherRepositories )
+ RepositorySystemSession session, List<RemoteRepository> aetherRepositories )
{
super();
this.repositorySystem = repositorySystem;
@@ -67,13 +65,22 @@ class Maven31DependencyCollector
this.aetherRepositories = aetherRepositories;
}
+ private static Dependency toDependency( org.apache.maven.model.Dependency mavenDependency,
+ ArtifactTypeRegistry typeRegistry ) throws DependencyCollectorException
+ {
+ 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 );
+ }
+
@Override
public CollectorResult collectDependencies( org.apache.maven.model.Dependency root )
- throws DependencyCollectorException
+ throws DependencyCollectorException
{
- ArtifactTypeRegistry typeRegistry =
- (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
- ArtifactHandlerManager.class, artifactHandlerManager );
+ ArtifactTypeRegistry typeRegistry = Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
+ ArtifactHandlerManager.class, artifactHandlerManager );
CollectRequest request = new CollectRequest();
request.setRoot( toDependency( root, typeRegistry ) );
@@ -82,42 +89,39 @@ class Maven31DependencyCollector
}
@Override
- public CollectorResult collectDependencies( DependableCoordinate root )
- throws DependencyCollectorException
+ public CollectorResult collectDependencies( DependableCoordinate root ) throws DependencyCollectorException
{
ArtifactHandler artifactHandler = artifactHandlerManager.getArtifactHandler( root.getType() );
-
+
String extension = artifactHandler != null ? artifactHandler.getExtension() : null;
-
+
Artifact aetherArtifact = new DefaultArtifact( root.getGroupId(), root.getArtifactId(), root.getClassifier(),
- extension, root.getVersion() );
-
+ extension, root.getVersion() );
+
CollectRequest request = new CollectRequest();
request.setRoot( new Dependency( aetherArtifact, null ) );
return collectDependencies( request );
}
-
+
@Override
- public CollectorResult collectDependencies( Model root )
- throws DependencyCollectorException
+ public CollectorResult collectDependencies( Model root ) throws DependencyCollectorException
{
// Are there examples where packaging and type are NOT in sync
ArtifactHandler artifactHandler = artifactHandlerManager.getArtifactHandler( root.getPackaging() );
-
+
String extension = artifactHandler != null ? artifactHandler.getExtension() : null;
-
- Artifact aetherArtifact =
- new DefaultArtifact( root.getGroupId(), root.getArtifactId(), extension, root.getVersion() );
-
+
+ Artifact aetherArtifact = new DefaultArtifact( root.getGroupId(), root.getArtifactId(), extension,
+ root.getVersion() );
+
CollectRequest request = new CollectRequest();
request.setRoot( new Dependency( aetherArtifact, null ) );
-
- ArtifactTypeRegistry typeRegistry =
- (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
- ArtifactHandlerManager.class, artifactHandlerManager );
- List<Dependency> aetherDependencies = new ArrayList<Dependency>( root.getDependencies().size() );
+ ArtifactTypeRegistry typeRegistry = Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry",
+ ArtifactHandlerManager.class, artifactHandlerManager );
+
+ List<Dependency> aetherDependencies = new ArrayList<>( root.getDependencies().size() );
for ( org.apache.maven.model.Dependency mavenDependency : root.getDependencies() )
{
aetherDependencies.add( toDependency( mavenDependency, typeRegistry ) );
@@ -126,22 +130,21 @@ class Maven31DependencyCollector
if ( root.getDependencyManagement() != null )
{
- List<Dependency> aetherManagerDependencies =
- new ArrayList<Dependency>( root.getDependencyManagement().getDependencies().size() );
-
+ List<Dependency> aetherManagerDependencies = new ArrayList<>(
+ root.getDependencyManagement().getDependencies().size() );
+
for ( org.apache.maven.model.Dependency mavenDependency : root.getDependencyManagement().getDependencies() )
{
aetherManagerDependencies.add( toDependency( mavenDependency, typeRegistry ) );
}
-
+
request.setManagedDependencies( aetherManagerDependencies );
}
return collectDependencies( request );
}
- private CollectorResult collectDependencies( CollectRequest request )
- throws DependencyCollectorException
+ private CollectorResult collectDependencies( CollectRequest request ) throws DependencyCollectorException
{
request.setRepositories( aetherRepositories );
@@ -154,14 +157,4 @@ class Maven31DependencyCollector
throw new DependencyCollectorException( e.getMessage(), e );
}
}
-
- private static Dependency toDependency( org.apache.maven.model.Dependency root, ArtifactTypeRegistry typeRegistry )
- throws DependencyCollectorException
- {
- 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 );
- }
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/MavenDependencyCollector.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/MavenDependencyCollector.java
index 53823f8..ce647f5 100644
--- a/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/MavenDependencyCollector.java
+++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/collect/internal/MavenDependencyCollector.java
@@ -29,7 +29,7 @@ import org.apache.maven.shared.transfer.dependencies.collect.DependencyCollector
*
* @author Robert Scholte
*/
-public interface MavenDependencyCollector
+interface MavenDependencyCollector
{
CollectorResult collectDependencies( Dependency root )
diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/DefaultDependencyResolver.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/DefaultDependencyResolver.java
index 19faa28..05a63c8 100644
--- a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/DefaultDependencyResolver.java
+++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/DefaultDependencyResolver.java
@@ -41,27 +41,24 @@ import org.codehaus.plexus.context.ContextException;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
/**
- *
+ *
*/
@Component( role = DependencyResolver.class, hint = "default" )
-class DefaultDependencyResolver
- implements DependencyResolver, Contextualizable
+class DefaultDependencyResolver implements DependencyResolver, Contextualizable
{
private PlexusContainer container;
@Override
public Iterable<ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest,
- Collection<Dependency> coordinates,
- Collection<Dependency> managedDependencies,
- TransformableFilter filter )
- throws DependencyResolverException
+ Collection<Dependency> coordinates, Collection<Dependency> managedDependencies, TransformableFilter filter )
+ throws DependencyResolverException
{
validateBuildingRequest( buildingRequest );
-
+
try
{
return getMavenDependencyResolver( buildingRequest ).resolveDependencies( coordinates, managedDependencies,
- filter );
+ filter );
}
catch ( ComponentLookupException e )
{
@@ -71,8 +68,7 @@ class DefaultDependencyResolver
@Override
public Iterable<ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest,
- DependableCoordinate coordinate, TransformableFilter filter )
- throws DependencyResolverException
+ DependableCoordinate coordinate, TransformableFilter filter ) throws DependencyResolverException
{
validateParameters( buildingRequest, coordinate );
try
@@ -87,8 +83,7 @@ class DefaultDependencyResolver
@Override
public Iterable<ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest, Model model,
- TransformableFilter filter )
- throws DependencyResolverException
+ TransformableFilter filter ) throws DependencyResolverException
{
validateParameters( buildingRequest, model );
try
@@ -129,8 +124,7 @@ class DefaultDependencyResolver
* @param context Plexus context to inject.
* @throws ContextException if the PlexusContainer could not be located.
*/
- public void contextualize( Context context )
- throws ContextException
+ public void contextualize( Context context ) throws ContextException
{
container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
}
@@ -153,45 +147,39 @@ class DefaultDependencyResolver
}
}
-
+
private MavenDependencyResolver getMavenDependencyResolver( ProjectBuildingRequest buildingRequest )
- throws ComponentLookupException, DependencyResolverException
+ throws ComponentLookupException, DependencyResolverException
{
ArtifactHandlerManager artifactHandlerManager = container.lookup( ArtifactHandlerManager.class );
-
+
if ( isMaven31() )
{
- org.eclipse.aether.RepositorySystem m31RepositorySystem =
- container.lookup( org.eclipse.aether.RepositorySystem.class );
+ org.eclipse.aether.RepositorySystem m31RepositorySystem = container.lookup(
+ org.eclipse.aether.RepositorySystem.class );
- org.eclipse.aether.RepositorySystemSession session =
- (org.eclipse.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" );
+ org.eclipse.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest,
+ "getRepositorySession" );
- List<org.eclipse.aether.repository.RemoteRepository> aetherRepositories =
- (List<org.eclipse.aether.repository.RemoteRepository>) Invoker.invoke( RepositoryUtils.class,
- "toRepos",
- List.class,
- buildingRequest.getRemoteRepositories() );
+ List<org.eclipse.aether.repository.RemoteRepository> aetherRepositories = Invoker.invoke(
+ RepositoryUtils.class, "toRepos", List.class, buildingRequest.getRemoteRepositories() );
return new Maven31DependencyResolver( m31RepositorySystem, artifactHandlerManager, session,
- aetherRepositories );
+ aetherRepositories );
}
else
{
- org.sonatype.aether.RepositorySystem m30RepositorySystem =
- container.lookup( org.sonatype.aether.RepositorySystem.class );
+ org.sonatype.aether.RepositorySystem m30RepositorySystem = container.lookup(
+ org.sonatype.aether.RepositorySystem.class );
- org.sonatype.aether.RepositorySystemSession session =
- (org.sonatype.aether.RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" );
+ org.sonatype.aether.RepositorySystemSession session = Invoker.invoke( buildingRequest,
+ "getRepositorySession" );
- List<org.sonatype.aether.repository.RemoteRepository> aetherRepositories =
- (List<org.sonatype.aether.repository.RemoteRepository>) Invoker.invoke( RepositoryUtils.class,
- "toRepos",
- List.class,
- buildingRequest.getRemoteRepositories() );
+ List<org.sonatype.aether.repository.RemoteRepository> aetherRepositories = Invoker.invoke(
+ RepositoryUtils.class, "toRepos", List.class, buildingRequest.getRemoteRepositories() );
return new Maven30DependencyResolver( m30RepositorySystem, artifactHandlerManager, session,
- aetherRepositories );
+ aetherRepositories );
}
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Invoker.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Invoker.java
index 3c8619f..dc7ad4c 100644
--- a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Invoker.java
+++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Invoker.java
@@ -33,71 +33,31 @@ final class Invoker
// do not instantiate
}
- public static Object invoke( Object object, String method )
- throws DependencyResolverException
- {
- return invoke( object.getClass(), object, method );
- }
-
- public static Object invoke( Class<?> objectClazz, Object object, String method )
+ public static <T> T invoke( Object object, String method )
throws DependencyResolverException
{
try
{
- return objectClazz.getMethod( method ).invoke( object );
- }
- catch ( IllegalAccessException e )
- {
- throw new DependencyResolverException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new DependencyResolverException( e.getMessage(), e );
+ @SuppressWarnings( "unchecked" )
+ T invoke = (T) object.getClass().getMethod( method ).invoke( object );
+ return invoke;
}
- catch ( NoSuchMethodException e )
+ catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
{
throw new DependencyResolverException( e.getMessage(), e );
}
}
- public static Object invoke( Object object, String method, Class<?> argClazz, Object arg )
+ public static <T> T invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg )
throws DependencyResolverException
{
try
{
- final Class<?> objectClazz = object.getClass();
- return objectClazz.getMethod( method, argClazz ).invoke( object, arg );
+ @SuppressWarnings( "unchecked" )
+ T invoke = (T) objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg );
+ return invoke;
}
- catch ( IllegalAccessException e )
- {
- throw new DependencyResolverException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new DependencyResolverException( e.getMessage(), e );
- }
- catch ( NoSuchMethodException e )
- {
- throw new DependencyResolverException( e.getMessage(), e );
- }
- }
-
- public static Object invoke( Class<?> objectClazz, String staticMethod, Class<?> argClazz, Object arg )
- throws DependencyResolverException
- {
- try
- {
- return objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg );
- }
- catch ( IllegalAccessException e )
- {
- throw new DependencyResolverException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new DependencyResolverException( e.getMessage(), e );
- }
- catch ( NoSuchMethodException e )
+ catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
{
throw new DependencyResolverException( e.getMessage(), e );
}
@@ -113,22 +73,21 @@ final class Invoker
* @return the result of the method invocation
* @throws DependencyResolverException if any checked exception occurs
*/
- public static Object invoke( Class<?> objectClazz, String staticMethod, Class<?>[] argClasses, Object[] args )
+ public static <T> T invoke( Class<?> objectClazz, String staticMethod, Class<?>[] argClasses, Object[] args )
throws DependencyResolverException
{
- try
+ if ( args.length != argClasses.length )
{
- return objectClazz.getMethod( staticMethod, argClasses ).invoke( null, args );
+ throw new IllegalArgumentException( "The number of elements in argClasses and args are not the same." );
}
- catch ( IllegalAccessException e )
- {
- throw new DependencyResolverException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
+
+ try
{
- throw new DependencyResolverException( e.getMessage(), e );
+ @SuppressWarnings( "unchecked" )
+ T invoke = (T) objectClazz.getMethod( staticMethod, argClasses ).invoke( null, args );
+ return invoke;
}
- catch ( NoSuchMethodException e )
+ catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
{
throw new DependencyResolverException( e.getMessage(), e );
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven30ArtifactResult.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven30ArtifactResult.java
index ce1f497..b9f37d9 100644
--- a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven30ArtifactResult.java
+++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven30ArtifactResult.java
@@ -26,12 +26,11 @@ import org.sonatype.aether.resolution.ArtifactResult;
/**
* {@link org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult} wrapper for {@link ArtifactResult}
- *
+ *
* @author Robert Scholte
* @since 3.0
*/
-class Maven30ArtifactResult
- implements org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult
+class Maven30ArtifactResult implements org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult
{
private final ArtifactResult artifactResult;
@@ -48,8 +47,7 @@ class Maven30ArtifactResult
{
try
{
- return (org.apache.maven.artifact.Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact",
- Artifact.class, artifactResult.getArtifact() );
+ return Invoker.invoke( RepositoryUtils.class, "toArtifact", Artifact.class, artifactResult.getArtifact() );
}
catch ( DependencyResolverException e )
{
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..031d604 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;
@@ -50,21 +50,19 @@ import org.sonatype.aether.util.artifact.DefaultArtifact;
import org.sonatype.aether.util.artifact.DefaultArtifactType;
/**
- *
+ *
*/
-class Maven30DependencyResolver
- implements MavenDependencyResolver
+class Maven30DependencyResolver implements MavenDependencyResolver
{
+ private static final Class<?>[] ARG_CLASSES = new Class<?>[] {org.apache.maven.model.Dependency.class,
+ ArtifactTypeRegistry.class};
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 )
+ RepositorySystemSession session, List<RemoteRepository> aetherRepositories )
{
super();
this.repositorySystem = repositorySystem;
@@ -73,16 +71,43 @@ class Maven30DependencyResolver
this.aetherRepositories = aetherRepositories;
}
+ /**
+ * Based on RepositoryUtils#toDependency(org.apache.maven.model.Dependency, ArtifactTypeRegistry)
+ *
+ * @param coordinate {@link DependableCoordinate}
+ * @param stereotypes {@link org.eclipse.aether.artifact.ArtifactTypeRegistry
+ * @return as Aether Dependency
+ */
+ private static Dependency toDependency( DependableCoordinate coordinate, ArtifactTypeRegistry stereotypes )
+ {
+ ArtifactType stereotype = stereotypes.get( coordinate.getType() );
+ if ( stereotype == null )
+ {
+ stereotype = new DefaultArtifactType( coordinate.getType() );
+ }
+
+ Artifact artifact = new DefaultArtifact( coordinate.getGroupId(), coordinate.getArtifactId(),
+ coordinate.getClassifier(), null, coordinate.getVersion(), null, stereotype );
+
+ return new Dependency( artifact, null );
+ }
+
+ private static Dependency toDependency( org.apache.maven.model.Dependency mavenDependency,
+ ArtifactTypeRegistry typeRegistry ) throws DependencyResolverException
+ {
+ Object[] args = new Object[] {mavenDependency, typeRegistry};
+
+ return Invoker.invoke( RepositoryUtils.class, "toDependency", ARG_CLASSES, args );
+ }
+
@Override
// CHECKSTYLE_OFF: LineLength
- public Iterable<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult> resolveDependencies( DependableCoordinate coordinate,
- TransformableFilter dependencyFilter )
- // CHECKSTYLE_ON: LineLength
- throws DependencyResolverException
+ public Iterable<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult> resolveDependencies(
+ DependableCoordinate coordinate, TransformableFilter dependencyFilter )
+ // 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,113 +115,92 @@ class Maven30DependencyResolver
return resolveDependencies( dependencyFilter, request );
}
-
+
+ private ArtifactTypeRegistry createTypeRegistry() throws DependencyResolverException
+ {
+ return 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,
- TransformableFilter dependencyFilter )
- // CHECKSTYLE_ON: LineLength
- throws DependencyResolverException
+ TransformableFilter dependencyFilter )
+ // CHECKSTYLE_ON: LineLength
+ throws DependencyResolverException
{
// Are there examples where packaging and type are NOT in sync
ArtifactHandler artifactHandler = artifactHandlerManager.getArtifactHandler( model.getPackaging() );
-
+
String extension = artifactHandler != null ? artifactHandler.getExtension() : null;
-
- Artifact aetherArtifact =
- new DefaultArtifact( model.getGroupId(), model.getArtifactId(), extension, model.getVersion() );
-
+
+ Artifact aetherArtifact = new DefaultArtifact( model.getGroupId(), model.getArtifactId(), extension,
+ model.getVersion() );
+
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() )
- {
- aetherDependencies.add( toDependency( mavenDependency, typeRegistry ) );
- }
- request.setDependencies( aetherDependencies );
+ request.setDependencies( resolveDependencies( model.getDependencies() ) );
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
+ /**
+ * @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 )
+ private List<Dependency> resolveDependencies( Collection<org.apache.maven.model.Dependency> mavenDependencies )
+ throws DependencyResolverException
// CHECKSTYLE_ON: LineLength
- throws DependencyResolverException
{
- 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> 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 };
-
- Dependency aetherDependency =
- (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", argClasses, args );
+ 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;
+ }
+
+ @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> aetherDependencies = resolveDependencies( mavenDependencies );
- aetherManagedDependencies.add( aetherDependency );
- }
- }
+ List<Dependency> aetherManagedDependencies = resolveDependencies( managedMavenDependencies );
- CollectRequest request =
- new CollectRequest( aetherDependencies, aetherManagedDependencies, aetherRepositories );
+ 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
@@ -207,8 +211,8 @@ class Maven30DependencyResolver
depFilter = dependencyFilter.transform( new SonatypeAetherFilterTransformer() );
}
- final List<ArtifactResult> dependencyResults =
- repositorySystem.resolveDependencies( session, request, depFilter );
+ final List<ArtifactResult> dependencyResults = repositorySystem.resolveDependencies( session, request,
+ depFilter );
// Keep it lazy! Often artifactsResults aren't used, so transforming up front is too expensive
return new Iterable<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult>()
@@ -218,9 +222,10 @@ class Maven30DependencyResolver
{
// 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() );
+ new ArrayList<>(
+ dependencyResults.size() );
// CHECKSTYLE_ON: LineLength
-
+
for ( ArtifactResult artifactResult : dependencyResults )
{
artResults.add( new Maven30ArtifactResult( artifactResult ) );
@@ -239,37 +244,4 @@ class Maven30DependencyResolver
throw new Maven30DependencyResolverException( e );
}
}
-
- /**
- * Based on RepositoryUtils#toDependency(org.apache.maven.model.Dependency, ArtifactTypeRegistry)
- *
- * @param coordinate
- * @param stereotypes
- * @return as Aether Dependency
- */
- private static Dependency toDependency( DependableCoordinate coordinate, ArtifactTypeRegistry stereotypes )
- {
- ArtifactType stereotype = stereotypes.get( coordinate.getType() );
- if ( stereotype == null )
- {
- stereotype = new DefaultArtifactType( coordinate.getType() );
- }
-
- Artifact artifact =
- new DefaultArtifact( coordinate.getGroupId(), coordinate.getArtifactId(), coordinate.getClassifier(), null,
- coordinate.getVersion(), null, stereotype );
-
- return new Dependency( artifact, null );
- }
-
- private static Dependency toDependency( org.apache.maven.model.Dependency mavenDependency,
- 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 );
- }
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven31ArtifactResult.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven31ArtifactResult.java
index dba4e8e..fe26ce4 100644
--- a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven31ArtifactResult.java
+++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/Maven31ArtifactResult.java
@@ -48,7 +48,7 @@ class Maven31ArtifactResult
{
try
{
- return (org.apache.maven.artifact.Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact",
+ return Invoker.invoke( RepositoryUtils.class, "toArtifact",
Artifact.class, artifactResult.getArtifact() );
}
catch ( DependencyResolverException e )
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..94d7bb4 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;
@@ -50,21 +51,19 @@ import org.eclipse.aether.resolution.DependencyResolutionException;
import org.eclipse.aether.resolution.DependencyResult;
/**
- *
+ *
*/
-class Maven31DependencyResolver
- implements MavenDependencyResolver
+class Maven31DependencyResolver implements MavenDependencyResolver
{
- private RepositorySystem repositorySystem;
-
- private ArtifactHandlerManager artifactHandlerManager;
-
+ private static final Class<?>[] ARG_CLASSES = new Class<?>[] {org.apache.maven.model.Dependency.class,
+ ArtifactTypeRegistry.class};
+ private final RepositorySystem repositorySystem;
+ private final ArtifactHandlerManager artifactHandlerManager;
private final RepositorySystemSession session;
-
private final List<RemoteRepository> aetherRepositories;
Maven31DependencyResolver( RepositorySystem repositorySystem, ArtifactHandlerManager artifactHandlerManager,
- RepositorySystemSession session, List<RemoteRepository> aetherRepositories )
+ RepositorySystemSession session, List<RemoteRepository> aetherRepositories )
{
super();
this.repositorySystem = repositorySystem;
@@ -73,16 +72,43 @@ class Maven31DependencyResolver
this.aetherRepositories = aetherRepositories;
}
+ /**
+ * Based on RepositoryUtils#toDependency(org.apache.maven.model.Dependency, ArtifactTypeRegistry)
+ *
+ * @param coordinate {@link DependableCoordinate}
+ * @param stereotypes {@link ArtifactTypeRegistry
+ * @return as Aether Dependency
+ */
+ private static Dependency toDependency( DependableCoordinate coordinate, ArtifactTypeRegistry stereotypes )
+ {
+ ArtifactType stereotype = stereotypes.get( coordinate.getType() );
+ if ( stereotype == null )
+ {
+ stereotype = new DefaultArtifactType( coordinate.getType() );
+ }
+
+ Artifact artifact = new DefaultArtifact( coordinate.getGroupId(), coordinate.getArtifactId(),
+ coordinate.getClassifier(), null, coordinate.getVersion(), null, stereotype );
+
+ return new Dependency( artifact, null );
+ }
+
+ private static Dependency toDependency( org.apache.maven.model.Dependency root, ArtifactTypeRegistry typeRegistry )
+ throws DependencyResolverException
+ {
+ Object[] args = new Object[] {root, typeRegistry};
+
+ return Invoker.invoke( RepositoryUtils.class, "toDependency", ARG_CLASSES, args );
+ }
+
@Override
// CHECKSTYLE_OFF: LineLength
- public Iterable<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult> resolveDependencies( DependableCoordinate coordinate,
- TransformableFilter dependencyFilter )
- throws DependencyResolverException
- // CHECKSTYLE_ON: LineLength
+ public Iterable<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult> resolveDependencies(
+ DependableCoordinate coordinate, TransformableFilter dependencyFilter )
+ // 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,102 +116,82 @@ class Maven31DependencyResolver
return resolveDependencies( dependencyFilter, request );
}
-
+
+ private ArtifactTypeRegistry createTypeRegistry() throws DependencyResolverException
+ {
+ return 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,
- TransformableFilter dependencyFilter )
- // CHECKSTYLE_ON: LineLength
- throws DependencyResolverException
+ TransformableFilter dependencyFilter )
+ // CHECKSTYLE_ON: LineLength
+ throws DependencyResolverException
{
- // Are there examples where packaging and type are NOT in sync
+ // Are there examples where packaging and type are NOT in sync
ArtifactHandler artifactHandler = artifactHandlerManager.getArtifactHandler( model.getPackaging() );
-
+
String extension = artifactHandler != null ? artifactHandler.getExtension() : null;
-
- Artifact aetherArtifact =
- new DefaultArtifact( model.getGroupId(), model.getArtifactId(), extension, model.getVersion() );
-
+
+ Artifact aetherArtifact = new DefaultArtifact( model.getGroupId(), model.getArtifactId(), extension,
+ model.getVersion() );
+
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() )
- {
- aetherDependencies.add( toDependency( mavenDependency, typeRegistry ) );
- }
- request.setDependencies( aetherDependencies );
+
+ request.setDependencies( resolveDependencies( model.getDependencies() ) );
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 +199,8 @@ 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
@@ -218,7 +223,8 @@ class Maven31DependencyResolver
{
// CHECKSTYLE_OFF: LineLength
Collection<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult> artResults =
- new ArrayList<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult>( dependencyResults.getArtifactResults().size() );
+ new ArrayList<org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult>(
+ dependencyResults.getArtifactResults().size() );
// CHECKSTYLE_ON: LineLength
for ( ArtifactResult artifactResult : dependencyResults.getArtifactResults() )
@@ -235,36 +241,4 @@ class Maven31DependencyResolver
throw new Maven31DependencyResolverException( e );
}
}
-
- /**
- * Based on RepositoryUtils#toDependency(org.apache.maven.model.Dependency, ArtifactTypeRegistry)
- *
- * @param coordinate {@link DependableCoordinate}
- * @param stereotypes {@link ArtifactTypeRegistry
- * @return as Aether Dependency
- */
- private static Dependency toDependency( DependableCoordinate coordinate, ArtifactTypeRegistry stereotypes )
- {
- ArtifactType stereotype = stereotypes.get( coordinate.getType() );
- if ( stereotype == null )
- {
- stereotype = new DefaultArtifactType( coordinate.getType() );
- }
-
- Artifact artifact =
- new DefaultArtifact( coordinate.getGroupId(), coordinate.getArtifactId(), coordinate.getClassifier(), null,
- coordinate.getVersion(), null, stereotype );
-
- return new Dependency( artifact, null );
- }
-
- 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 );
- }
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/MavenDependencyResolver.java b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/MavenDependencyResolver.java
index da0222d..8652207 100644
--- a/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/MavenDependencyResolver.java
+++ b/src/main/java/org/apache/maven/shared/transfer/dependencies/resolve/internal/MavenDependencyResolver.java
@@ -33,7 +33,7 @@ import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolverE
* @author Robert Scholte
*
*/
-public interface MavenDependencyResolver
+interface MavenDependencyResolver
{
Iterable<ArtifactResult> resolveDependencies( DependableCoordinate coordinate,
diff --git a/src/main/java/org/apache/maven/shared/transfer/project/install/internal/DefaultProjectInstaller.java b/src/main/java/org/apache/maven/shared/transfer/project/install/internal/DefaultProjectInstaller.java
index dd6de0d..02ec826 100644
--- a/src/main/java/org/apache/maven/shared/transfer/project/install/internal/DefaultProjectInstaller.java
+++ b/src/main/java/org/apache/maven/shared/transfer/project/install/internal/DefaultProjectInstaller.java
@@ -149,10 +149,8 @@ class DefaultProjectInstaller
}
}
- // CHECKSTYLE_OFF: LineLength
private void addMetaDataFilesForArtifact( ProjectBuildingRequest buildingRequest, Artifact artifact,
- Collection<File> targetMetadataFiles )
- // CHECKSTYLE_ON: LineLength
+ Collection<File> targetMetadataFiles )
{
Collection<ArtifactMetadata> metadatas = artifact.getMetadataList();
if ( metadatas != null )
diff --git a/src/main/java/org/apache/maven/shared/transfer/repository/internal/Invoker.java b/src/main/java/org/apache/maven/shared/transfer/repository/internal/Invoker.java
index 2da84bc..48342dc 100644
--- a/src/main/java/org/apache/maven/shared/transfer/repository/internal/Invoker.java
+++ b/src/main/java/org/apache/maven/shared/transfer/repository/internal/Invoker.java
@@ -33,50 +33,32 @@ final class Invoker
// do not instantiate
}
- public static Object invoke( Object object, String method )
- throws RepositoryManagerException
- {
- return invoke( object.getClass(), object, method );
- }
-
- public static Object invoke( Class<?> objectClazz, Object object, String method )
+ public static <T> T invoke( Object object, String method )
throws RepositoryManagerException
{
try
{
- return objectClazz.getMethod( method ).invoke( object );
+ @SuppressWarnings( "unchecked" )
+ T invoke = (T) object.getClass().getMethod( method ).invoke( object );
+ return invoke;
}
- catch ( IllegalAccessException e )
- {
- throw new RepositoryManagerException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new RepositoryManagerException( e.getMessage(), e );
- }
- catch ( NoSuchMethodException e )
+ catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
{
throw new RepositoryManagerException( e.getMessage(), e );
}
}
- public static Object invoke( Object object, String method, Class<?> argClazz, Object arg )
+ public static <T> T invoke( Object object, String method, Class<?> argClazz, Object arg )
throws RepositoryManagerException
{
try
{
final Class<?> objectClazz = object.getClass();
- return objectClazz.getMethod( method, argClazz ).invoke( object, arg );
- }
- catch ( IllegalAccessException e )
- {
- throw new RepositoryManagerException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new RepositoryManagerException( e.getMessage(), e );
+ @SuppressWarnings( "unchecked" )
+ T invoke = (T) objectClazz.getMethod( method, argClazz ).invoke( object, arg );
+ return invoke;
}
- catch ( NoSuchMethodException e )
+ catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
{
throw new RepositoryManagerException( e.getMessage(), e );
}
@@ -89,15 +71,7 @@ final class Invoker
{
return objectClazz.getMethod( staticMethod, argClazz ).invoke( null, arg );
}
- catch ( IllegalAccessException e )
- {
- throw new RepositoryManagerException( e.getMessage(), e );
- }
- catch ( InvocationTargetException e )
- {
- throw new RepositoryManagerException( e.getMessage(), e );
- }
- catch ( NoSuchMethodException e )
+ catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
{
throw new RepositoryManagerException( e.getMessage(), e );
}
diff --git a/src/main/java/org/apache/maven/shared/transfer/repository/internal/Maven31RepositoryManager.java b/src/main/java/org/apache/maven/shared/transfer/repository/internal/Maven31RepositoryManager.java
index 86ae613..6f486a0 100644
--- a/src/main/java/org/apache/maven/shared/transfer/repository/internal/Maven31RepositoryManager.java
+++ b/src/main/java/org/apache/maven/shared/transfer/repository/internal/Maven31RepositoryManager.java
@@ -103,7 +103,7 @@ class Maven31RepositoryManager
RepositorySystemSession session;
try
{
- session = (RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" );
+ session = Invoker.invoke( buildingRequest, "getRepositorySession" );
}
catch ( RepositoryManagerException e )
{