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 2009/10/27 14:15:40 UTC

svn commit: r830161 - /maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/project/ProjectUtils.java

Author: bentmann
Date: Tue Oct 27 13:15:39 2009
New Revision: 830161

URL: http://svn.apache.org/viewvc?rev=830161&view=rev
Log:
o Fixed legacy support

Modified:
    maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/project/ProjectUtils.java

Modified: maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/project/ProjectUtils.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/project/ProjectUtils.java?rev=830161&r1=830160&r2=830161&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/project/ProjectUtils.java (original)
+++ maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/project/ProjectUtils.java Tue Oct 27 13:15:39 2009
@@ -20,13 +20,16 @@
  */
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 import org.apache.maven.artifact.InvalidRepositoryException;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
+import org.apache.maven.execution.MavenExecutionRequest;
 import org.apache.maven.model.DeploymentRepository;
 import org.apache.maven.model.Repository;
+import org.apache.maven.plugin.LegacySupport;
 import org.apache.maven.repository.RepositorySystem;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
@@ -53,28 +56,31 @@
             remoteRepositories.add( buildArtifactRepository( r, artifactRepositoryFactory, c ) );
         }
 
-        /*
-         * FIXME: The bad dependency relation between maven-core and maven-compat prevents access to LegacySupport here
-         * which is required to get the mirror&authentication settings from the session/request.
-         */
-
         return remoteRepositories;
     }
 
     public static ArtifactRepository buildDeploymentArtifactRepository( DeploymentRepository repo, ArtifactRepositoryFactory artifactRepositoryFactory, PlexusContainer c )
         throws InvalidRepositoryException
     {
-        /*
-         * FIXME: The bad dependency relation between maven-core and maven-compat prevents access to LegacySupport here
-         * which is required to get the authentication settings from the session/request.
-         */
-        return rs( c ).buildArtifactRepository( repo );
+        return buildArtifactRepository( repo, artifactRepositoryFactory, c );
     }
 
     public static ArtifactRepository buildArtifactRepository( Repository repo, ArtifactRepositoryFactory artifactRepositoryFactory, PlexusContainer c )
         throws InvalidRepositoryException
     {
-        return rs( c  ).buildArtifactRepository( repo );        
+        RepositorySystem repositorySystem = rs( c );
+        MavenExecutionRequest executionRequest = er( c );
+
+        ArtifactRepository repository = repositorySystem.buildArtifactRepository( repo );
+
+        if ( executionRequest != null )
+        {
+            repositorySystem.injectMirror( Arrays.asList( repository ), executionRequest.getMirrors() );
+            repositorySystem.injectProxy( Arrays.asList( repository ), executionRequest.getProxies() );
+            repositorySystem.injectAuthentication( Arrays.asList( repository ), executionRequest.getServers() );
+        }
+
+        return repository;
     }
 
     private static RepositorySystem rs( PlexusContainer c )
@@ -89,4 +95,25 @@
         }
     }
 
+    private static MavenExecutionRequest er( PlexusContainer c )
+    {
+        try
+        {
+            LegacySupport legacySupport = c.lookup( LegacySupport.class );
+
+            if ( legacySupport.getSession() != null )
+            {
+                return legacySupport.getSession().getRequest();
+            }
+            else
+            {
+                return null;
+            }
+        }
+        catch ( ComponentLookupException e )
+        {
+            throw new IllegalStateException( e );
+        }
+    }
+
 }