Author: bentmann Date: Wed Feb 23 12:06:20 2011 New Revision: 1073714 URL: http://svn.apache.org/viewvc?rev=1073714&view=rev Log: [MNG-4963] [regression] Parent POM not downloaded when settings define global mirror and one snapshot repo but no other release repository
Modified: maven/maven-3/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java Modified: maven/maven-3/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java?rev=1073714&r1=1073713&r2=1073714&view=diff ============================================================================== --- maven/maven-3/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java (original) +++ maven/maven-3/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java Wed Feb 23 12:06:20 2011 @@ -96,4 +96,8 @@ public interface ArtifactRepository void setProxy( Proxy proxy ); Proxy getProxy(); + + List<ArtifactRepository> getMirroredRepositories(); + void setMirroredRepositories( List<ArtifactRepository> mirroredRepositories ); + } Modified: maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java?rev=1073714&r1=1073713&r2=1073714&view=diff ============================================================================== --- maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java (original) +++ maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java Wed Feb 23 12:06:20 2011 @@ -53,6 +53,8 @@ public class DefaultArtifactRepository private Proxy proxy; + private List<ArtifactRepository> mirroredRepositories = Collections.emptyList(); + /** * Create a local repository or a test repository. * @@ -246,4 +248,21 @@ public class DefaultArtifactRepository return true; } + public List<ArtifactRepository> getMirroredRepositories() + { + return mirroredRepositories; + } + + public void setMirroredRepositories( List<ArtifactRepository> mirroredRepositories ) + { + if ( mirroredRepositories != null ) + { + this.mirroredRepositories = mirroredRepositories; + } + else + { + this.mirroredRepositories = Collections.emptyList(); + } + } + } Modified: maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java?rev=1073714&r1=1073713&r2=1073714&view=diff ============================================================================== --- maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java (original) +++ maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java Wed Feb 23 12:06:20 2011 @@ -385,6 +385,16 @@ public class LegacyLocalRepositoryManage { return null; } + + public List<ArtifactRepository> getMirroredRepositories() + { + return Collections.emptyList(); + } + + public void setMirroredRepositories( List<ArtifactRepository> mirroredRepositories ) + { + } + } } 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=1073714&r1=1073713&r2=1073714&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 12:06:20 2011 @@ -23,6 +23,7 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; @@ -394,12 +395,15 @@ public class LegacyRepositorySystem for ( List<ArtifactRepository> aliasedRepos : reposByKey.values() ) { + List<ArtifactRepository> mirroredRepos = new ArrayList<ArtifactRepository>(); + List<ArtifactRepositoryPolicy> releasePolicies = new ArrayList<ArtifactRepositoryPolicy>( aliasedRepos.size() ); for ( ArtifactRepository aliasedRepo : aliasedRepos ) { releasePolicies.add( aliasedRepo.getReleases() ); + mirroredRepos.addAll( aliasedRepo.getMirroredRepositories() ); } ArtifactRepositoryPolicy releasePolicy = getEffectivePolicy( releasePolicies ); @@ -424,6 +428,8 @@ public class LegacyRepositorySystem effectiveRepository.setProxy( aliasedRepo.getProxy() ); + effectiveRepository.setMirroredRepositories( mirroredRepos ); + effectiveRepositories.add( effectiveRepository ); } @@ -503,6 +509,12 @@ public class LegacyRepositorySystem { if ( mirror != null ) { + ArtifactRepository original = + createArtifactRepository( repository.getId(), repository.getUrl(), repository.getLayout(), + repository.getSnapshots(), repository.getReleases() ); + + repository.setMirroredRepositories( Collections.singletonList( original ) ); + repository.setId( mirror.getId() ); repository.setUrl( mirror.getUrl() ); Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java?rev=1073714&r1=1073713&r2=1073714&view=diff ============================================================================== --- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java (original) +++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java Wed Feb 23 12:06:20 2011 @@ -202,6 +202,7 @@ public class RepositoryUtils result.setPolicy( false, toPolicy( repo.getReleases() ) ); result.setAuthentication( toAuthentication( repo.getAuthentication() ) ); result.setProxy( toProxy( repo.getProxy() ) ); + result.setMirroredRepositories( toRepos( repo.getMirroredRepositories() ) ); } return result; } Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java?rev=1073714&r1=1073713&r2=1073714&view=diff ============================================================================== --- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java (original) +++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java Wed Feb 23 12:06:20 2011 @@ -50,6 +50,8 @@ public class MavenArtifactRepository private Proxy proxy; + private List<ArtifactRepository> mirroredRepositories = Collections.emptyList(); + public MavenArtifactRepository() { } @@ -386,4 +388,21 @@ public class MavenArtifactRepository return false; } + public List<ArtifactRepository> getMirroredRepositories() + { + return mirroredRepositories; + } + + public void setMirroredRepositories( List<ArtifactRepository> mirroredRepositories ) + { + if ( mirroredRepositories != null ) + { + this.mirroredRepositories = mirroredRepositories; + } + else + { + this.mirroredRepositories = Collections.emptyList(); + } + } + }