Bläddra i källkod

ZOOKEEPER-1598. Ability to support more digits in the version string (Raja Aluri via phunt)

git-svn-id: https://svn.apache.org/repos/asf/zookeeper/trunk@1420547 13f79535-47bb-0310-9956-ffa450edef68
Patrick D. Hunt 12 år sedan
förälder
incheckning
4ed40f05a6

+ 3 - 0
CHANGES.txt

@@ -416,6 +416,9 @@ IMPROVEMENTS:
   ZOOKEEPER-1564. Allow JUnit test build with IBM Java
   ZOOKEEPER-1564. Allow JUnit test build with IBM Java
     (Paulo Ricardo Paz Vital via phunt)
     (Paulo Ricardo Paz Vital via phunt)
 
 
+  ZOOKEEPER-1598. Ability to support more digits in the version string
+  (Raja Aluri via phunt)
+
 
 
 Release 3.4.0 - 
 Release 3.4.0 - 
 
 

+ 4 - 4
src/java/main/org/apache/zookeeper/version/util/VerGen.java

@@ -112,11 +112,11 @@ public class VerGen {
         public int micro;
         public int micro;
         public String qualifier;
         public String qualifier;
     }
     }
-    
+
     public static Version parseVersionString(String input) {
     public static Version parseVersionString(String input) {
         Version result = new Version();
         Version result = new Version();
 
 
-        Pattern p = Pattern.compile("^(\\d+).(\\d+).(\\d+)(-(.+))?$");
+        Pattern p = Pattern.compile("^(\\d+)\\.(\\d+)\\.(\\d+)((\\.\\d+)*)(-(.+))?$");
         Matcher m = p.matcher(input);
         Matcher m = p.matcher(input);
 
 
         if (!m.matches()) {
         if (!m.matches()) {
@@ -125,8 +125,8 @@ public class VerGen {
         result.maj = Integer.parseInt(m.group(1));
         result.maj = Integer.parseInt(m.group(1));
         result.min = Integer.parseInt(m.group(2));
         result.min = Integer.parseInt(m.group(2));
         result.micro = Integer.parseInt(m.group(3));
         result.micro = Integer.parseInt(m.group(3));
-        if (m.groupCount() == 5) {
-            result.qualifier = m.group(5);
+        if (m.groupCount() == 7) {
+            result.qualifier = m.group(7);
         } else {
         } else {
             result.qualifier = null;
             result.qualifier = null;
         }
         }

+ 4 - 1
src/java/test/org/apache/zookeeper/VerGenTest.java

@@ -43,7 +43,10 @@ public class VerGenTest extends ZKTestCase {
                             {"1.2.3", new Object[] {1, 2, 3, null}},
                             {"1.2.3", new Object[] {1, 2, 3, null}},
                             {"1.2.3-dev", new Object[] {1, 2, 3, "dev"}},
                             {"1.2.3-dev", new Object[] {1, 2, 3, "dev"}},
                             {"1.2.3-SNAPSHOT", new Object[] {1, 2, 3, "SNAPSHOT"}},
                             {"1.2.3-SNAPSHOT", new Object[] {1, 2, 3, "SNAPSHOT"}},
-                            {"1.2.3-foo-bar+123", new Object[] {1, 2, 3, "foo-bar+123"}}
+                            {"1.2.3-SNAPSHOT", new Object[] {1, 2, 3, "SNAPSHOT"}},
+                            {"1.2.3-foo-bar+123", new Object[] {1, 2, 3, "foo-bar+123"}},
+                            {"1.2.3.4.5-SNAPSHOT", new Object[] {1, 2, 3, "SNAPSHOT"}},
+                            {"1.2.3.4.5-foo-bar+123", new Object[] {1, 2, 3, "foo-bar+123"}}
             });
             });
     }
     }