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/10/12 17:05:48 UTC

svn commit: r584176 - in /maven/shared/trunk/maven-dependency-tree/src: main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java test/java/org/apache/maven/shared/dependency/tree/DependencyTreeBuilderTest.java

Author: markh
Date: Fri Oct 12 08:05:46 2007
New Revision: 584176

URL: http://svn.apache.org/viewvc?rev=584176&view=rev
Log:
Made DependencyTreeBuilderTest assert resolution tree against the internal one used by DefaultDependencyTreeBuilder.  Previously it was asserting against the result of performing a further artifact collection, which caused misleading results since artifacts are mutated during collection.

Modified:
    maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java
    maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/DependencyTreeBuilderTest.java

Modified: maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java?rev=584176&r1=584175&r2=584176&view=diff
==============================================================================
--- maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java (original)
+++ maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java Fri Oct 12 08:05:46 2007
@@ -28,6 +28,7 @@
 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.ArtifactResolutionResult;
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.artifact.InvalidDependencyVersionException;
@@ -45,6 +46,10 @@
  */
 public class DefaultDependencyTreeBuilder extends AbstractLogEnabled implements DependencyTreeBuilder
 {
+    // fields -----------------------------------------------------------------
+    
+    private ArtifactResolutionResult result;
+    
     // DependencyTreeBuilder methods ------------------------------------------
 
     /*
@@ -94,7 +99,7 @@
             
             // TODO: note that filter does not get applied due to MNG-3236
 
-            collector.collect( dependencyArtifacts, project.getArtifact(), managedVersions, repository,
+            result = collector.collect( dependencyArtifacts, project.getArtifact(), managedVersions, repository,
                                project.getRemoteArtifactRepositories(), metadataSource, filter,
                                Collections.singletonList( listener ) );
 
@@ -109,5 +114,12 @@
             throw new DependencyTreeBuilderException( "Invalid dependency version for artifact "
                 + project.getArtifact() );
         }
+    }
+    
+    // protected methods ------------------------------------------------------
+    
+    protected ArtifactResolutionResult getArtifactResolutionResult()
+    {
+        return result;
     }
 }

Modified: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/DependencyTreeBuilderTest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/DependencyTreeBuilderTest.java?rev=584176&r1=584175&r2=584176&view=diff
==============================================================================
--- maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/DependencyTreeBuilderTest.java (original)
+++ maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/DependencyTreeBuilderTest.java Fri Oct 12 08:05:46 2007
@@ -38,7 +38,6 @@
 import org.apache.maven.artifact.repository.DefaultArtifactRepository;
 import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
 import org.apache.maven.artifact.resolver.ArtifactCollector;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
 import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
 import org.apache.maven.artifact.resolver.ResolutionNode;
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
@@ -57,7 +56,7 @@
 {
     // fields -----------------------------------------------------------------
 
-    private DependencyTreeBuilder builder;
+    private DefaultDependencyTreeBuilder builder;
 
     private ArtifactRepository artifactRepository;
 
@@ -76,7 +75,7 @@
     {
         super.setUp();
 
-        builder = (DependencyTreeBuilder) lookup( DependencyTreeBuilder.ROLE );
+        builder = (DefaultDependencyTreeBuilder) lookup( DependencyTreeBuilder.ROLE );
 
         String repositoryURL = getTestFile( "target/local-repo" ).toURI().toString();
         artifactRepository = new DefaultArtifactRepository( "local", repositoryURL, new DefaultRepositoryLayout() );
@@ -107,9 +106,8 @@
      * </pre>
      * 
      * @throws DependencyTreeBuilderException 
-     * @throws ArtifactResolutionException 
      */
-    public void testProjectWithDependency() throws DependencyTreeBuilderException, ArtifactResolutionException
+    public void testProjectWithDependency() throws DependencyTreeBuilderException
     {
         Artifact projectArtifact = createArtifact( "g:p:t:1" );
         Artifact childArtifact = createArtifact( "g:a:t:1" );
@@ -132,9 +130,8 @@
      * </pre>
      *
      * @throws DependencyTreeBuilderException
-     * @throws ArtifactResolutionException
      */
-    public void testProjectWithTransitiveDependency() throws DependencyTreeBuilderException, ArtifactResolutionException
+    public void testProjectWithTransitiveDependency() throws DependencyTreeBuilderException
     {
         Artifact projectArtifact = createArtifact( "g:p:t:1" );
         Artifact childArtifact = createArtifact( "g:a:t:1" );
@@ -163,9 +160,8 @@
      * </pre>
      *
      * @throws DependencyTreeBuilderException
-     * @throws ArtifactResolutionException
      */
-    public void testProjectWithDuplicateDependency() throws DependencyTreeBuilderException, ArtifactResolutionException
+    public void testProjectWithDuplicateDependency() throws DependencyTreeBuilderException
     {
         Artifact projectArtifact = createArtifact( "g:p:t:1" );
         Artifact child1Artifact = createArtifact( "g:a:t:1" );
@@ -201,9 +197,8 @@
      * </pre>
      *
      * @throws DependencyTreeBuilderException
-     * @throws ArtifactResolutionException
      */
-    public void testProjectWithConflictDependencyVersionFirstWins() throws DependencyTreeBuilderException, ArtifactResolutionException
+    public void testProjectWithConflictDependencyVersionFirstWins() throws DependencyTreeBuilderException
     {
         Artifact projectArtifact = createArtifact( "g:p:t:1" );
         Artifact nearestArtifact = createArtifact( "g:a:t:1" );
@@ -235,9 +230,8 @@
      * </pre>
      *
      * @throws DependencyTreeBuilderException
-     * @throws ArtifactResolutionException
      */
-    public void testProjectWithConflictDependencyVersionLastWins() throws DependencyTreeBuilderException, ArtifactResolutionException
+    public void testProjectWithConflictDependencyVersionLastWins() throws DependencyTreeBuilderException
     {
         Artifact projectArtifact = createArtifact( "g:p:t:1" );
         Artifact childArtifact = createArtifact( "g:a:t:1" );
@@ -269,9 +263,8 @@
      * </pre>
      *
      * @throws DependencyTreeBuilderException
-     * @throws ArtifactResolutionException
      */
-    public void testProjectWithConflictDependencyScopeCurrentPom() throws DependencyTreeBuilderException, ArtifactResolutionException
+    public void testProjectWithConflictDependencyScopeCurrentPom() throws DependencyTreeBuilderException
     {
         Artifact projectArtifact = createArtifact( "g:p:t:1" );
         Artifact nearestArtifact = createArtifact( "g:b:t:1:test" );
@@ -294,7 +287,7 @@
 
     // TODO: fix when discussion resolved: http://www.mail-archive.com/dev@maven.apache.org/msg68011.html
     /*
-    public void testProjectWithConflictDependencyScope() throws DependencyTreeBuilderException, ArtifactResolutionException
+    public void testProjectWithConflictDependencyScope() throws DependencyTreeBuilderException
     {
         Artifact projectArtifact = createArtifact( "g:p:t:1" );
         Artifact childArtifact = createArtifact( "g:a:t:1" );
@@ -334,7 +327,7 @@
 
     // TODO: fix when discussion resolved: http://www.mail-archive.com/dev@maven.apache.org/msg68011.html
     /*
-    public void testProjectWithConflictDependencyScopeReversedOrder() throws DependencyTreeBuilderException, ArtifactResolutionException
+    public void testProjectWithConflictDependencyScopeReversedOrder() throws DependencyTreeBuilderException
     {
         Artifact projectArtifact = createArtifact( "g:p:t:1" );
         Artifact childArtifact = createArtifact( "g:a:t:1" );
@@ -373,9 +366,8 @@
      * </pre>
      * 
      * @throws DependencyTreeBuilderException
-     * @throws ArtifactResolutionException
      */
-    public void testProjectWithManagedTransitiveDependencyVersion() throws DependencyTreeBuilderException, ArtifactResolutionException
+    public void testProjectWithManagedTransitiveDependencyVersion() throws DependencyTreeBuilderException
     {
         Artifact projectArtifact = createArtifact( "g:p:t:1" );
         Artifact childArtifact = createArtifact( "g:a:t:1" );
@@ -406,9 +398,8 @@
      * </pre>
      *
      * @throws DependencyTreeBuilderException
-     * @throws ArtifactResolutionException
      */
-    public void testProjectWithManagedTransitiveDependencyScope() throws DependencyTreeBuilderException, ArtifactResolutionException
+    public void testProjectWithManagedTransitiveDependencyScope() throws DependencyTreeBuilderException
     {
         Artifact projectArtifact = createArtifact( "g:p:t:1" );
         Artifact childArtifact = createArtifact( "g:a:t:1" );
@@ -440,9 +431,8 @@
      * </pre>
      * 
      * @throws DependencyTreeBuilderException
-     * @throws ArtifactResolutionException
      */
-    public void testProjectWithManagedTransitiveDependencyVersionAndScope() throws DependencyTreeBuilderException, ArtifactResolutionException
+    public void testProjectWithManagedTransitiveDependencyVersionAndScope() throws DependencyTreeBuilderException
     {
         Artifact projectArtifact = createArtifact( "g:p:t:1" );
         Artifact childArtifact = createArtifact( "g:a:t:1" );
@@ -476,9 +466,8 @@
      * </pre>
      * 
      * @throws DependencyTreeBuilderException
-     * @throws ArtifactResolutionException
      */
-    public void testProjectWithManagedTransitiveDependencyVersionAndConflictDependencyVersion() throws DependencyTreeBuilderException, ArtifactResolutionException
+    public void testProjectWithManagedTransitiveDependencyVersionAndConflictDependencyVersion() throws DependencyTreeBuilderException
     {
         Artifact projectArtifact = createArtifact( "g:p:t:1" );
         Artifact nearestArtifact = createArtifact( "g:a:t:1" );
@@ -594,12 +583,12 @@
         return artifact.getGroupId() + ":" + artifact.getArtifactId() + ":" + artifact.getType() + (artifact.getClassifier() != null ? ":" + artifact.getClassifier() : "");
     }
     
-    private void assertDependencyTree( DependencyNode expectedRootNode, MavenProject project ) throws DependencyTreeBuilderException, ArtifactResolutionException
+    private void assertDependencyTree( DependencyNode expectedRootNode, MavenProject project ) throws DependencyTreeBuilderException
     {
         assertDependencyTree( expectedRootNode, project, null );
     }
     
-    private void assertDependencyTree( DependencyNode expectedRootNode, MavenProject project, ArtifactFilter artifactFilter ) throws DependencyTreeBuilderException, ArtifactResolutionException
+    private void assertDependencyTree( DependencyNode expectedRootNode, MavenProject project, ArtifactFilter artifactFilter ) throws DependencyTreeBuilderException
     {
         // assert built dependency tree is as expected
         
@@ -611,17 +600,9 @@
         
         // assert resolution tree is as expected
         
-        ArtifactResolutionResult result = collect( project, artifactFilter );
+        ArtifactResolutionResult result = builder.getArtifactResolutionResult();
         
         assertTreeEquals( expectedRootNode, project, result );
-    }
-    
-    private ArtifactResolutionResult collect( MavenProject project, ArtifactFilter artifactFilter ) throws ArtifactResolutionException
-    {
-        return artifactCollector.collect( project.getDependencyArtifacts(), project.getArtifact(),
-                                          project.getManagedVersionMap(), artifactRepository,
-                                          project.getRemoteArtifactRepositories(), artifactMetadataSource,
-                                          artifactFilter, Collections.EMPTY_LIST );
     }
     
     private void assertTreeEquals( DependencyNode dependencyNode, MavenProject project, ArtifactResolutionResult resolutionResult )