Author: bentmann
Date: Wed Dec 16 11:33:42 2009
New Revision: 891200
URL: http://svn.apache.org/viewvc?rev=891200&view=rev
Log:
[MNG-4498] Don't fail dependency resolution if one remote repo's metadata is
broken
Modified:
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
Modified:
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
URL:
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java?rev=891200&r1=891199&r2=891200&view=diff
==============================================================================
---
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
(original)
+++
maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
Wed Dec 16 11:33:42 2009
@@ -164,10 +164,6 @@
{
throw new RepositoryMetadataResolutionException( "Unable to store
local copy of metadata: " + e.getMessage(), e );
}
- catch ( RepositoryMetadataReadException e )
- {
- throw new RepositoryMetadataResolutionException( "Unable to read
local copy of metadata: " + e.getMessage(), e );
- }
if ( cache != null )
{
@@ -298,7 +294,7 @@
}
private void mergeMetadata( RepositoryMetadata metadata,
List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository
)
- throws RepositoryMetadataStoreException,
RepositoryMetadataReadException
+ throws RepositoryMetadataStoreException
{
// TODO: currently this is first wins, but really we should take the
latest by comparing either the
// snapshot timestamp, or some other timestamp later encoded into the
metadata.
@@ -365,7 +361,6 @@
}
private boolean loadMetadata( RepositoryMetadata repoMetadata,
ArtifactRepository remoteRepository, ArtifactRepository localRepository,
Map<ArtifactRepository, Metadata> previousMetadata )
- throws RepositoryMetadataReadException
{
boolean setRepository = false;
@@ -373,7 +368,24 @@
if ( metadataFile.exists() )
{
- Metadata metadata = readMetadata( metadataFile );
+ Metadata metadata;
+
+ try
+ {
+ metadata = readMetadata( metadataFile );
+ }
+ catch ( RepositoryMetadataReadException e )
+ {
+ if ( getLogger().isDebugEnabled() )
+ {
+ getLogger().warn( e.getMessage(), e );
+ }
+ else
+ {
+ getLogger().warn( e.getMessage() );
+ }
+ return setRepository;
+ }
if ( repoMetadata.isSnapshot() && ( previousMetadata != null ) )
{