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