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 );
+ }
+ }
+
}