Author: rfscholte
Date: Sat Dec 26 12:44:09 2015
New Revision: 1721728

URL: http://svn.apache.org/viewvc?rev=1721728&view=rev
Log:
Add optional argument for localRepository

Modified:
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/ArtifactInstaller.java
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/DefaultArtifactInstaller.java
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/Maven30ArtifactInstaller.java
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/Maven31ArtifactInstaller.java

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/ArtifactInstaller.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/ArtifactInstaller.java?rev=1721728&r1=1721727&r2=1721728&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/ArtifactInstaller.java
 (original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/ArtifactInstaller.java
 Sat Dec 26 12:44:09 2015
@@ -19,6 +19,7 @@ package org.apache.maven.shared.artifact
  * under the License.
  */
 
+import java.io.File;
 import java.util.Collection;
 
 import org.apache.maven.artifact.Artifact;
@@ -37,4 +38,8 @@ public interface ArtifactInstaller
      */
     void install( ProjectBuildingRequest request, Collection<Artifact> 
mavenArtifacts )
         throws ArtifactInstallerException;
+    
+    void install( ProjectBuildingRequest request, File localRepository, 
Collection<Artifact> mavenArtifacts )
+                    throws ArtifactInstallerException;
+    
 }

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/DefaultArtifactInstaller.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/DefaultArtifactInstaller.java?rev=1721728&r1=1721727&r2=1721728&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/DefaultArtifactInstaller.java
 (original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/DefaultArtifactInstaller.java
 Sat Dec 26 12:44:09 2015
@@ -19,6 +19,7 @@ package org.apache.maven.shared.artifact
  * under the License.
  */
 
+import java.io.File;
 import java.util.Collection;
 
 import org.apache.maven.artifact.Artifact;
@@ -43,7 +44,7 @@ public class DefaultArtifactInstaller
 
     private PlexusContainer container;
 
-    /** {@inheritDoc} */
+    @Override
     public void install( ProjectBuildingRequest request, Collection<Artifact> 
mavenArtifacts )
         throws ArtifactInstallerException
     {
@@ -57,6 +58,24 @@ public class DefaultArtifactInstaller
         }
         catch ( ComponentLookupException e )
         {
+            throw new ArtifactInstallerException( e.getMessage(), e );
+        }
+    }
+    
+    @Override
+    public void install( ProjectBuildingRequest request, File localRepositry, 
Collection<Artifact> mavenArtifacts )
+        throws ArtifactInstallerException
+    {
+        try
+        {
+            String hint = isMaven31() ? "maven31" : "maven3";
+
+            ArtifactInstaller effectiveArtifactInstaller = container.lookup( 
ArtifactInstaller.class, hint );
+
+            effectiveArtifactInstaller.install( request, localRepositry, 
mavenArtifacts );
+        }
+        catch ( ComponentLookupException e )
+        {
             throw new ArtifactInstallerException( e.getMessage(), e );
         }
     }

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/Maven30ArtifactInstaller.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/Maven30ArtifactInstaller.java?rev=1721728&r1=1721727&r2=1721728&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/Maven30ArtifactInstaller.java
 (original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/Maven30ArtifactInstaller.java
 Sat Dec 26 12:44:09 2015
@@ -19,6 +19,7 @@ package org.apache.maven.shared.artifact
  * under the License.
  */
 
+import java.io.File;
 import java.util.Collection;
 
 import org.apache.maven.RepositoryUtils;
@@ -28,6 +29,7 @@ import org.apache.maven.project.ProjectB
 import org.apache.maven.project.artifact.ProjectArtifactMetadata;
 import org.apache.maven.shared.artifact.install.ArtifactInstaller;
 import org.apache.maven.shared.artifact.install.ArtifactInstallerException;
+import org.apache.maven.shared.artifact.repository.RepositoryManager;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
 import org.sonatype.aether.RepositorySystem;
@@ -46,13 +48,24 @@ public class Maven30ArtifactInstaller
 {
     @Requirement
     private RepositorySystem repositorySystem;
+    
+    @Requirement
+    private RepositoryManager repositoryManager; 
 
-    /** {@inheritDoc} */
+    @Override
     public void install( ProjectBuildingRequest buildingRequest,
                          Collection<org.apache.maven.artifact.Artifact> 
mavenArtifacts )
                              throws ArtifactInstallerException
     {
-        // prepare installRequest
+        install( buildingRequest, null, mavenArtifacts );
+    }
+    
+    @Override
+    public void install( ProjectBuildingRequest buildingRequest, File 
localRepository,
+                         Collection<org.apache.maven.artifact.Artifact> 
mavenArtifacts )
+                             throws ArtifactInstallerException
+    {
+     // prepare installRequest
         InstallRequest request = new InstallRequest();
 
         // transform artifacts
@@ -83,9 +96,15 @@ public class Maven30ArtifactInstaller
             }
         }
 
+        if ( localRepository != null )
+        {
+            buildingRequest = repositoryManager.setLocalRepositoryBasedir( 
buildingRequest, localRepository );
+        }
+
         RepositorySystemSession session =
             (RepositorySystemSession) Invoker.invoke( buildingRequest, 
"getRepositorySession" );
 
+        
         // install
         try
         {

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/Maven31ArtifactInstaller.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/Maven31ArtifactInstaller.java?rev=1721728&r1=1721727&r2=1721728&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/Maven31ArtifactInstaller.java
 (original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/install/internal/Maven31ArtifactInstaller.java
 Sat Dec 26 12:44:09 2015
@@ -19,6 +19,7 @@ package org.apache.maven.shared.artifact
  * under the License.
  */
 
+import java.io.File;
 import java.util.Collection;
 
 import org.apache.maven.RepositoryUtils;
@@ -28,6 +29,7 @@ import org.apache.maven.project.ProjectB
 import org.apache.maven.project.artifact.ProjectArtifactMetadata;
 import org.apache.maven.shared.artifact.install.ArtifactInstaller;
 import org.apache.maven.shared.artifact.install.ArtifactInstallerException;
+import org.apache.maven.shared.artifact.repository.RepositoryManager;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
 import org.eclipse.aether.RepositorySystem;
@@ -48,11 +50,22 @@ public class Maven31ArtifactInstaller
     @Requirement
     private RepositorySystem repositorySystem;
 
-    /** {@inheritDoc} */
+    @Requirement
+    private RepositoryManager repositoryManager;
+
+    @Override
     public void install( ProjectBuildingRequest buildingRequest,
                          Collection<org.apache.maven.artifact.Artifact> 
mavenArtifacts )
                              throws ArtifactInstallerException
     {
+        install( buildingRequest, null, mavenArtifacts );
+    }
+    
+    @Override
+    public void install( ProjectBuildingRequest buildingRequest, File 
localRepository,
+                         Collection<org.apache.maven.artifact.Artifact> 
mavenArtifacts )
+                             throws ArtifactInstallerException
+    {
         // prepare installRequest
         InstallRequest request = new InstallRequest();
 
@@ -83,6 +96,11 @@ public class Maven31ArtifactInstaller
                 }
             }
         }
+        
+        if ( localRepository != null )
+        {
+            buildingRequest = repositoryManager.setLocalRepositoryBasedir( 
buildingRequest, localRepository );
+        }
 
         RepositorySystemSession session =
             (RepositorySystemSession) Invoker.invoke( buildingRequest, 
"getRepositorySession" );


Reply via email to