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 05:07:20 UTC
svn commit: r634148 - in
/maven/artifact/trunk/src/main/java/org/apache/maven/artifact:
manager/DefaultWagonManager.java manager/WagonManager.java
resolver/DefaultArtifactResolver.java
Author: brett
Date: Wed Mar 5 20:07:19 2008
New Revision: 634148
URL: http://svn.apache.org/viewvc?rev=634148&view=rev
Log:
[MNG-1914] use the correct repository definition in errors if you use mirrors
Merged from r634141:634145 on maven-2.0.x branch
Modified:
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/WagonManager.java
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=634148&r1=634147&r2=634148&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java Wed Mar 5 20:07:19 2008
@@ -670,6 +670,18 @@
}
}
+ public ArtifactRepository getMirrorRepository( ArtifactRepository repository )
+ {
+ ArtifactRepository mirror = getMirror( repository.getId() );
+ if ( mirror != null )
+ {
+ repository = repositoryFactory.createArtifactRepository( mirror.getId(), mirror.getUrl(),
+ repository.getLayout(), repository.getSnapshots(),
+ repository.getReleases() );
+ }
+ return repository;
+ }
+
private void failIfNotOnline()
throws TransferFailedException
{
Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/WagonManager.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/WagonManager.java?rev=634148&r1=634147&r2=634148&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/WagonManager.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/WagonManager.java Wed Mar 5 20:07:19 2008
@@ -164,4 +164,6 @@
void findAndRegisterWagons( PlexusContainer container );
void setDefaultRepositoryPermissions( RepositoryPermissions permissions );
-}
\ No newline at end of file
+
+ ArtifactRepository getMirrorRepository( ArtifactRepository repository );
+}
Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?rev=634148&r1=634147&r2=634148&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java Wed Mar 5 20:07:19 2008
@@ -44,6 +44,7 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.HashMap;
/**
* @author Jason van Zyl
@@ -198,25 +199,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;
@@ -250,10 +244,8 @@
catch ( IOException e )
{
throw new ArtifactResolutionException(
- "Unable to copy resolved artifact for local use: " + e.getMessage(),
- artifact,
- remoteRepositories,
- e );
+ "Unable to copy resolved artifact for local use: " + e.getMessage(), artifact,
+ getMirroredRepositories( remoteRepositories ), e );
}
}
@@ -499,14 +491,23 @@
if ( missingArtifacts.size() > 0 )
{
- throw new MultipleArtifactsNotFoundException(
- originatingArtifact,
- resolvedArtifacts,
- missingArtifacts,
- remoteRepositories );
+ throw new MultipleArtifactsNotFoundException( originatingArtifact, resolvedArtifacts, missingArtifacts,
+ getMirroredRepositories( remoteRepositories ) );
}
return result;
+ }
+
+ 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() );
}
// ------------------------------------------------------------------------