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>