Author: rfscholte
Date: Sun Oct 18 12:32:46 2015
New Revision: 1709273

URL: http://svn.apache.org/viewvc?rev=1709273&view=rev
Log:
Expose RemoteRepository as argument, so you don't need to set it on the 
artifact up front.

Modified:
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/ArtifactDeployer.java
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/DefaultArtifactDeployer.java
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven30ArtifactDeployer.java
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven31ArtifactDeployer.java

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/ArtifactDeployer.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/ArtifactDeployer.java?rev=1709273&r1=1709272&r2=1709273&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/ArtifactDeployer.java
 (original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/ArtifactDeployer.java
 Sun Oct 18 12:32:46 2015
@@ -22,6 +22,7 @@ package org.apache.maven.shared.artifact
 import java.util.Collection;
 
 import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.project.ProjectBuildingRequest;
 
 /**
@@ -32,4 +33,16 @@ public interface ArtifactDeployer
 
     void deploy( ProjectBuildingRequest request, Collection<Artifact> 
mavenArtifacts )
                     throws ArtifactDeployerException;
+
+    /**
+     * @param request the building request
+     * @param remoteRepository the repository to deploy to. If {@code null} 
the {@code mavenArtifact.getRepository()} 
+     *          is used.
+     * @param mavenArtifacts the artifacts to deploy
+     * @throws ArtifactDeployerException
+     */
+    void deploy( ProjectBuildingRequest request, ArtifactRepository 
remoteRepository,
+                 Collection<Artifact> mavenArtifacts )
+                     throws ArtifactDeployerException;
+
 }

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/DefaultArtifactDeployer.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/DefaultArtifactDeployer.java?rev=1709273&r1=1709272&r2=1709273&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/DefaultArtifactDeployer.java
 (original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/DefaultArtifactDeployer.java
 Sun Oct 18 12:32:46 2015
@@ -22,6 +22,7 @@ package org.apache.maven.shared.artifact
 import java.util.Collection;
 
 import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.project.ProjectBuildingRequest;
 import org.apache.maven.shared.artifact.deploy.ArtifactDeployer;
 import org.apache.maven.shared.artifact.deploy.ArtifactDeployerException;
@@ -43,6 +44,7 @@ public class DefaultArtifactDeployer
 
     private PlexusContainer container;
     
+    @Override
     public void deploy( ProjectBuildingRequest request, Collection<Artifact> 
mavenArtifacts )
         throws ArtifactDeployerException
     {
@@ -60,6 +62,24 @@ public class DefaultArtifactDeployer
         }
     }
 
