Author: bentmann
Date: Fri Oct 30 12:24:40 2009
New Revision: 831282

URL: http://svn.apache.org/viewvc?rev=831282&view=rev
Log:
[MNG-4413] [regression] Repositories discovered in dependency POMs are not 
subject to mirroring

Modified:
    
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
    
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java
    
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/LegacyArtifactCollector.java
    
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java
    
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java
    
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
    
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/DefaultMetadataResolutionRequest.java
    
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/MetadataResolutionRequest.java

Modified: 
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
URL: 
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?rev=831282&r1=831281&r2=831282&view=diff
==============================================================================
--- 
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
 (original)
+++ 
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
 Fri Oct 30 12:24:40 2009
@@ -104,6 +104,21 @@
         if ( session != null )
         {
             request.setOffline( session.isOffline() );
+            request.setTransferListener( 
session.getRequest().getTransferListener() );
+        }
+    }
+
+    private void injectSession( ArtifactResolutionRequest request )
+    {
+        MavenSession session = legacySupport.getSession();
+
+        if ( session != null )
+        {
+            request.setOffline( session.isOffline() );
+            request.setServers( session.getRequest().getServers() );
+            request.setMirrors( session.getRequest().getMirrors() );
+            request.setProxies( session.getRequest().getProxies() );
+            request.setTransferListener( 
session.getRequest().getTransferListener() );
         }
     }
 
@@ -457,7 +472,7 @@
             }
         }
 
-        RepositoryRequest collectionRequest = request;
+        ArtifactResolutionRequest collectionRequest = request;
 
         if ( request.isResolveTransitively() )
         {
@@ -500,7 +515,10 @@
                     artifacts = new LinkedHashSet<Artifact>( 
mergedArtifacts.values() );
                 }
 
-                collectionRequest = new DefaultRepositoryRequest( request );
+                collectionRequest = new ArtifactResolutionRequest( request );
+                collectionRequest.setServers( request.getServers() );
+                collectionRequest.setMirrors( request.getMirrors() );
+                collectionRequest.setProxies( request.getProxies() );
                 collectionRequest.setRemoteRepositories( 
resolutionGroup.getResolutionRepositories() );
             }
             catch ( ArtifactMetadataRetrievalException e )

Modified: 
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java
URL: 
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java?rev=831282&r1=831281&r2=831282&view=diff
==============================================================================
--- 
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java
 (original)
+++ 
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/DefaultLegacyArtifactCollector.java
 Fri Oct 30 12:24:40 2009
@@ -35,6 +35,7 @@
 import org.apache.maven.artifact.repository.DefaultRepositoryRequest;
 import org.apache.maven.artifact.repository.RepositoryRequest;
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
 import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
 import org.apache.maven.artifact.resolver.CyclicDependencyException;
 import org.apache.maven.artifact.resolver.ResolutionListener;
@@ -78,7 +79,7 @@
                                              List<ResolutionListener> 
listeners,
                                              List<ConflictResolver> 
conflictResolvers )
     {
-        RepositoryRequest request = new DefaultRepositoryRequest();
+        ArtifactResolutionRequest request = new ArtifactResolutionRequest();
         request.setLocalRepository( localRepository );
         request.setRemoteRepositories( remoteRepositories );
         return collect( artifacts, originatingArtifact, managedVersions, 
request, source, filter, listeners,
@@ -88,7 +89,7 @@
     public ArtifactResolutionResult collect( Set<Artifact> artifacts, 
                                              Artifact originatingArtifact,
                                              Map managedVersions, 
-                                             RepositoryRequest 
repositoryRequest,
+                                             ArtifactResolutionRequest 
repositoryRequest,
                                              ArtifactMetadataSource source, 
                                              ArtifactFilter filter,
                                              List<ResolutionListener> 
listeners,
@@ -226,7 +227,7 @@
                           ResolutionNode node,
                           Map<Object, List<ResolutionNode>> resolvedArtifacts, 
                           ManagedVersionMap managedVersions,
-                          RepositoryRequest request,
+                          ArtifactResolutionRequest request,
                           ArtifactMetadataSource source, 
                           ArtifactFilter filter, 
                           List<ResolutionListener> listeners,
@@ -568,7 +569,11 @@
                                 + e.getMessage(), artifact, 
childRemoteRepositories, e );
                         }
 
-                        recurse( result, child, resolvedArtifacts, 
managedVersions, metadataRequest, source, filter,
+                        ArtifactResolutionRequest subRequest = new 
ArtifactResolutionRequest( metadataRequest );
+                        subRequest.setServers( request.getServers() );
+                        subRequest.setMirrors( request.getMirrors() );
+                        subRequest.setProxies( request.getProxies() );
+                        recurse( result, child, resolvedArtifacts, 
managedVersions, subRequest, source, filter,
                                  listeners, conflictResolvers );
                     }
                 }

