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 2011/02/24 00:47:22 UTC
svn commit: r1073990 - in
/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven:
artifact/repository/DefaultArtifactRepositoryFactory.java
project/ProjectUtils.java repository/legacy/LegacyRepositorySystem.java
Author: bentmann
Date: Wed Feb 23 23:47:21 2011
New Revision: 1073990
URL: http://svn.apache.org/viewvc?rev=1073990&view=rev
Log:
[MNG-4991] LegacyRepositorySystem#injectProxy(repositories, proxies) doesn't evaluate non-proxy hosts
Modified:
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/project/ProjectUtils.java
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java
Modified: maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java?rev=1073990&r1=1073989&r2=1073990&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java (original)
+++ maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java Wed Feb 23 23:47:21 2011
@@ -24,12 +24,11 @@ import java.util.List;
import org.apache.maven.artifact.UnknownRepositoryLayoutException;
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-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.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
+import org.sonatype.aether.RepositorySystemSession;
/**
* @author jdcasey
@@ -97,24 +96,20 @@ public class DefaultArtifactRepositoryFa
private ArtifactRepository injectSession( ArtifactRepository repository, boolean mirrors )
{
- MavenSession session = legacySupport.getSession();
+ RepositorySystemSession session = legacySupport.getRepositorySession();
if ( session != null && repository != null && !isLocalRepository( repository ) )
{
- MavenExecutionRequest request = session.getRequest();
- if ( request != null )
- {
- List<ArtifactRepository> repositories = Arrays.asList( repository );
+ List<ArtifactRepository> repositories = Arrays.asList( repository );
- if ( mirrors )
- {
- repositorySystem.injectMirror( repositories, request.getMirrors() );
- }
+ if ( mirrors )
+ {
+ repositorySystem.injectMirror( session, repositories );
+ }
- repositorySystem.injectProxy( repositories, request.getProxies() );
+ repositorySystem.injectProxy( session, repositories );
- repositorySystem.injectAuthentication( repositories, request.getServers() );
- }
+ repositorySystem.injectAuthentication( session, repositories );
}
return repository;
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=1073990&r1=1073989&r2=1073990&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 Wed Feb 23 23:47:21 2011
@@ -26,13 +26,13 @@ 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;
+import org.sonatype.aether.RepositorySystemSession;
// This class needs to stick around because it was exposed the the remote resources plugin started using it instead of
// getting the repositories from the project.
@@ -75,15 +75,15 @@ public final class ProjectUtils
throws InvalidRepositoryException
{
RepositorySystem repositorySystem = rs( c );
- MavenExecutionRequest executionRequest = er( c );
+ RepositorySystemSession session = rss( c );
ArtifactRepository repository = repositorySystem.buildArtifactRepository( repo );
- if ( executionRequest != null )
+ if ( session != null )
{
- repositorySystem.injectMirror( Arrays.asList( repository ), executionRequest.getMirrors() );
- repositorySystem.injectProxy( Arrays.asList( repository ), executionRequest.getProxies() );
- repositorySystem.injectAuthentication( Arrays.asList( repository ), executionRequest.getServers() );
+ repositorySystem.injectMirror( session, Arrays.asList( repository ) );
+ repositorySystem.injectProxy( session, Arrays.asList( repository ) );
+ repositorySystem.injectAuthentication( session, Arrays.asList( repository ) );
}
return repository;
@@ -101,20 +101,13 @@ public final class ProjectUtils
}
}
- private static MavenExecutionRequest er( PlexusContainer c )
+ private static RepositorySystemSession rss( PlexusContainer c )
{
try
{
LegacySupport legacySupport = c.lookup( LegacySupport.class );
- if ( legacySupport.getSession() != null )
- {
- return legacySupport.getSession().getRequest();
- }
- else
- {
- return null;
- }
+ return legacySupport.getRepositorySession();
}
catch ( ComponentLookupException e )
{
Modified: maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java?rev=1073990&r1=1073989&r2=1073990&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java (original)
+++ maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java Wed Feb 23 23:47:21 2011
@@ -65,6 +65,8 @@ import org.apache.maven.settings.crypto.
import org.apache.maven.settings.crypto.SettingsDecrypter;
import org.apache.maven.settings.crypto.SettingsDecryptionRequest;
import org.apache.maven.settings.crypto.SettingsDecryptionResult;
+import org.apache.maven.wagon.proxy.ProxyInfo;
+import org.apache.maven.wagon.proxy.ProxyUtils;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
@@ -615,7 +617,23 @@ public class LegacyRepositorySystem
{
if ( proxy.isActive() && repository.getProtocol().equalsIgnoreCase( proxy.getProtocol() ) )
{
- return proxy;
+ if ( StringUtils.isNotEmpty( proxy.getNonProxyHosts() ) )
+ {
+ ProxyInfo pi = new ProxyInfo();
+ pi.setNonProxyHosts( proxy.getNonProxyHosts() );
+
+ org.apache.maven.wagon.repository.Repository repo =
+ new org.apache.maven.wagon.repository.Repository( repository.getId(), repository.getUrl() );
+
+ if ( !ProxyUtils.validateNonProxyHosts( pi, repo.getHost() ) )
+ {
+ return proxy;
+ }
+ }
+ else
+ {
+ return proxy;
+ }
}
}
}