+    @Override
+    public void deploy( ProjectBuildingRequest request, ArtifactRepository 
remoteRepository,
+                        Collection<Artifact> mavenArtifacts )
+                            throws ArtifactDeployerException
+    {
+        try
+        {
+            String hint = isMaven31() ? "maven31" : "maven3";
+
+            ArtifactDeployer effectiveArtifactDeployer = container.lookup( 
ArtifactDeployer.class, hint );
+
+            effectiveArtifactDeployer.deploy( request, remoteRepository, 
mavenArtifacts );
+        }
+        catch ( ComponentLookupException e )
+        {
+            throw new ArtifactDeployerException( e.getMessage(), e );
+        }
+    }
     /**
      * @return true if the current Maven version is Maven 3.1.
      */

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven30ArtifactDeployer.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven30ArtifactDeployer.java?rev=1709273&r1=1709272&r2=1709273&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven30ArtifactDeployer.java
 (original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven30ArtifactDeployer.java
 Sun Oct 18 12:32:46 2015
@@ -23,6 +23,7 @@ import java.util.Collection;
 
 import org.apache.maven.RepositoryUtils;
 import org.apache.maven.artifact.metadata.ArtifactMetadata;
+import org.apache.maven.artifact.repository.ArtifactRepository;
 import 
org.apache.maven.artifact.repository.metadata.ArtifactRepositoryMetadata;
 import org.apache.maven.project.ProjectBuildingRequest;
 import org.apache.maven.project.artifact.ProjectArtifactMetadata;
@@ -49,13 +50,33 @@ public class Maven30ArtifactDeployer
     @Requirement
     private RepositorySystem repositorySystem;
 
+    @Override
     public void deploy( ProjectBuildingRequest buildingRequest,
-                         Collection<org.apache.maven.artifact.Artifact> 
mavenArtifacts )
+                        Collection<org.apache.maven.artifact.Artifact> 
mavenArtifacts )
+                            throws ArtifactDeployerException
+    {
+        deploy( buildingRequest, null, mavenArtifacts );
+    }
+    
+    @Override
+    public void deploy( ProjectBuildingRequest buildingRequest, 
ArtifactRepository remoteRepository,
+                        Collection<org.apache.maven.artifact.Artifact> 
mavenArtifacts )
         throws ArtifactDeployerException
     {
         // prepare request
         DeployRequest request = new DeployRequest();
+
+        RemoteRepository defaultRepository = null;
         
+        if ( remoteRepository != null )
+        {
+            // CHECKSTYLE_OFF: LineLength
+            defaultRepository = (RemoteRepository) Invoker.invoke( 
RepositoryUtils.class, "toRepo",
+                                                                   
org.apache.maven.artifact.repository.ArtifactRepository.class,
+                                                                   
remoteRepository );
+            // CHECKSTYLE_ON: LineLength
+        }
+
         // transform artifacts
         for ( org.apache.maven.artifact.Artifact mavenArtifact : 
mavenArtifacts )
         {
@@ -63,11 +84,21 @@ public class Maven30ArtifactDeployer
                             (Artifact) Invoker.invoke( RepositoryUtils.class, 
"toArtifact",
                                                        
org.apache.maven.artifact.Artifact.class, mavenArtifact );
             request.addArtifact( aetherArtifact );
-
-            RemoteRepository aetherRepository =
-                (RemoteRepository) Invoker.invoke( RepositoryUtils.class, 
"toRepo",
-                                                   
org.apache.maven.artifact.repository.ArtifactRepository.class,
-                                                   
mavenArtifact.getRepository() );
+            
+            RemoteRepository aetherRepository;
+            if ( remoteRepository == null )
+            {
+                // CHECKSTYLE_OFF: LineLength
+                aetherRepository = (RemoteRepository) Invoker.invoke( 
RepositoryUtils.class, "toRepo",
+                                                                      
org.apache.maven.artifact.repository.ArtifactRepository.class,
+                                                                      
mavenArtifact.getRepository() );
+                // CHECKSTYLE_ON: LineLength
+            }
+            else
+            {
+                aetherRepository = defaultRepository;
+            }
+            
             request.setRepository( aetherRepository );
             
             for ( ArtifactMetadata metadata : mavenArtifact.getMetadataList() )

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven31ArtifactDeployer.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven31ArtifactDeployer.java?rev=1709273&r1=1709272&r2=1709273&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven31ArtifactDeployer.java
 (original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy/internal/Maven31ArtifactDeployer.java
 Sun Oct 18 12:32:46 2015
@@ -49,13 +49,32 @@ public class Maven31ArtifactDeployer imp
     @Requirement
     private RepositorySystem repositorySystem;
     
+    @Override
     public void deploy( ProjectBuildingRequest buildingRequest,
-                         Collection<org.apache.maven.artifact.Artifact> 
mavenArtifacts )
+                        Collection<org.apache.maven.artifact.Artifact> 
mavenArtifacts )
+                            throws ArtifactDeployerException
+    {
+        deploy( buildingRequest, null, mavenArtifacts );
+    }
+    
+    public void deploy( ProjectBuildingRequest buildingRequest, 
ArtifactRepository remoteRepository,
+                        Collection<org.apache.maven.artifact.Artifact> 
mavenArtifacts )
         throws ArtifactDeployerException
     {
         // prepare request
         DeployRequest request = new DeployRequest();
         
+        RemoteRepository defaultRepository = null;
+        
+        if ( remoteRepository != null )
+        {
+            // CHECKSTYLE_OFF: LineLength
+            defaultRepository = (RemoteRepository) Invoker.invoke( 
RepositoryUtils.class, "toRepo",
+                                                                   
org.apache.maven.artifact.repository.ArtifactRepository.class,
+                                                                   
remoteRepository );
+            // CHECKSTYLE_ON: LineLength
+        }
+        
         // transform artifacts
         for ( org.apache.maven.artifact.Artifact mavenArtifact : 
mavenArtifacts )
         {
@@ -64,10 +83,20 @@ public class Maven31ArtifactDeployer imp
                                                        
org.apache.maven.artifact.Artifact.class, mavenArtifact );
             request.addArtifact( aetherArtifact );
             
-            RemoteRepository aetherRepository =
-                            (RemoteRepository) Invoker.invoke( 
RepositoryUtils.class, "toRepo",
-                                                               
ArtifactRepository.class,
-                                                               
mavenArtifact.getRepository() );
+            RemoteRepository aetherRepository;
+            if ( remoteRepository == null )
+            {
+                // CHECKSTYLE_OFF: LineLength
+                aetherRepository = (RemoteRepository) Invoker.invoke( 
RepositoryUtils.class, "toRepo",
+                                                                      
org.apache.maven.artifact.repository.ArtifactRepository.class,
+                                                                      
mavenArtifact.getRepository() );
+                // CHECKSTYLE_ON: LineLength
+            }
+            else
+            {
+                aetherRepository = defaultRepository;
+            }
+            
             request.setRepository( aetherRepository );
 
             for ( ArtifactMetadata metadata : mavenArtifact.getMetadataList() )


Reply via email to