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 2015/10/18 14:32:47 UTC

svn commit: r1709273 - in /maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/deploy: ./ internal/

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() )