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;
         }


Reply via email to