You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2008/03/06 04:37:33 UTC

svn commit: r634142 - in /maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact: manager/DefaultWagonManager.java manager/WagonManager.java resolver/DefaultArtifactResolver.java

Author: brett
Date: Wed Mar  5 19:37:32 2008
New Revision: 634142

URL: http://svn.apache.org/viewvc?rev=634142&view=rev
Log:
[MNG-1914] use the correct repository definition in errors if you use mirrors

Modified:
    maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
    maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java
    maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java

Modified: maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=634142&r1=634141&r2=634142&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java (original)
+++ maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java Wed Mar  5 19:37:32 2008
@@ -586,7 +586,7 @@
         }
     }
 
-    private ArtifactRepository getMirrorRepository( ArtifactRepository repository )
+    public ArtifactRepository getMirrorRepository( ArtifactRepository repository )
     {
         ArtifactRepository mirror = getMirror( repository.getId() );
         if ( mirror != null )

Modified: maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java?rev=634142&r1=634141&r2=634142&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java (original)
+++ maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java Wed Mar  5 19:37:32 2008
@@ -124,4 +124,6 @@
     void registerWagons( Collection wagons, PlexusContainer extensionContainer );
 
     void setDefaultRepositoryPermissions( RepositoryPermissions permissions );
+
+    ArtifactRepository getMirrorRepository( ArtifactRepository repository );
 }

Modified: maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?rev=634142&r1=634141&r2=634142&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java (original)
+++ maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java Wed Mar  5 19:37:32 2008
@@ -46,6 +46,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.HashMap;
 
 public class DefaultArtifactResolver
     extends AbstractLogEnabled
@@ -203,16 +204,18 @@
                     {
                         throw new ArtifactResolutionException(
                             "Failed to resolve artifact, possibly due to a repository list that is not appropriately equipped for this artifact's metadata.",
-                            artifact, remoteRepositories );
+                            artifact, getMirroredRepositories( remoteRepositories ) );
                     }
                 }
                 catch ( ResourceDoesNotExistException e )
                 {
-                    throw new ArtifactNotFoundException( e.getMessage(), artifact, remoteRepositories, e );
+                    throw new ArtifactNotFoundException( e.getMessage(), artifact,
+                                                         getMirroredRepositories( remoteRepositories ), e );
                 }
                 catch ( TransferFailedException e )
                 {
-                    throw new ArtifactResolutionException( e.getMessage(), artifact, remoteRepositories, e );
+                    throw new ArtifactResolutionException( e.getMessage(), artifact,
+                                                           getMirroredRepositories( remoteRepositories ), e );
                 }
 
                 resolved = true;
@@ -239,7 +242,7 @@
                     {
                         throw new ArtifactResolutionException(
                             "Unable to copy resolved artifact for local use: " + e.getMessage(), artifact,
-                            remoteRepositories, e );
+                            getMirroredRepositories( remoteRepositories ), e );
                     }
                 }
                 artifact.setFile( copy );
@@ -319,10 +322,22 @@
         if ( missingArtifacts.size() > 0 )
         {
             throw new MultipleArtifactsNotFoundException( originatingArtifact, resolvedArtifacts, missingArtifacts,
-                                                          remoteRepositories );
+                                                          getMirroredRepositories( remoteRepositories ) );
         }
 
         return artifactResolutionResult;
+    }
+
+    private List getMirroredRepositories( List remoteRepositories )
+    {
+        Map repos = new HashMap();
+        for ( Iterator i = remoteRepositories.iterator(); i.hasNext(); )
+        {
+            ArtifactRepository repository = (ArtifactRepository) i.next();
+            ArtifactRepository repo = wagonManager.getMirrorRepository( repository );
+            repos.put( repo.getId(), repo );
+        }
+        return new ArrayList( repos.values() );
     }
 
     public ArtifactResolutionResult resolveTransitively( Set artifacts, Artifact originatingArtifact,