You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by st...@apache.org on 2014/01/07 17:38:11 UTC
git commit: [MNG-3626] Small change to artifact version parsing.
Updated Branches:
refs/heads/master 61dbaabfb -> 5cf05463a
[MNG-3626] Small change to artifact version parsing.
Applied patch inspired by patch submitted by Paul Gier.
- Substantially rewrote test case to match current testing style
- Changed the patch to ensure that 4 segment number only version number are not affected... would be nice to pick them up but holding that change back for now
Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/5cf05463
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/5cf05463
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/5cf05463
Branch: refs/heads/master
Commit: 5cf05463a42a8e1cea93301d75862066f6fc50eb
Parents: 61dbaab
Author: Stephen Connolly <st...@gmail.com>
Authored: Tue Jan 7 16:37:47 2014 +0000
Committer: Stephen Connolly <st...@gmail.com>
Committed: Tue Jan 7 16:38:01 2014 +0000
----------------------------------------------------------------------
.../versioning/DefaultArtifactVersion.java | 34 +++-----------------
.../versioning/DefaultArtifactVersionTest.java | 6 ++++
2 files changed, 10 insertions(+), 30 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven/blob/5cf05463/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java
----------------------------------------------------------------------
diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java b/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java
index 856eb13..cf3dc95 100644
--- a/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java
+++ b/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java
@@ -20,6 +20,7 @@ package org.apache.maven.artifact.versioning;
*/
import java.util.StringTokenizer;
+import java.util.regex.Pattern;
/**
* Default implementation of artifact versioning.
@@ -174,7 +175,8 @@ public class DefaultArtifactVersion
}
if ( tok.hasMoreTokens() )
{
- fallback = true;
+ qualifier = tok.nextToken();
+ fallback = Pattern.compile("\\d+").matcher( qualifier ).matches();
}
// string tokenzier won't detect these and ignores them
@@ -213,34 +215,6 @@ public class DefaultArtifactVersion
@Override
public String toString()
{
- StringBuilder buf = new StringBuilder();
- if ( majorVersion != null )
- {
- buf.append( majorVersion );
- }
- if ( minorVersion != null )
- {
- buf.append( "." );
- buf.append( minorVersion );
- }
- if ( incrementalVersion != null )
- {
- buf.append( "." );
- buf.append( incrementalVersion );
- }
- if ( buildNumber != null )
- {
- buf.append( "-" );
- buf.append( buildNumber );
- }
- else if ( qualifier != null )
- {
- if ( buf.length() > 0 )
- {
- buf.append( "-" );
- }
- buf.append( qualifier );
- }
- return buf.toString();
+ return comparable.toString();
}
}
http://git-wip-us.apache.org/repos/asf/maven/blob/5cf05463/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java
----------------------------------------------------------------------
diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java
index 9bb252d..813210b 100644
--- a/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java
+++ b/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java
@@ -71,6 +71,8 @@ public class DefaultArtifactVersionTest
checkVersionParsing( "1.0.1b" , 0, 0, 0, 0, "1.0.1b" );
checkVersionParsing( "1.0M2" , 0, 0, 0, 0, "1.0M2" );
checkVersionParsing( "1.0RC2" , 0, 0, 0, 0, "1.0RC2" );
+ checkVersionParsing( "1.1.2.beta1", 1, 1, 2, 0, "beta1" );
+ checkVersionParsing( "1.7.3.beta1", 1, 7, 3, 0, "beta1" );
checkVersionParsing( "1.7.3.0" , 0, 0, 0, 0, "1.7.3.0" );
checkVersionParsing( "1.7.3.0-1" , 0, 0, 0, 0, "1.7.3.0-1" );
checkVersionParsing( "PATCH-1193602" , 0, 0, 0, 0, "PATCH-1193602" );
@@ -97,6 +99,10 @@ public class DefaultArtifactVersionTest
assertVersionOlder( "1.0.0", "1.1" );
assertVersionOlder( "1.1", "1.2.0" );
+ assertVersionOlder( "1.1.2.alpha1", "1.1.2" );
+ assertVersionOlder( "1.1.2.alpha1", "1.1.2.beta1" );
+ assertVersionOlder( "1.1.2.beta1", "1.2" );
+
assertVersionOlder( "1.0-alpha-1", "1.0" );
assertVersionOlder( "1.0-alpha-1", "1.0-alpha-2" );
assertVersionOlder( "1.0-alpha-2", "1.0-alpha-15" );