You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2016/06/08 22:13:36 UTC

svn commit: r1747459 - /maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InstallMojo.java

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 );
             }
         }
     }