Author: rfscholte Date: Wed Jun 8 22:13:35 2016 New Revision: 1747459 URL: http://svn.apache.org/viewvc?rev=1747459&view=rev Log: [MINVOKER-204] Upgrade to Maven3 plugin Use strengh of Aether to resolve all files instead of manually copying a lot of them to the custom repository
Modified: maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InstallMojo.java Modified: maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InstallMojo.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InstallMojo.java?rev=1747459&r1=1747458&r2=1747459&view=diff ============================================================================== --- maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InstallMojo.java (original) +++ maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InstallMojo.java Wed Jun 8 22:13:35 2016 @@ -26,7 +26,6 @@ import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashSet; -import java.util.List; import java.util.Map; import org.apache.maven.artifact.Artifact; @@ -34,8 +33,6 @@ import org.apache.maven.artifact.factory import org.apache.maven.artifact.metadata.ArtifactMetadataSource; import org.apache.maven.artifact.repository.ArtifactRepository; import org.apache.maven.artifact.repository.ArtifactRepositoryFactory; -import org.apache.maven.artifact.resolver.ArtifactResolutionResult; -import org.apache.maven.artifact.resolver.ArtifactResolver; import org.apache.maven.execution.MavenSession; import org.apache.maven.model.Model; import org.apache.maven.model.Parent; @@ -49,6 +46,9 @@ import org.apache.maven.plugins.annotati import org.apache.maven.project.MavenProject; import org.apache.maven.project.ProjectBuildingRequest; import org.apache.maven.shared.artifact.install.ArtifactInstaller; +import org.apache.maven.shared.dependency.DefaultDependencyCoordinate; +import org.apache.maven.shared.dependency.resolve.DependencyResolver; +import org.apache.maven.shared.dependency.resolve.DependencyResolverException; import org.apache.maven.shared.repository.RepositoryManager; import org.codehaus.plexus.util.FileUtils; @@ -165,17 +165,7 @@ public class InstallMojo /** */ @Component - private ArtifactResolver resolver; - - /** - */ - @Parameter( defaultValue = "${project.remoteArtifactRepositories}", readonly = true ) - private List<ArtifactRepository> remoteArtifactRepositories; - - /** - */ - @Parameter( defaultValue = "${project.pluginArtifactRepositories}", readonly = true ) - private List<ArtifactRepository> remotePluginRepositories; + private DependencyResolver resolver; /** */ @@ -583,8 +573,6 @@ public class InstallMojo return; } - Artifact originatingArtifact = project.getArtifact(); - for ( String extraArtifact : extraArtifacts ) { String[] gav = extraArtifact.split( ":" ); @@ -609,42 +597,20 @@ public class InstallMojo classifier = gav[4]; } - List<ArtifactRepository> remoteRepositories; - if ( "maven-plugin".equals( type ) ) - { - remoteRepositories = this.remotePluginRepositories; - } - else - { - remoteRepositories = this.remoteArtifactRepositories; - } - - Artifact artifact = null; + DefaultDependencyCoordinate coordinate = new DefaultDependencyCoordinate(); try { - artifact = - artifactFactory.createArtifactWithClassifier( groupId, artifactId, version, type, classifier ); + coordinate.setGroupId( groupId ); + coordinate.setArtifactId( artifactId ); + coordinate.setVersion( version ); + coordinate.setType( type ); + coordinate.setClassifier( classifier ); - ArtifactResolutionResult arr = - resolver.resolveTransitively( Collections.singleton( artifact ), originatingArtifact, - remoteRepositories, localRepository, artifactMetadataSource ); - - if ( !groupId.equals( artifact.getGroupId() ) || !artifactId.equals( artifact.getArtifactId() ) - || !version.equals( artifact.getVersion() ) ) - { - artifact = - artifactFactory.createArtifactWithClassifier( groupId, artifactId, version, type, classifier ); - copyPoms( artifact ); - } - - for ( Artifact arrArtifact : arr.getArtifacts() ) - { - copyArtifact( arrArtifact ); - } + resolver.resolveDependencies( projectBuildingRequest, coordinate, null ); } - catch ( Exception e ) + catch ( DependencyResolverException e ) { - throw new MojoExecutionException( "Unable to resolve dependencies for: " + artifact, e ); + throw new MojoExecutionException( "Unable to resolve dependencies for: " + coordinate, e ); } } }