Modified: 
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/LegacyArtifactCollector.java
URL: 
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/LegacyArtifactCollector.java?rev=831282&r1=831281&r2=831282&view=diff
==============================================================================
--- 
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/LegacyArtifactCollector.java
 (original)
+++ 
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/resolver/LegacyArtifactCollector.java
 Fri Oct 30 12:24:40 2009
@@ -27,6 +27,7 @@
 import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.RepositoryRequest;
+import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
 import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
 import org.apache.maven.artifact.resolver.ResolutionListener;
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
@@ -46,7 +47,7 @@
     ArtifactResolutionResult collect( Set<Artifact> artifacts,
                                       Artifact originatingArtifact,
                                       Map managedVersions,
-                                      RepositoryRequest repositoryRequest,
+                                      ArtifactResolutionRequest 
repositoryRequest,
                                       ArtifactMetadataSource source,
                                       ArtifactFilter filter,
                                       List<ResolutionListener> listeners,

Modified: 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java
URL: 
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java?rev=831282&r1=831281&r2=831282&view=diff
==============================================================================
--- 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java
 (original)
+++ 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java
 Fri Oct 30 12:24:40 2009
@@ -136,6 +136,9 @@
             .setForceUpdate( session.getRequest().isUpdateSnapshots() )
             .setCache( session.getRepositoryCache() );
         request.setTransferListener( 
session.getRequest().getTransferListener() );
+        request.setServers( session.getRequest().getServers() );
+        request.setMirrors( session.getRequest().getMirrors() );
+        request.setProxies( session.getRequest().getProxies() );
 
         Set<String> projectIds = null;
 

Modified: 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java
URL: 
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java?rev=831282&r1=831281&r2=831282&view=diff
==============================================================================
--- 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java
 (original)
+++ 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java
 Fri Oct 30 12:24:40 2009
@@ -30,6 +30,9 @@
 import org.apache.maven.artifact.repository.RepositoryRequest;
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.repository.ArtifactTransferListener;
+import org.apache.maven.settings.Mirror;
+import org.apache.maven.settings.Proxy;
+import org.apache.maven.settings.Server;
 
 /**
  * A resolution request allows you to either use an existing MavenProject, or 
a coordinate (gid:aid:version)
@@ -74,6 +77,12 @@
 
     private boolean forceUpdate;
 
+    private List<Server> servers;
+
+    private List<Mirror> mirrors;
+
+    private List<Proxy> proxies;
+
     public ArtifactResolutionRequest()
     {
         // nothing here
@@ -288,4 +297,55 @@
         return this;
     }
 
+    public ArtifactResolutionRequest setServers( List<Server> servers )
+    {
+        this.servers = servers;
+
+        return this;
+    }
+
+    public List<Server> getServers()
+    {
+        if ( servers == null )
+        {
+            servers = new ArrayList<Server>();
+        }
+
+        return servers;
+    }
+
+    public ArtifactResolutionRequest setMirrors( List<Mirror> mirrors )
+    {
+        this.mirrors = mirrors;
+
+        return this;
+    }
+
+    public List<Mirror> getMirrors()
+    {
+        if ( mirrors == null )
+        {
+            mirrors = new ArrayList<Mirror>();
+        }
+
+        return mirrors;
+    }
+
+    public ArtifactResolutionRequest setProxies( List<Proxy> proxies )
+    {
+        this.proxies = proxies;
+
+        return this;
+    }
+
+    public List<Proxy> getProxies()
+    {
+        if ( proxies == null )
+        {
+            proxies = new ArrayList<Proxy>();
+        }
+
+        return proxies;
+    }
+
 }

Modified: 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
URL: 
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java?rev=831282&r1=831281&r2=831282&view=diff
==============================================================================
--- 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
 (original)
+++ 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
 Fri Oct 30 12:24:40 2009
@@ -48,12 +48,14 @@
 import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
 import 
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
 import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.execution.MavenSession;
 import org.apache.maven.model.Dependency;
 import org.apache.maven.model.DependencyManagement;
 import org.apache.maven.model.DistributionManagement;
 import org.apache.maven.model.Exclusion;
 import org.apache.maven.model.Relocation;
 import org.apache.maven.model.building.ModelBuildingRequest;
+import org.apache.maven.plugin.LegacySupport;
 import org.apache.maven.project.DefaultProjectBuildingRequest;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.ProjectBuilder;
@@ -93,6 +95,23 @@
     @Requirement
     private MavenMetadataCache cache;    
 
+    @Requirement
+    private LegacySupport legacySupport;
+
+    private void injectSession( MetadataResolutionRequest request )
+    {
+        MavenSession session = legacySupport.getSession();
+
+        if ( session != null )
+        {
+            request.setOffline( session.isOffline() );
+            request.setServers( session.getRequest().getServers() );
+            request.setMirrors( session.getRequest().getMirrors() );
+            request.setProxies( session.getRequest().getProxies() );
+            request.setTransferListener( 
session.getRequest().getTransferListener() );
+        }
+    }
+
     public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository 
localRepository,
                                      List<ArtifactRepository> 
remoteRepositories )
         throws ArtifactMetadataRetrievalException
@@ -105,6 +124,7 @@
         throws ArtifactMetadataRetrievalException
     {
         MetadataResolutionRequest request = new 
DefaultMetadataResolutionRequest();
+        injectSession( request );
         request.setArtifact( artifact );
         request.setLocalRepository( localRepository );
         request.setRemoteRepositories( remoteRepositories );
@@ -391,6 +411,7 @@
         throws ArtifactMetadataRetrievalException
     {
         MetadataResolutionRequest request = new 
DefaultMetadataResolutionRequest();
+        injectSession( request );
         request.setArtifact( artifact );
         request.setLocalRepository( localRepository );
         request.setRemoteRepositories( remoteRepositories );
@@ -503,7 +524,7 @@
         return projectBuilder;
     }
 
-    private ProjectRelocation retrieveRelocatedProject( Artifact artifact, 
RepositoryRequest repositoryRequest )
+    private ProjectRelocation retrieveRelocatedProject( Artifact artifact, 
MetadataResolutionRequest repositoryRequest )
         throws ArtifactMetadataRetrievalException
     {
         MavenProject project;
@@ -543,6 +564,9 @@
                     configuration.setProcessPlugins( false );
                     configuration.setSystemProperties( System.getProperties() 
);
                     configuration.setTransferListener( 
repositoryRequest.getTransferListener() );
+                    configuration.setServers( repositoryRequest.getServers() );
+                    configuration.setMirrors( repositoryRequest.getMirrors() );
+                    configuration.setProxies( repositoryRequest.getProxies() );
 
                     project = getProjectBuilder().build( pomArtifact, 
configuration ).getProject();
                 }

Modified: 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/DefaultMetadataResolutionRequest.java
URL: 
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/DefaultMetadataResolutionRequest.java?rev=831282&r1=831281&r2=831282&view=diff
==============================================================================
--- 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/DefaultMetadataResolutionRequest.java
 (original)
+++ 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/DefaultMetadataResolutionRequest.java
 Fri Oct 30 12:24:40 2009
@@ -19,6 +19,7 @@
  * under the License.
  */
 
+import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.maven.artifact.Artifact;
@@ -26,7 +27,11 @@
 import org.apache.maven.artifact.repository.DefaultRepositoryRequest;
 import org.apache.maven.artifact.repository.RepositoryCache;
 import org.apache.maven.artifact.repository.RepositoryRequest;
+import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
 import org.apache.maven.repository.ArtifactTransferListener;
+import org.apache.maven.settings.Mirror;
+import org.apache.maven.settings.Proxy;
+import org.apache.maven.settings.Server;
 
 /**
  * Forms a request to retrieve artifact metadata.
@@ -43,6 +48,12 @@
 
     private RepositoryRequest repositoryRequest;
 
+    private List<Server> servers;
+
+    private List<Mirror> mirrors;
+
+    private List<Proxy> proxies;
+
     public DefaultMetadataResolutionRequest()
     {
         repositoryRequest = new DefaultRepositoryRequest();
@@ -53,6 +64,14 @@
         this.repositoryRequest = new DefaultRepositoryRequest( 
repositoryRequest );
     }
 
+    public DefaultMetadataResolutionRequest( ArtifactResolutionRequest 
resolutionRequest )
+    {
+        this.repositoryRequest = new DefaultRepositoryRequest( 
resolutionRequest );
+        setServers( resolutionRequest.getServers() );
+        setMirrors( resolutionRequest.getMirrors() );
+        setProxies( resolutionRequest.getProxies() );
+    }
+
     public Artifact getArtifact()
     {
         return artifact;
@@ -149,4 +168,55 @@
         return this;
     }
 
+    public MetadataResolutionRequest setServers( List<Server> servers )
+    {
+        this.servers = servers;
+
+        return this;
+    }
+
+    public List<Server> getServers()
+    {
+        if ( servers == null )
+        {
+            servers = new ArrayList<Server>();
+        }
+
+        return servers;
+    }
+
+    public MetadataResolutionRequest setMirrors( List<Mirror> mirrors )
+    {
+        this.mirrors = mirrors;
+
+        return this;
+    }
+
+    public List<Mirror> getMirrors()
+    {
+        if ( mirrors == null )
+        {
+            mirrors = new ArrayList<Mirror>();
+        }
+
+        return mirrors;
+    }
+
+    public MetadataResolutionRequest setProxies( List<Proxy> proxies )
+    {
+        this.proxies = proxies;
+
+        return this;
+    }
+
+    public List<Proxy> getProxies()
+    {
+        if ( proxies == null )
+        {
+            proxies = new ArrayList<Proxy>();
+        }
+
+        return proxies;
+    }
+
 }

Modified: 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/MetadataResolutionRequest.java
URL: 
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/MetadataResolutionRequest.java?rev=831282&r1=831281&r2=831282&view=diff
==============================================================================
--- 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/MetadataResolutionRequest.java
 (original)
+++ 
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/MetadataResolutionRequest.java
 Fri Oct 30 12:24:40 2009
@@ -25,6 +25,9 @@
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.RepositoryCache;
 import org.apache.maven.artifact.repository.RepositoryRequest;
+import org.apache.maven.settings.Mirror;
+import org.apache.maven.settings.Proxy;
+import org.apache.maven.settings.Server;
 
 /**
  * Forms a request to retrieve artifact metadata.
@@ -126,4 +129,16 @@
      */
     MetadataResolutionRequest setResolveManagedVersions( boolean 
resolveManagedVersions );
 
+    MetadataResolutionRequest setServers( List<Server> servers );
+
+    List<Server> getServers();
+
+    MetadataResolutionRequest setMirrors( List<Mirror> mirrors );
+
+    List<Mirror> getMirrors();
+
+    MetadataResolutionRequest setProxies( List<Proxy> proxies );
+
+    List<Proxy> getProxies();
+
 }


Reply via email to