Author: bentmann
Date: Fri Oct 30 12:24:40 2009
New Revision: 831282
URL:
http://svn.apache.org/viewvc?rev=831282&view=revLog:
[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();
+
}