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


Reply via email to