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]

Reply via email to