You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2007/11/05 14:55:20 UTC
svn commit: r591996 - in /maven/artifact/trunk/src:
main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
Author: hboutemy
Date: Mon Nov 5 05:55:20 2007
New Revision: 591996
URL: http://svn.apache.org/viewvc?rev=591996&view=rev
Log:
[MANTTASKS-22] ensure proper order of artifacts in ArtifactResolutionResult
Modified:
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java?rev=591996&r1=591995&r2=591996&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java Mon Nov 5 05:55:20 2007
@@ -24,8 +24,8 @@
import java.util.ArrayList;
import java.util.Collections;
-import java.util.HashSet;
import java.util.Iterator;
+import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
@@ -85,7 +85,7 @@
{
if ( artifacts == null )
{
- artifacts = new HashSet();
+ artifacts = new LinkedHashSet();
for ( Iterator i = resolutionNodes.iterator(); i.hasNext(); )
{
Modified: maven/artifact/trunk/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java?rev=591996&r1=591995&r2=591996&view=diff
==============================================================================
--- maven/artifact/trunk/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java (original)
+++ maven/artifact/trunk/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java Mon Nov 5 05:55:20 2007
@@ -29,6 +29,8 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
@@ -232,5 +234,53 @@
assertLocalArtifactPresent( l );
}
-}
+ public void testTransitiveResolutionOrder()
+ throws Exception
+ {
+ Artifact m = createLocalArtifact( "m", "1.0" );
+
+ Artifact n = createLocalArtifact( "n", "1.0" );
+
+ ArtifactMetadataSource mds = new ArtifactMetadataSource()
+ {
+ public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository,
+ List remoteRepositories )
+ throws ArtifactMetadataRetrievalException
+ {
+ Set dependencies = new HashSet();
+
+ return new ResolutionGroup( artifact, dependencies, remoteRepositories );
+ }
+
+ public List retrieveAvailableVersions( Artifact artifact, ArtifactRepository localRepository,
+ List remoteRepositories )
+ {
+ throw new UnsupportedOperationException( "Cannot get available versions in this test case" );
+ }
+ };
+
+ ArtifactResolutionResult result = null;
+
+ Set set = new LinkedHashSet();
+ set.add( n );
+ set.add( m );
+
+ result = artifactResolver.resolveTransitively( set, projectArtifact, remoteRepositories(), localRepository(), mds );
+
+ Iterator i = result.getArtifacts().iterator();
+ assertEquals( "n should be first", n, i.next() );
+ assertEquals( "m should be second", m, i.next() );
+
+ // inverse order
+ set = new LinkedHashSet();
+ set.add( m );
+ set.add( n );
+
+ result = artifactResolver.resolveTransitively( set, projectArtifact, remoteRepositories(), localRepository(), mds );
+
+ i = result.getArtifacts().iterator();
+ assertEquals( "m should be first", m, i.next() );
+ assertEquals( "n should be second", n, i.next() );
+ }
+}
\ No newline at end of file