You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ma...@apache.org on 2007/07/04 11:36:21 UTC

svn commit: r553141 - in /maven/shared/branches/maven-dependency-tree-MNG-612/src: main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java test/resources/org/apache/maven/shared/dependency/tree/DependencyTreeBuilderTest.xml

Author: markh
Date: Wed Jul  4 02:36:20 2007
New Revision: 553141

URL: http://svn.apache.org/viewvc?view=rev&rev=553141
Log:
Added support for MNG-612

Modified:
    maven/shared/branches/maven-dependency-tree-MNG-612/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java
    maven/shared/branches/maven-dependency-tree-MNG-612/src/test/resources/org/apache/maven/shared/dependency/tree/DependencyTreeBuilderTest.xml

Modified: maven/shared/branches/maven-dependency-tree-MNG-612/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java
URL: http://svn.apache.org/viewvc/maven/shared/branches/maven-dependency-tree-MNG-612/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java?view=diff&rev=553141&r1=553140&r2=553141
==============================================================================
--- maven/shared/branches/maven-dependency-tree-MNG-612/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java (original)
+++ maven/shared/branches/maven-dependency-tree-MNG-612/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java Wed Jul  4 02:36:20 2007
@@ -20,6 +20,7 @@
  */
 
 import java.util.Collections;
+import java.util.List;
 import java.util.Map;
 
 import org.apache.maven.artifact.factory.ArtifactFactory;
@@ -27,8 +28,11 @@
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.resolver.ArtifactCollector;
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+import org.apache.maven.artifact.resolver.conflict.ConflictResolverFactory;
+import org.apache.maven.artifact.resolver.conflict.ConflictResolverNotFoundException;
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectUtils;
 import org.apache.maven.shared.dependency.tree.traversal.CollectingDependencyNodeVisitor;
 
 /**
@@ -42,6 +46,15 @@
  */
 public class DefaultDependencyTreeBuilder implements DependencyTreeBuilder
 {
+    // fields -----------------------------------------------------------------
+    
+    /**
+     * The conflict resolver factory to use.
+     * 
+     * @plexus.requirement
+     */
+    private ConflictResolverFactory conflictResolverFactory;
+    
     // DependencyTreeBuilder methods ------------------------------------------
 
     /*
@@ -79,14 +92,20 @@
         try
         {
             Map managedVersions = project.getManagedVersionMap();
+            
+            List conflictResolvers = ProjectUtils.buildConflictResolvers( project, conflictResolverFactory );
 
             collector.collect( project.getDependencyArtifacts(), project.getArtifact(), managedVersions, repository,
                                project.getRemoteArtifactRepositories(), metadataSource, filter,
-                               Collections.singletonList( listener ) );
+                               Collections.singletonList( listener ), conflictResolvers );
 
             return listener.getRootNode();
         }
         catch ( ArtifactResolutionException exception )
+        {
+            throw new DependencyTreeBuilderException( "Cannot build project dependency tree", exception );
+        }
+        catch ( ConflictResolverNotFoundException exception )
         {
             throw new DependencyTreeBuilderException( "Cannot build project dependency tree", exception );
         }

Modified: maven/shared/branches/maven-dependency-tree-MNG-612/src/test/resources/org/apache/maven/shared/dependency/tree/DependencyTreeBuilderTest.xml
URL: http://svn.apache.org/viewvc/maven/shared/branches/maven-dependency-tree-MNG-612/src/test/resources/org/apache/maven/shared/dependency/tree/DependencyTreeBuilderTest.xml?view=diff&rev=553141&r1=553140&r2=553141
==============================================================================
--- maven/shared/branches/maven-dependency-tree-MNG-612/src/test/resources/org/apache/maven/shared/dependency/tree/DependencyTreeBuilderTest.xml (original)
+++ maven/shared/branches/maven-dependency-tree-MNG-612/src/test/resources/org/apache/maven/shared/dependency/tree/DependencyTreeBuilderTest.xml Wed Jul  4 02:36:20 2007
@@ -31,6 +31,11 @@
     <component>
       <role>org.apache.maven.artifact.resolver.ArtifactCollector</role>
       <implementation>org.apache.maven.artifact.resolver.DefaultArtifactCollector</implementation>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.artifact.resolver.conflict.ConflictResolver</role>
+        </requirement>
+      </requirements>
     </component>
   </components>
 </component-set>