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