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:38:40 UTC
svn commit: r584191 -
/maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilderTest.java
Author: markh
Date: Fri Oct 12 08:37:48 2007
New Revision: 584191
URL: http://svn.apache.org/viewvc?rev=584191&view=rev
Log:
Reinstated scope conflict tests now that the assertion code is fixed, although still not convinced by the resultant tree.
Modified:
maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilderTest.java
Modified: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilderTest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilderTest.java?rev=584191&r1=584190&r2=584191&view=diff
==============================================================================
--- maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilderTest.java (original)
+++ maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilderTest.java Fri Oct 12 08:37:48 2007
@@ -285,75 +285,136 @@
assertDependencyTree( expectedRootNode, project );
}
- // TODO: fix when discussion resolved: http://www.mail-archive.com/dev@maven.apache.org/msg68011.html
- /*
- public void testProjectWithConflictDependencyScope() throws DependencyTreeBuilderException
+ /**
+ * Tests building a tree for a project with a dependency that has conflicting scopes, where the winner is
+ * encountered first:
+ *
+ * <pre>
+ * g:p:t:1
+ * \- g:a:t:1
+ * +- g:b:t:1
+ * | \- g:c:t:1:compile
+ * \- (g:c:t:1:compile - scope updated from test; omitted for duplicate)
+ * </pre>
+ *
+ * @throws DependencyTreeBuilderException
+ */
+ public void testProjectWithConflictDependencyScopeFirstWins() throws DependencyTreeBuilderException
{
Artifact projectArtifact = createArtifact( "g:p:t:1" );
Artifact childArtifact = createArtifact( "g:a:t:1" );
- Artifact nearestArtifact = createArtifact( "g:c:t:1:test" );
Artifact grandchildArtifact = createArtifact( "g:b:t:1" );
Artifact farthestArtifact = createArtifact( "g:c:t:1:compile" );
- addArtifactMetadata( childArtifact, new Artifact[] { nearestArtifact, grandchildArtifact } );
+ Artifact nearestArtifact = createArtifact( "g:c:t:1:test" );
+ addArtifactMetadata( childArtifact, new Artifact[] { grandchildArtifact, nearestArtifact } );
addArtifactMetadata( grandchildArtifact, farthestArtifact );
MavenProject project = createProject( projectArtifact, new Artifact[] { childArtifact } );
- // TODO: i would have expected this..
-// DependencyNode expectedRootNode = createNode( "g:p:t:1" );
-// DependencyNode childArtifactNode = createNode( "g:a:t:1" );
-// expectedRootNode.addChild( childArtifactNode );
-// DependencyNode nearestArtifactNode = createNode( "g:c:t:1:compile" );
-// nearestArtifactNode.setOriginalScope( "test" );
-// childArtifactNode.addChild( nearestArtifactNode );
-// DependencyNode grandchildArtifactNode = createNode( "g:b:t:1" );
-// childArtifactNode.addChild( grandchildArtifactNode );
-// grandchildArtifactNode.addChild( createNode( "g:c:t:1:compile", DependencyNode.OMITTED_FOR_DUPLICATE, nearestArtifactNode.getArtifact() ) );
-
+ /*
+ * TODO: Not entirely convinced that the expected tree is correct - I would have expected:
+ *
+ * <pre>
+ * g:p:t:1
+ * \- g:a:t:1
+ * +- g:b:t:1
+ * | \- (g:c:t:1:compile - omitted for duplicate)
+ * \- g:c:t:1:compile (scope updated from test)
+ * </pre>
+ *
+ * @see http://www.mail-archive.com/dev@maven.apache.org/msg68011.html
+ */
+ /*
DependencyNode expectedRootNode = createNode( "g:p:t:1" );
DependencyNode childArtifactNode = createNode( "g:a:t:1" );
expectedRootNode.addChild( childArtifactNode );
- DependencyNode farthestArtifactNode = createNode( "g:c:t:1:compile" );
- DependencyNode nearestArtifactNode = createNode( "g:c:t:1:compile", DependencyNode.OMITTED_FOR_DUPLICATE, farthestArtifactNode.getArtifact() );
+ DependencyNode grandchildArtifactNode = createNode( "g:b:t:1" );
+ childArtifactNode.addChild( grandchildArtifactNode );
+ DependencyNode nearestArtifactNode = createNode( "g:c:t:1:compile" );
+ DependencyNode farthestArtifactNode = createNode( "g:c:t:1:compile", DependencyNode.OMITTED_FOR_DUPLICATE, nearestArtifactNode.getArtifact() );
+ grandchildArtifactNode.addChild( farthestArtifactNode );
nearestArtifactNode.setOriginalScope( "test" );
childArtifactNode.addChild( nearestArtifactNode );
+ */
+
+ DependencyNode expectedRootNode = createNode( "g:p:t:1" );
+ DependencyNode childArtifactNode = createNode( "g:a:t:1" );
+ expectedRootNode.addChild( childArtifactNode );
DependencyNode grandchildArtifactNode = createNode( "g:b:t:1" );
childArtifactNode.addChild( grandchildArtifactNode );
+ DependencyNode farthestArtifactNode = createNode( "g:c:t:1:compile" );
grandchildArtifactNode.addChild( farthestArtifactNode );
+ DependencyNode nearestArtifactNode = createNode( "g:c:t:1:compile", DependencyNode.OMITTED_FOR_DUPLICATE, farthestArtifactNode.getArtifact() );
+ nearestArtifactNode.setOriginalScope( "test" );
+ childArtifactNode.addChild( nearestArtifactNode );
assertDependencyTree( expectedRootNode, project );
}
- */
- // TODO: fix when discussion resolved: http://www.mail-archive.com/dev@maven.apache.org/msg68011.html
- /*
- public void testProjectWithConflictDependencyScopeReversedOrder() throws DependencyTreeBuilderException
+ /**
+ * Tests building a tree for a project with a dependency that has conflicting scopes, where the winner is
+ * encountered last:
+ *
+ * <pre>
+ * g:p:t:1
+ * \- g:a:t:1
+ * +- (g:c:t:1:compile - scope updated from test; omitted for duplicate)
+ * \- g:b:t:1
+ * \- g:c:t:1:compile
+ * </pre>
+ *
+ * @throws DependencyTreeBuilderException
+ */
+ public void testProjectWithConflictDependencyScopeLastWins() throws DependencyTreeBuilderException
{
Artifact projectArtifact = createArtifact( "g:p:t:1" );
Artifact childArtifact = createArtifact( "g:a:t:1" );
Artifact nearestArtifact = createArtifact( "g:c:t:1:test" );
Artifact grandchildArtifact = createArtifact( "g:b:t:1" );
Artifact farthestArtifact = createArtifact( "g:c:t:1:compile" );
- addArtifactMetadata( childArtifact, new Artifact[] { grandchildArtifact, nearestArtifact } );
+ addArtifactMetadata( childArtifact, new Artifact[] { nearestArtifact, grandchildArtifact } );
addArtifactMetadata( grandchildArtifact, farthestArtifact );
MavenProject project = createProject( projectArtifact, new Artifact[] { childArtifact } );
- // TODO: add expected results as per above test method
+ /*
+ * TODO: Not entirely convinced that the expected tree is correct - I would have expected:
+ *
+ * <pre>
+ * g:p:t:1
+ * \- g:a:t:1
+ * +- g:c:t:1:compile (scope updated from test)
+ * \- g:b:t:1
+ * \- (g:c:t:1:compile - omitted for duplicate)
+ * </pre>
+ *
+ * @see http://www.mail-archive.com/dev@maven.apache.org/msg68011.html
+ */
+ /*
DependencyNode expectedRootNode = createNode( "g:p:t:1" );
DependencyNode childArtifactNode = createNode( "g:a:t:1" );
expectedRootNode.addChild( childArtifactNode );
+ DependencyNode nearestArtifactNode = createNode( "g:c:t:1:compile" );
+ nearestArtifactNode.setOriginalScope( "test" );
+ childArtifactNode.addChild( nearestArtifactNode );
DependencyNode grandchildArtifactNode = createNode( "g:b:t:1" );
childArtifactNode.addChild( grandchildArtifactNode );
+ grandchildArtifactNode.addChild( createNode( "g:c:t:1:compile", DependencyNode.OMITTED_FOR_DUPLICATE, nearestArtifactNode.getArtifact() ) );
+ */
+
+ DependencyNode expectedRootNode = createNode( "g:p:t:1" );
+ DependencyNode childArtifactNode = createNode( "g:a:t:1" );
+ expectedRootNode.addChild( childArtifactNode );
DependencyNode farthestArtifactNode = createNode( "g:c:t:1:compile" );
- grandchildArtifactNode.addChild( farthestArtifactNode );
DependencyNode nearestArtifactNode = createNode( "g:c:t:1:compile", DependencyNode.OMITTED_FOR_DUPLICATE, farthestArtifactNode.getArtifact() );
nearestArtifactNode.setOriginalScope( "test" );
childArtifactNode.addChild( nearestArtifactNode );
+ DependencyNode grandchildArtifactNode = createNode( "g:b:t:1" );
+ childArtifactNode.addChild( grandchildArtifactNode );
+ grandchildArtifactNode.addChild( farthestArtifactNode );
assertDependencyTree( expectedRootNode, project );
}
- */
/**
* Tests building a tree for a project with one transitive dependency whose version is fixed in dependency