Author: brett Date: Wed Jun 22 07:27:35 2005 New Revision: 191953 URL: http://svn.apache.org/viewcvs?rev=191953&view=rev Log: ensure failed artifact path is passed through to all resolution exceptions
Modified: maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/Pom.java maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/CyclicDependencyException.java maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/TransitiveArtifactResolutionException.java maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java Modified: maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/Pom.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/Pom.java?rev=191953&r1=191952&r2=191953&view=diff ============================================================================== --- maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/Pom.java (original) +++ maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/Pom.java Wed Jun 22 07:27:35 2005 @@ -17,7 +17,6 @@ */ import org.apache.maven.artifact.repository.ArtifactRepository; -import org.apache.maven.artifact.resolver.ArtifactResolutionException; import org.apache.maven.model.Build; import org.apache.maven.model.CiManagement; import org.apache.maven.model.DependencyManagement; @@ -91,7 +90,7 @@ } return instance; } - + public void setMavenProject( MavenProject mavenProject ) { getInstance().mavenProject = mavenProject; @@ -118,10 +117,6 @@ mavenProject = builder.build( file, localRepository, Collections.EMPTY_LIST ); } catch ( ProjectBuildingException e ) - { - throw new BuildException( "Unable to build project: " + file, e ); - } - catch ( ArtifactResolutionException e ) { throw new BuildException( "Unable to build project: " + file, e ); } Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java?rev=191953&r1=191952&r2=191953&view=diff ============================================================================== --- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java (original) +++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java Wed Jun 22 07:27:35 2005 @@ -101,4 +101,8 @@ void setDependencyFilter( ArtifactFilter artifactFilter ); ArtifactHandler getArtifactHandler(); + + List getDependencyTrail(); + + void setDependencyTrail( List dependencyTrail ); } Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java?rev=191953&r1=191952&r2=191953&view=diff ============================================================================== --- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java (original) +++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java Wed Jun 22 07:27:35 2005 @@ -62,14 +62,11 @@ private final ArtifactHandler artifactHandler; + private List dependencyTrail; + // TODO: direct all through the artifact factory - public DefaultArtifact( String groupId, - String artifactId, - String version, - String scope, - String type, - String classifier, - ArtifactHandler artifactHandler ) + public DefaultArtifact( String groupId, String artifactId, String version, String scope, String type, + String classifier, ArtifactHandler artifactHandler ) { this.groupId = groupId; @@ -90,14 +87,15 @@ private void validateIdentity() { - if( empty( groupId ) ) + if ( empty( groupId ) ) { throw new InvalidArtifactRTException( groupId, artifactId, version, type, "The groupId cannot be empty." ); } - if( artifactId == null ) + if ( artifactId == null ) { - throw new InvalidArtifactRTException( groupId, artifactId, version, type, "The artifactId cannot be empty." ); + throw new InvalidArtifactRTException( groupId, artifactId, version, type, + "The artifactId cannot be empty." ); } if ( type == null ) @@ -105,7 +103,7 @@ throw new InvalidArtifactRTException( groupId, artifactId, version, type, "The type cannot be empty." ); } - if( version == null ) + if ( version == null ) { throw new InvalidArtifactRTException( groupId, artifactId, version, type, "The version cannot be empty." ); } @@ -182,7 +180,8 @@ public String getId() { - return getDependencyConflictId() + ( hasClassifier() ? ( ":" + getClassifier() ) : "" ) + ":" + getBaseVersion(); + return getDependencyConflictId() + ( hasClassifier() ? ( ":" + getClassifier() ) : "" ) + ":" + + getBaseVersion(); } public String getDependencyConflictId() @@ -350,5 +349,15 @@ public ArtifactHandler getArtifactHandler() { return artifactHandler; + } + + public List getDependencyTrail() + { + return dependencyTrail; + } + + public void setDependencyTrail( List dependencyTrail ) + { + this.dependencyTrail = dependencyTrail; } } Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java?rev=191953&r1=191952&r2=191953&view=diff ============================================================================== --- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java (original) +++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java Wed Jun 22 07:27:35 2005 @@ -18,7 +18,6 @@ import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.repository.ArtifactRepository; -import org.apache.maven.artifact.resolver.ArtifactResolutionException; import java.util.List; import java.util.Set; @@ -30,5 +29,5 @@ public interface ArtifactMetadataSource { Set retrieve( Artifact artifact, ArtifactRepository localRepository, List remoteRepositories ) - throws ArtifactMetadataRetrievalException, ArtifactResolutionException; + throws ArtifactMetadataRetrievalException; } Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java?rev=191953&r1=191952&r2=191953&view=diff ============================================================================== --- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java (original) +++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java Wed Jun 22 07:27:35 2005 @@ -144,24 +144,16 @@ return sb.toString(); } - public ArtifactResolutionException( String message, Artifact artifact, List path, List remoteRepositories, - Throwable t ) - { - this( message, artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getType(), - remoteRepositories, artifact.getDownloadUrl(), path, t ); - } - public ArtifactResolutionException( String message, Artifact artifact, List remoteRepositories, Throwable t ) { - // TODO: path this( message, artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getType(), - remoteRepositories, artifact.getDownloadUrl(), null, t ); + remoteRepositories, artifact.getDownloadUrl(), artifact.getDependencyTrail(), t ); } - public ArtifactResolutionException( String message, Artifact artifact, List path ) + public ArtifactResolutionException( String message, Artifact artifact ) { this( message, artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getType(), null, - artifact.getDownloadUrl(), path ); + artifact.getDownloadUrl(), artifact.getDependencyTrail() ); } public ArtifactResolutionException( String message, Throwable cause ) Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/CyclicDependencyException.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/CyclicDependencyException.java?rev=191953&r1=191952&r2=191953&view=diff ============================================================================== --- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/CyclicDependencyException.java (original) +++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/CyclicDependencyException.java Wed Jun 22 07:27:35 2005 @@ -18,8 +18,6 @@ import org.apache.maven.artifact.Artifact; -import java.util.List; - /** * Indiciates a cycle in the dependency graph. * @@ -29,8 +27,8 @@ public class CyclicDependencyException extends ArtifactResolutionException { - public CyclicDependencyException( String message, Artifact artifact, List path ) + public CyclicDependencyException( String message, Artifact artifact ) { - super( message, artifact, path ); + super( message, artifact ); } } Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java?rev=191953&r1=191952&r2=191953&view=diff ============================================================================== --- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java (original) +++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java Wed Jun 22 07:27:35 2005 @@ -72,7 +72,11 @@ ResolutionNode node = (ResolutionNode) i.next(); if ( node != root ) { - set.add( node.getArtifact() ); + Artifact artifact = node.getArtifact(); + + artifact.setDependencyTrail( node.getDependencyTrail() ); + + set.add( artifact ); } } @@ -86,7 +90,7 @@ private void recurse( ResolutionNode node, Map resolvedArtifacts, Map managedVersions, ArtifactRepository localRepository, List remoteRepositories, ArtifactMetadataSource source, ArtifactFilter filter, ArtifactFactory artifactFactory ) - throws ArtifactResolutionException + throws CyclicDependencyException, TransitiveArtifactResolutionException { // TODO: conflict resolvers, shouldn't be munging original artifact perhaps? Object key = node.getKey(); @@ -185,6 +189,7 @@ } catch ( ArtifactMetadataRetrievalException e ) { + child.getArtifact().setDependencyTrail( node.getDependencyTrail() ); throw new TransitiveArtifactResolutionException( e.getMessage(), child.getArtifact(), remoteRepositories, e ); } @@ -195,13 +200,10 @@ } } - private static class ResolutionNode { private Artifact artifact; - private final ResolutionNode parent; - private List children = null; private final List parents; @@ -211,7 +213,6 @@ public ResolutionNode( Artifact artifact ) { this.artifact = artifact; - this.parent = null; this.depth = 0; this.parents = Collections.EMPTY_LIST; } @@ -219,7 +220,6 @@ public ResolutionNode( Artifact artifact, ResolutionNode parent ) { this.artifact = artifact; - this.parent = parent; this.depth = parent.depth + 1; this.parents = new ArrayList(); this.parents.addAll( parent.parents ); @@ -249,14 +249,21 @@ { if ( parents.contains( a.getDependencyConflictId() ) ) { - List path = new ArrayList( parents ); - path.add( getKey() ); - throw new CyclicDependencyException( "The dependency is present in a cycle", a, path ); + a.setDependencyTrail( getDependencyTrail() ); + + throw new CyclicDependencyException( "The dependency is present in a cycle", a ); } children.add( new ResolutionNode( a, this ) ); } } + } + + public List getDependencyTrail() + { + List path = new ArrayList( parents ); + path.add( getKey() ); + return path; } public boolean isResolved() Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/TransitiveArtifactResolutionException.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/TransitiveArtifactResolutionException.java?rev=191953&r1=191952&r2=191953&view=diff ============================================================================== --- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/TransitiveArtifactResolutionException.java (original) +++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/TransitiveArtifactResolutionException.java Wed Jun 22 07:27:35 2005 @@ -27,7 +27,8 @@ public class TransitiveArtifactResolutionException extends ArtifactResolutionException { - public TransitiveArtifactResolutionException( String message, Artifact artifact, List remoteRepositories, Throwable t ) + public TransitiveArtifactResolutionException( String message, Artifact artifact, List remoteRepositories, + Throwable t ) { super( message, artifact, remoteRepositories, t ); } Modified: maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java?rev=191953&r1=191952&r2=191953&view=diff ============================================================================== --- maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java (original) +++ maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java Wed Jun 22 07:27:35 2005 @@ -337,7 +337,7 @@ Map artifacts = new HashMap(); public Set retrieve( Artifact artifact, ArtifactRepository localRepository, List remoteRepositories ) - throws ArtifactMetadataRetrievalException, ArtifactResolutionException + throws ArtifactMetadataRetrievalException { ArtifactSpec a = (ArtifactSpec) artifacts.get( artifact.getId() ); return createArtifacts( artifactFactory, a.dependencies, artifact.getScope(), Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=191953&r1=191952&r2=191953&view=diff ============================================================================== --- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original) +++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Wed Jun 22 07:27:35 2005 @@ -181,14 +181,14 @@ } public MavenProject build( File projectDescriptor, ArtifactRepository localRepository, List externalProfiles ) - throws ProjectBuildingException, ArtifactResolutionException + throws ProjectBuildingException { return buildFromSourceFile( projectDescriptor, localRepository, externalProfiles ); } private MavenProject buildFromSourceFile( File projectDescriptor, ArtifactRepository localRepository, List externalProfiles ) - throws ProjectBuildingException, ArtifactResolutionException + throws ProjectBuildingException { Model model = readModel( projectDescriptor ); @@ -213,7 +213,7 @@ public MavenProject buildFromRepository( Artifact artifact, List remoteArtifactRepositories, ArtifactRepository localRepository ) - throws ProjectBuildingException, ArtifactResolutionException + throws ProjectBuildingException { Model model = findModelFromRepository( artifact, remoteArtifactRepositories, localRepository ); @@ -222,13 +222,21 @@ private Model findModelFromRepository( Artifact artifact, List remoteArtifactRepositories, ArtifactRepository localRepository ) - throws ProjectBuildingException, ArtifactResolutionException + throws ProjectBuildingException { Model model = getCachedModel( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion() ); if ( model == null ) { // TODO: can't assume artifact is a POM - artifactResolver.resolve( artifact, remoteArtifactRepositories, localRepository ); + try + { + artifactResolver.resolve( artifact, remoteArtifactRepositories, localRepository ); + } + catch ( ArtifactResolutionException e ) + { + // TODO: a not found would be better vs other errors + throw new ProjectBuildingException( "Unable to find the POM in the repository", e ); + } // String path = localRepository.pathOfMetadata( new ProjectArtifactMetadata( artifact, null ) ); // File file = new File( localRepository.getBasedir(), path ); @@ -257,7 +265,7 @@ private MavenProject build( String pomLocation, Model model, ArtifactRepository localRepository, List externalProfiles ) - throws ProjectBuildingException, ArtifactResolutionException + throws ProjectBuildingException { Model superModel = getSuperModel(); @@ -438,7 +446,7 @@ private MavenProject assembleLineage( Model model, LinkedList lineage, List aggregatedRemoteWagonRepositories, ArtifactRepository localRepository ) - throws ProjectBuildingException, ArtifactResolutionException + throws ProjectBuildingException { if ( !model.getRepositories().isEmpty() ) { Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java?rev=191953&r1=191952&r2=191953&view=diff ============================================================================== --- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java (original) +++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java Wed Jun 22 07:27:35 2005 @@ -35,7 +35,7 @@ static final String STANDALONE_SUPERPOM_VERSION = "2.0"; MavenProject build( File project, ArtifactRepository localRepository, List profiles ) - throws ProjectBuildingException, ArtifactResolutionException; + throws ProjectBuildingException; MavenProject buildWithDependencies( File project, ArtifactRepository localRepository, ArtifactMetadataSource artifactMetadataSource, List externalProfiles ) @@ -55,7 +55,7 @@ */ MavenProject buildFromRepository( Artifact artifact, List remoteArtifactRepositories, ArtifactRepository localRepository ) - throws ProjectBuildingException, ArtifactResolutionException; + throws ProjectBuildingException; MavenProject buildStandaloneSuperProject( ArtifactRepository localRepository, List externalProfiles ) throws ProjectBuildingException; Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java?rev=191953&r1=191952&r2=191953&view=diff ============================================================================== --- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java (original) +++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java Wed Jun 22 07:27:35 2005 @@ -21,25 +21,17 @@ import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException; import org.apache.maven.artifact.metadata.ArtifactMetadataSource; import org.apache.maven.artifact.repository.ArtifactRepository; -import org.apache.maven.artifact.resolver.ArtifactResolutionException; import org.apache.maven.artifact.resolver.ArtifactResolver; import org.apache.maven.artifact.resolver.filter.AndArtifactFilter; import org.apache.maven.artifact.resolver.filter.ArtifactFilter; import org.apache.maven.artifact.resolver.filter.ExcludesArtifactFilter; import org.apache.maven.model.Dependency; import org.apache.maven.model.Exclusion; -import org.apache.maven.model.Model; import org.apache.maven.model.io.xpp3.MavenXpp3Reader; import org.apache.maven.project.MavenProject; import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.project.ProjectBuildingException; -import org.codehaus.plexus.util.IOUtil; -import org.codehaus.plexus.util.xml.pull.XmlPullParserException; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.IOException; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; @@ -64,13 +56,6 @@ */ private MavenXpp3Reader reader = new MavenXpp3Reader(); - public MavenMetadataSource( ArtifactResolver artifactResolver, ArtifactFactory artifactFactory ) - { - this.artifactResolver = artifactResolver; - this.mavenProjectBuilder = null; - this.artifactFactory = artifactFactory; - } - public MavenMetadataSource( ArtifactResolver artifactResolver, MavenProjectBuilder projectBuilder, ArtifactFactory artifactFactory ) { @@ -80,64 +65,27 @@ } public Set retrieve( Artifact artifact, ArtifactRepository localRepository, List remoteRepositories ) - throws ArtifactMetadataRetrievalException, ArtifactResolutionException + throws ArtifactMetadataRetrievalException { // TODO: only metadata is really needed - resolve as metadata Artifact pomArtifact = artifactFactory.createArtifact( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getScope(), "pom" ); + // TODO: this a very thin wrapper around a project builder - is it needed? List dependencies = null; // Use the ProjectBuilder, to enable post-processing and inheritance calculation before retrieving the // associated artifacts. - if ( mavenProjectBuilder != null ) + try { - try - { - MavenProject p = mavenProjectBuilder.buildFromRepository( pomArtifact, remoteRepositories, - localRepository ); - dependencies = p.getDependencies(); - artifact.setDownloadUrl( pomArtifact.getDownloadUrl() ); - } - catch ( ProjectBuildingException e ) - { - throw new ArtifactMetadataRetrievalException( "Unable to read the metadata file", e ); - } + MavenProject p = mavenProjectBuilder.buildFromRepository( pomArtifact, remoteRepositories, + localRepository ); + dependencies = p.getDependencies(); + artifact.setDownloadUrl( pomArtifact.getDownloadUrl() ); } - else + catch ( ProjectBuildingException e ) { - // there is code in plexus that uses this (though it shouldn't) so we - // need to be able to not have a project builder - // TODO: remove - which then makes this a very thin wrapper around a project builder - is it needed? - - artifactResolver.resolve( pomArtifact, remoteRepositories, localRepository ); - - FileReader reader = null; - try - { -// String path = localRepository.pathOfMetadata( new ProjectArtifactMetadata( artifact, null ) ); -// File file = new File( localRepository.getBasedir(), path ); - File file = pomArtifact.getFile(); - reader = new FileReader( file ); - Model model = this.reader.read( reader ); - dependencies = model.getDependencies(); - } - catch ( FileNotFoundException e ) - { - throw new ArtifactMetadataRetrievalException( "Unable to find the metadata file", e ); - } - catch ( IOException e ) - { - throw new ArtifactMetadataRetrievalException( "Unable to read the metadata file", e ); - } - catch ( XmlPullParserException e ) - { - throw new ArtifactMetadataRetrievalException( "Unable to parse the metadata file", e ); - } - finally - { - IOUtil.close( reader ); - } + throw new ArtifactMetadataRetrievalException( "Unable to read the metadata file", e ); } return createArtifacts( artifactFactory, dependencies, artifact.getScope(), artifact.getDependencyFilter() ); } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]