You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2010/02/27 23:09:11 UTC
svn commit: r917058 - in /maven/maven-3/trunk/maven-compat/src:
main/java/org/apache/maven/artifact/deployer/
main/java/org/apache/maven/artifact/repository/
test/resources/org/apache/maven/artifact/deployer/
Author: bentmann
Date: Sat Feb 27 22:09:10 2010
New Revision: 917058
URL: http://svn.apache.org/viewvc?rev=917058&view=rev
Log:
[MNG-4571] mvn deploy -DaltDeploymentRepository errors out
Modified:
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
maven/maven-3/trunk/maven-compat/src/test/resources/org/apache/maven/artifact/deployer/ArtifactDeployerTest.xml
Modified: maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java?rev=917058&r1=917057&r2=917058&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java (original)
+++ maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java Sat Feb 27 22:09:10 2010
@@ -17,14 +17,19 @@
import java.io.File;
import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.metadata.ArtifactMetadata;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.DefaultArtifactRepository;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadataDeploymentException;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager;
+import org.apache.maven.execution.MavenExecutionRequest;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.LegacySupport;
+import org.apache.maven.repository.RepositorySystem;
import org.apache.maven.repository.legacy.TransferListenerAdapter;
import org.apache.maven.repository.legacy.WagonManager;
import org.apache.maven.repository.legacy.resolver.transform.ArtifactTransformationManager;
@@ -50,6 +55,9 @@
private RepositoryMetadataManager repositoryMetadataManager;
@Requirement
+ private RepositorySystem repositorySystem;
+
+ @Requirement
private LegacySupport legacySupport;
/**
@@ -68,6 +76,8 @@
public void deploy( File source, Artifact artifact, ArtifactRepository deploymentRepository, ArtifactRepository localRepository )
throws ArtifactDeploymentException
{
+ deploymentRepository = injectSession( deploymentRepository );
+
try
{
transformationManager.transformForDeployment( artifact, deploymentRepository, localRepository );
@@ -113,4 +123,32 @@
return TransferListenerAdapter.newAdapter( session.getRequest().getTransferListener() );
}
+ private ArtifactRepository injectSession( ArtifactRepository repository )
+ {
+ /*
+ * NOTE: This provides backward-compat with maven-deploy-plugin:2.4 which bypasses the repository factory when
+ * using an alternative deployment location.
+ */
+ if ( repository instanceof DefaultArtifactRepository && repository.getAuthentication() == null )
+ {
+ MavenSession session = legacySupport.getSession();
+
+ if ( session != null )
+ {
+ MavenExecutionRequest request = session.getRequest();
+
+ if ( request != null )
+ {
+ List<ArtifactRepository> repositories = Arrays.asList( repository );
+
+ repositorySystem.injectProxy( repositories, request.getProxies() );
+
+ repositorySystem.injectAuthentication( repositories, request.getServers() );
+ }
+ }
+ }
+
+ return repository;
+ }
+
}
Modified: maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java?rev=917058&r1=917057&r2=917058&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java (original)
+++ maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java Sat Feb 27 22:09:10 2010
@@ -48,6 +48,10 @@
private ArtifactRepositoryPolicy releases;
private boolean blacklisted;
+
+ private Authentication authentication;
+
+ private Proxy proxy;
/**
* Create a local repository or a test repository.
@@ -212,30 +216,24 @@
return Collections.emptyList();
}
- //
- // This implementation does not support authentication
- //
public Authentication getAuthentication()
{
- return null;
+ return authentication;
}
public void setAuthentication( Authentication authentication )
{
- // do nothing
+ this.authentication = authentication;
}
-
- //
- // This implementation does not support proxies
- //
+
public Proxy getProxy()
{
- return null;
+ return proxy;
}
public void setProxy( Proxy proxy )
{
- // do nothing
+ this.proxy = proxy;
}
public boolean isUniqueVersion()
Modified: maven/maven-3/trunk/maven-compat/src/test/resources/org/apache/maven/artifact/deployer/ArtifactDeployerTest.xml
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/test/resources/org/apache/maven/artifact/deployer/ArtifactDeployerTest.xml?rev=917058&r1=917057&r2=917058&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-compat/src/test/resources/org/apache/maven/artifact/deployer/ArtifactDeployerTest.xml (original)
+++ maven/maven-3/trunk/maven-compat/src/test/resources/org/apache/maven/artifact/deployer/ArtifactDeployerTest.xml Sat Feb 27 22:09:10 2010
@@ -19,9 +19,5 @@
<plexus>
<components>
- <component>
- <role>org.apache.maven.artifact.metadata.ArtifactMetadataSource</role>
- <implementation>org.apache.maven.artifact.deployer.SimpleArtifactMetadataSource</implementation>
- </component>
</components>
</plexus>