You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2008/07/04 16:04:24 UTC
svn commit: r674059 - 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: brett
Date: Fri Jul 4 07:04:24 2008
New Revision: 674059
URL: http://svn.apache.org/viewvc?rev=674059&view=rev
Log:
[MARTIFACT-26] string tokenizers ignore lone delimiters, so explicitly handle such cases
The principle we're using here is that string -> version -> string should always return the original value
Merged from: r674057
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?rev=674059&r1=674058&r2=674059&view=diff
==============================================================================
--- 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 Fri Jul 4 07:04:24 2008
@@ -183,6 +183,7 @@
else
{
boolean fallback = false;
+
StringTokenizer tok = new StringTokenizer( part1, "." );
try
{
@@ -199,6 +200,12 @@
{
fallback = true;
}
+
+ // string tokenzier won't detect these and ignores them
+ if ( part1.indexOf( ".." ) >= 0 || part1.startsWith( "." ) || part1.endsWith( "." ) )
+ {
+ fallback = true;
+ }
}
catch ( NumberFormatException e )
{
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?rev=674059&r1=674058&r2=674059&view=diff
==============================================================================
--- 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 Fri Jul 4 07:04:24 2008
@@ -76,6 +76,13 @@
checkVersionParsing( "1.7.3.0-1" , 0, 0, 0, 0, "1.7.3.0-1" );
checkVersionParsing( "PATCH-1193602" , 0, 0, 0, 0, "PATCH-1193602" );
checkVersionParsing( "5.0.0alpha-2006020117" , 0, 0, 0, 0, "5.0.0alpha-2006020117" );
+ checkVersionParsing( "1.0.0.-SNAPSHOT", 0, 0, 0, 0, "1.0.0.-SNAPSHOT" );
+ checkVersionParsing( "1..0-SNAPSHOT", 0, 0, 0, 0, "1..0-SNAPSHOT" );
+ checkVersionParsing( "1.0.-SNAPSHOT", 0, 0, 0, 0, "1.0.-SNAPSHOT" );
+ checkVersionParsing( ".1.0-SNAPSHOT", 0, 0, 0, 0, ".1.0-SNAPSHOT" );
+
+ checkVersionParsing( "1.2.3.200705301630" , 0, 0, 0, 0, "1.2.3.200705301630" );
+ checkVersionParsing( "1.2.3-200705301630" , 1, 2, 3, 0, "200705301630" );
}
public void testVersionComparing()