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