You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by rw...@apache.org on 2017/12/12 16:19:34 UTC

svn commit: r1817927 - in /pivot/trunk/core: src/org/apache/pivot/util/Version.java test/org/apache/pivot/util/test/VersionTest.java

Author: rwhitcomb
Date: Tue Dec 12 16:19:34 2017
New Revision: 1817927

URL: http://svn.apache.org/viewvc?rev=1817927&view=rev
Log:
PIVOT-1016: Introduce minimal version parsing changes so that at least
the current Java 9 version string will parse without errors.  The
Version.toString() won't recover the initial string correctly, although
all the information parsed is available.

Add a simple test for the current Java 9 version string.

Modified:
    pivot/trunk/core/src/org/apache/pivot/util/Version.java
    pivot/trunk/core/test/org/apache/pivot/util/test/VersionTest.java

Modified: pivot/trunk/core/src/org/apache/pivot/util/Version.java
URL: http://svn.apache.org/viewvc/pivot/trunk/core/src/org/apache/pivot/util/Version.java?rev=1817927&r1=1817926&r2=1817927&view=diff
==============================================================================
--- pivot/trunk/core/src/org/apache/pivot/util/Version.java (original)
+++ pivot/trunk/core/src/org/apache/pivot/util/Version.java Tue Dec 12 16:19:34 2017
@@ -115,11 +115,15 @@ public class Version implements Comparab
 
         String revision;
         // Some "version" strings separate fields with a space
+        // While Java 9 uses a new scheme where "build" uses a "+"
         int i = string.indexOf(" ");
         if (i == -1) {
             i = string.indexOf("-");
         }
         if (i == -1) {
+            i = string.indexOf("+");
+        }
+        if (i == -1) {
             revision = string;
         } else {
             revision = string.substring(0, i);
@@ -135,7 +139,7 @@ public class Version implements Comparab
                 minorRevision = Short.parseShort(revisionNumbers[1]);
 
                 if (revisionNumbers.length > 2) {
-                    String[] maintenanceRevisionNumbers = revisionNumbers[2].split("_");
+                    String[] maintenanceRevisionNumbers = revisionNumbers[2].split("[_\\-]");
 
                     if (maintenanceRevisionNumbers.length > 0) {
                         maintenanceRevision = Short.parseShort(maintenanceRevisionNumbers[0]);

Modified: pivot/trunk/core/test/org/apache/pivot/util/test/VersionTest.java
URL: http://svn.apache.org/viewvc/pivot/trunk/core/test/org/apache/pivot/util/test/VersionTest.java?rev=1817927&r1=1817926&r2=1817927&view=diff
==============================================================================
--- pivot/trunk/core/test/org/apache/pivot/util/test/VersionTest.java (original)
+++ pivot/trunk/core/test/org/apache/pivot/util/test/VersionTest.java Tue Dec 12 16:19:34 2017
@@ -64,6 +64,13 @@ public class VersionTest {
         Version v1_0 = new Version(1, 0, 0, 0);
         assertEquals("version 0 decode", v0, v1_0);
         assertEquals("version 0 to string", v1_0.toString(), s1_0_0);
+
+        // New Java 9 version number scheme
+        String j9 = "9.0.1+11";
+        Version vj9 = Version.decode(j9);
+        Version vj9_0 = new Version(9, 0, 1, 0);
+        assertEquals("Java version 9 decode", vj9, vj9_0);
+        assertEquals("Java version 9 to string", vj9.toString(), "9.0.1_00-11");
     }
 
     @Test