Author: jvanzyl
Date: Fri Mar 20 22:38:14 2009
New Revision: 756791
URL: http://svn.apache.org/viewvc?rev=756791&view=rev
Log:
MRELEASE-429: Add a simple check so that the release plugin will deal with any
token that prefixes a snapshot.
Submitted by: Chris Maki
Modified:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/versions/DefaultVersionInfo.java
Modified:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/versions/DefaultVersionInfo.java
URL:
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/versions/DefaultVersionInfo.java?rev=756791&r1=756790&r2=756791&view=diff
==============================================================================
---
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/versions/DefaultVersionInfo.java
(original)
+++
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/versions/DefaultVersionInfo.java
Fri Mar 20 22:38:14 2009
@@ -92,7 +92,7 @@
private static final String DIGIT_SEPARATOR_STRING = ".";
- private static final Pattern STANDARD_PATTERN = Pattern.compile(
+ public static final Pattern STANDARD_PATTERN = Pattern.compile(
"^((?:\\d+\\.)*\\d+)" + // digit(s) and '.' repeated - followed
by digit (version digits 1.22.0, etc)
"([-_])?" + // optional - or _ (annotation
separator)
"([a-zA-Z]*)" + // alpha characters (looking for
annotation - alpha, beta, RC, etc.)
@@ -100,6 +100,18 @@
"(\\d*)" + // digits (any digits after rc or
beta is an annotation revision)
"(?:([-_])?(.*?))?$" ); // - or _ followed everything else
(build specifier)
+ /* *
+ * cmaki 02242009
+ * FIX for non-digit release numbers, e.g. trunk-SNAPSHOT or just SNAPSHOT
+ * This alternate pattern supports version numbers like:
+ * trunk-SNAPSHOT
+ * branchName-SNAPSHOT
+ * SNAPSHOT
+ */
+ public static final Pattern ALTERNATE_PATTERN = Pattern.compile(
+ "^(SNAPSHOT|[a-zA-Z]+[_-]SNAPSHOT)" // for SNAPSHOT releases only
(possible versions include: trunk-SNAPSHOT or SNAPSHOT)
+ );
+
/**
* Constructs this object and parses the supplied version string.
*
@@ -110,12 +122,14 @@
{
strVersion = version;
+ // FIX for non-digit release numbers, e.g. trunk-SNAPSHOT or just
SNAPSHOT
+ Matcher matcher = ALTERNATE_PATTERN.matcher( strVersion );
// TODO: hack because it didn't support "SNAPSHOT"
- if ( "SNAPSHOT".equals( version ) )
+ if (matcher.matches())
{
annotation = null;
digits = null;
- buildSpecifier = "SNAPSHOT";
+ buildSpecifier = version;
buildSeparator = null;
return;
}