You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2007/08/14 17:20:23 UTC
svn commit: r565808 - in
/maven/components/branches/maven-2.0.x/maven-artifact/src:
main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java
test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java
Author: jdcasey
Date: Tue Aug 14 08:20:22 2007
New Revision: 565808
URL: http://svn.apache.org/viewvc?view=rev&rev=565808
Log:
[MNG-3046] Applying patch to fix compareTo when buildNumber == 0.
Modified:
maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java
maven/components/branches/maven-2.0.x/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java
Modified: maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java?view=diff&rev=565808&r1=565807&r2=565808
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java (original)
+++ maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java Tue Aug 14 08:20:22 2007
@@ -60,11 +60,7 @@
}
if ( result == 0 )
{
- if ( buildNumber != null || otherVersion.buildNumber != null )
- {
- result = compareIntegers( buildNumber, otherVersion.buildNumber );
- }
- else if ( qualifier != null )
+ if ( qualifier != null )
{
if ( otherVersion.qualifier != null )
{
@@ -95,6 +91,10 @@
{
// otherVersion has a qualifier but we don't, we're newer
result = 1;
+ }
+ else if ( buildNumber != null || otherVersion.buildNumber != null )
+ {
+ result = compareIntegers( buildNumber, otherVersion.buildNumber );
}
}
return result;
Modified: maven/components/branches/maven-2.0.x/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java?view=diff&rev=565808&r1=565807&r2=565808
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java (original)
+++ maven/components/branches/maven-2.0.x/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java Tue Aug 14 08:20:22 2007
@@ -247,4 +247,32 @@
// version = new DefaultArtifactVersion( "1.1-foo-10" );
// assertTrue( version.compareTo( new DefaultArtifactVersion( "1.1-foo-2" ) ) > 0 );
}
+
+ public void testVersionComparingWithBuildNumberZero()
+ {
+ DefaultArtifactVersion v1 = new DefaultArtifactVersion("2.0");
+ DefaultArtifactVersion v2 = new DefaultArtifactVersion("2.0-0");
+ DefaultArtifactVersion v3 = new DefaultArtifactVersion("2.0-alpha1");
+ DefaultArtifactVersion v4 = new DefaultArtifactVersion("2.0-1");
+
+ // v1 and v2 are equal
+ assertTrue( v1.compareTo(v2) == 0 );
+ assertTrue( v2.compareTo(v1) == 0 );
+
+ // v1 is newer than v3
+ assertTrue( v1.compareTo(v3) > 0 );
+ assertTrue( v3.compareTo(v1) < 0 );
+
+ // ergo, v2 should also be newer than v3
+ assertTrue( v2.compareTo(v3) > 0 );
+ assertTrue( v3.compareTo(v1) < 0 );
+
+ // nonzero build numbers still respected
+ assertTrue( v1.compareTo(v4) < 0 ); // build number one is always newer
+ assertTrue( v4.compareTo(v1) > 0 );
+ assertTrue( v2.compareTo(v4) < 0 ); // same results as v1
+ assertTrue( v4.compareTo(v2) > 0 );
+ assertTrue( v3.compareTo(v4) < 0 ); // qualifier is always older
+ assertTrue( v4.compareTo(v3) > 0 );
+ }
}