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