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,