This is an automated email from the ASF dual-hosted git repository.

britter pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git


The following commit(s) were added to refs/heads/master by this push:
     new 6e797a4  LANG-1443: Add more SystemUtils.IS_JAVA_XX variants (#415)
6e797a4 is described below

commit 6e797a40a7fb7d0e5abf555c0d179dd3937bdecb
Author: Benedikt Ritter <benerit...@gmail.com>
AuthorDate: Fri Apr 5 18:33:35 2019 +0200

    LANG-1443: Add more SystemUtils.IS_JAVA_XX variants (#415)
---
 src/changes/changes.xml                            |   3 +-
 .../java/org/apache/commons/lang3/JavaVersion.java |  18 ++++
 .../java/org/apache/commons/lang3/SystemUtils.java |  24 +++++
 .../org/apache/commons/lang3/JavaVersionTest.java  |  19 ++--
 .../org/apache/commons/lang3/SystemUtilsTest.java  | 114 +++++++++++++++++++++
 5 files changed, 170 insertions(+), 8 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index ed0a635..fa8864e 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -46,7 +46,8 @@ The <action> type attribute can be add,update,fix,remove.
   <body>
 
   <release version="3.9" date="????-??-??" description="??">
-    <action type="add" dev="jochen">Adding the Functions class.</action>
+    <action issue="LANG-1416" type="update" dev="britter">Add more 
SystemUtils.IS_JAVA_XX variants.</action>
+    <action                   type="add" dev="jochen">Adding the Functions 
class.</action>
     <action issue="LANG-1416" type="update" dev="britter">Update to JUnit 
5</action>
     <action issue="LANG-1417" type="update" dev="britter">Add 
@FunctionalInterface to ThreadPredicate and ThreadGroupPredicate</action>
     <action issue="LANG-1415" type="update" dev="britter">Update Java Language 
requirement to 1.8</action>
diff --git a/src/main/java/org/apache/commons/lang3/JavaVersion.java 
b/src/main/java/org/apache/commons/lang3/JavaVersion.java
index aacd3a1..c860519 100644
--- a/src/main/java/org/apache/commons/lang3/JavaVersion.java
+++ b/src/main/java/org/apache/commons/lang3/JavaVersion.java
@@ -102,6 +102,20 @@ public enum JavaVersion {
     JAVA_11(11.0f, "11"),
 
     /**
+     * Java 12
+     *
+     * @since 3.9
+     */
+    JAVA_12(12.0f, "12"),
+
+    /**
+     * Java 13
+     *
+     * @since 3.9
+     */
+    JAVA_13(13.0f, "13"),
+
+    /**
      * The most recent java version. Mainly introduced to avoid to break when 
a new version of Java is used.
      */
     JAVA_RECENT(maxVersion(), Float.toString(maxVersion()));
@@ -204,6 +218,10 @@ public enum JavaVersion {
             return JAVA_10;
         } else if ("11".equals(nom)) {
             return JAVA_11;
+        } else if ("12".equals(nom)) {
+            return JAVA_12;
+        } else if ("13".equals(nom)) {
+            return JAVA_13;
         }
         if (nom == null) {
             return null;
diff --git a/src/main/java/org/apache/commons/lang3/SystemUtils.java 
b/src/main/java/org/apache/commons/lang3/SystemUtils.java
index cc51f11..f5085cf 100644
--- a/src/main/java/org/apache/commons/lang3/SystemUtils.java
+++ b/src/main/java/org/apache/commons/lang3/SystemUtils.java
@@ -997,6 +997,30 @@ public class SystemUtils {
      */
     public static final boolean IS_JAVA_11 = getJavaVersionMatches("11");
 
+    /**
+     * <p>
+     * Is {@code true} if this is Java version 12 (also 12.x versions).
+     * </p>
+     * <p>
+     * The field will return {@code false} if {@link #JAVA_VERSION} is {@code 
null}.
+     * </p>
+     *
+     * @since 3.9
+     */
+    public static final boolean IS_JAVA_12 = getJavaVersionMatches("12");
+
+    /**
+     * <p>
+     * Is {@code true} if this is Java version 13 (also 13.x versions).
+     * </p>
+     * <p>
+     * The field will return {@code false} if {@link #JAVA_VERSION} is {@code 
null}.
+     * </p>
+     *
+     * @since 3.9
+     */
+    public static final boolean IS_JAVA_13 = getJavaVersionMatches("13");
+
     // Operating system checks
     // -----------------------------------------------------------------------
     // These MUST be declared after those above as they depend on the
diff --git a/src/test/java/org/apache/commons/lang3/JavaVersionTest.java 
b/src/test/java/org/apache/commons/lang3/JavaVersionTest.java
index 2bbb3c6..64d8f82 100644
--- a/src/test/java/org/apache/commons/lang3/JavaVersionTest.java
+++ b/src/test/java/org/apache/commons/lang3/JavaVersionTest.java
@@ -20,11 +20,11 @@ package org.apache.commons.lang3;
 
 import org.junit.jupiter.api.Test;
 
-import static org.apache.commons.lang3.JavaVersion.JAVA_RECENT;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.apache.commons.lang3.JavaVersion.JAVA_0_9;
+import static org.apache.commons.lang3.JavaVersion.JAVA_10;
+import static org.apache.commons.lang3.JavaVersion.JAVA_11;
+import static org.apache.commons.lang3.JavaVersion.JAVA_12;
+import static org.apache.commons.lang3.JavaVersion.JAVA_13;
 import static org.apache.commons.lang3.JavaVersion.JAVA_1_1;
 import static org.apache.commons.lang3.JavaVersion.JAVA_1_2;
 import static org.apache.commons.lang3.JavaVersion.JAVA_1_3;
@@ -34,9 +34,12 @@ import static org.apache.commons.lang3.JavaVersion.JAVA_1_6;
 import static org.apache.commons.lang3.JavaVersion.JAVA_1_7;
 import static org.apache.commons.lang3.JavaVersion.JAVA_1_8;
 import static org.apache.commons.lang3.JavaVersion.JAVA_9;
-import static org.apache.commons.lang3.JavaVersion.JAVA_10;
+import static org.apache.commons.lang3.JavaVersion.JAVA_RECENT;
 import static org.apache.commons.lang3.JavaVersion.get;
 import static org.apache.commons.lang3.JavaVersion.getJavaVersion;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Unit tests {@link org.apache.commons.lang3.JavaVersion}.
@@ -56,11 +59,13 @@ public class JavaVersionTest {
         assertEquals(JAVA_1_8, get("1.8"), "1.8 failed");
         assertEquals(JAVA_9, get("9"), "9 failed");
         assertEquals(JAVA_10, get("10"), "10 failed");
-        assertEquals(JavaVersion.JAVA_11, get("11"), "11 failed");
+        assertEquals(JAVA_11, get("11"), "11 failed");
+        assertEquals(JAVA_12, get("12"), "12 failed");
+        assertEquals(JAVA_13, get("13"), "13 failed");
         assertEquals(JAVA_RECENT, get("1.10"), "1.10 failed");
         // assertNull("2.10 unexpectedly worked", get("2.10"));
         assertEquals(get("1.5"), getJavaVersion("1.5"), "Wrapper method 
failed");
-        assertEquals(JAVA_RECENT, get("12"), "Unhandled"); // LANG-1384
+        assertEquals(JAVA_RECENT, get("14"), "Unhandled"); // LANG-1384
     }
 
     @Test
diff --git a/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java 
b/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java
index 53b46b3..d050532 100644
--- a/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java
+++ b/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java
@@ -30,6 +30,8 @@ import static org.apache.commons.lang3.JavaVersion.JAVA_1_8;
 import static org.apache.commons.lang3.JavaVersion.JAVA_9;
 import static org.apache.commons.lang3.JavaVersion.JAVA_10;
 import static org.apache.commons.lang3.JavaVersion.JAVA_11;
+import static org.apache.commons.lang3.JavaVersion.JAVA_12;
+import static org.apache.commons.lang3.JavaVersion.JAVA_13;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -141,6 +143,8 @@ public class SystemUtilsTest {
             assertFalse(SystemUtils.IS_JAVA_9);
             assertFalse(SystemUtils.IS_JAVA_10);
             assertFalse(SystemUtils.IS_JAVA_11);
+            assertFalse(SystemUtils.IS_JAVA_12);
+            assertFalse(SystemUtils.IS_JAVA_13);
         } else if (javaVersion.startsWith("1.8")) {
             assertFalse(SystemUtils.IS_JAVA_1_1);
             assertFalse(SystemUtils.IS_JAVA_1_2);
@@ -154,6 +158,8 @@ public class SystemUtilsTest {
             assertFalse(SystemUtils.IS_JAVA_9);
             assertFalse(SystemUtils.IS_JAVA_10);
             assertFalse(SystemUtils.IS_JAVA_11);
+            assertFalse(SystemUtils.IS_JAVA_12);
+            assertFalse(SystemUtils.IS_JAVA_13);
         } else if (javaVersion.startsWith("9")) {
             assertFalse(SystemUtils.IS_JAVA_1_1);
             assertFalse(SystemUtils.IS_JAVA_1_2);
@@ -167,6 +173,8 @@ public class SystemUtilsTest {
             assertTrue(SystemUtils.IS_JAVA_9);
             assertFalse(SystemUtils.IS_JAVA_10);
             assertFalse(SystemUtils.IS_JAVA_11);
+            assertFalse(SystemUtils.IS_JAVA_12);
+            assertFalse(SystemUtils.IS_JAVA_13);
         } else if (javaVersion.startsWith("10")) {
             assertFalse(SystemUtils.IS_JAVA_1_1);
             assertFalse(SystemUtils.IS_JAVA_1_2);
@@ -180,6 +188,8 @@ public class SystemUtilsTest {
             assertFalse(SystemUtils.IS_JAVA_9);
             assertTrue(SystemUtils.IS_JAVA_10);
             assertFalse(SystemUtils.IS_JAVA_11);
+            assertFalse(SystemUtils.IS_JAVA_12);
+            assertFalse(SystemUtils.IS_JAVA_13);
         } else if (javaVersion.startsWith("11")) {
             assertFalse(SystemUtils.IS_JAVA_1_1);
             assertFalse(SystemUtils.IS_JAVA_1_2);
@@ -193,6 +203,38 @@ public class SystemUtilsTest {
             assertFalse(SystemUtils.IS_JAVA_9);
             assertFalse(SystemUtils.IS_JAVA_10);
             assertTrue(SystemUtils.IS_JAVA_11);
+            assertFalse(SystemUtils.IS_JAVA_12);
+            assertFalse(SystemUtils.IS_JAVA_13);
+        } else if (javaVersion.startsWith("12")) {
+            assertFalse(SystemUtils.IS_JAVA_1_1);
+            assertFalse(SystemUtils.IS_JAVA_1_2);
+            assertFalse(SystemUtils.IS_JAVA_1_3);
+            assertFalse(SystemUtils.IS_JAVA_1_4);
+            assertFalse(SystemUtils.IS_JAVA_1_5);
+            assertFalse(SystemUtils.IS_JAVA_1_6);
+            assertFalse(SystemUtils.IS_JAVA_1_7);
+            assertFalse(SystemUtils.IS_JAVA_1_8);
+            assertFalse(SystemUtils.IS_JAVA_1_9);
+            assertFalse(SystemUtils.IS_JAVA_9);
+            assertFalse(SystemUtils.IS_JAVA_10);
+            assertFalse(SystemUtils.IS_JAVA_11);
+            assertTrue(SystemUtils.IS_JAVA_12);
+            assertFalse(SystemUtils.IS_JAVA_13);
+        } else if (javaVersion.startsWith("13")) {
+            assertFalse(SystemUtils.IS_JAVA_1_1);
+            assertFalse(SystemUtils.IS_JAVA_1_2);
+            assertFalse(SystemUtils.IS_JAVA_1_3);
+            assertFalse(SystemUtils.IS_JAVA_1_4);
+            assertFalse(SystemUtils.IS_JAVA_1_5);
+            assertFalse(SystemUtils.IS_JAVA_1_6);
+            assertFalse(SystemUtils.IS_JAVA_1_7);
+            assertFalse(SystemUtils.IS_JAVA_1_8);
+            assertFalse(SystemUtils.IS_JAVA_1_9);
+            assertFalse(SystemUtils.IS_JAVA_9);
+            assertFalse(SystemUtils.IS_JAVA_10);
+            assertFalse(SystemUtils.IS_JAVA_11);
+            assertFalse(SystemUtils.IS_JAVA_12);
+            assertTrue(SystemUtils.IS_JAVA_13);
         } else {
             System.out.println("Can't test IS_JAVA value: " + javaVersion);
         }
@@ -433,6 +475,8 @@ public class SystemUtilsTest {
             assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_9));
             assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_10));
             assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_11));
+            assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_12));
+            assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_13));
         } else if (SystemUtils.IS_JAVA_9) {
             assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_1));
             assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_2));
@@ -445,6 +489,8 @@ public class SystemUtilsTest {
             assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_9));
             assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_10));
             assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_11));
+            assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_12));
+            assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_13));
         } else if (SystemUtils.IS_JAVA_10) {
             assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_1));
             assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_2));
@@ -457,6 +503,8 @@ public class SystemUtilsTest {
             assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_9));
             assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_10));
             assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_11));
+            assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_12));
+            assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_13));
         } else if (SystemUtils.IS_JAVA_11) {
             assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_1));
             assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_2));
@@ -469,6 +517,36 @@ public class SystemUtilsTest {
             assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_9));
             assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_10));
             assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_11));
+            assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_12));
+            assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_13));
+        } else if (SystemUtils.IS_JAVA_12) {
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_1));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_2));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_3));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_4));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_5));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_6));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_7));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_8));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_9));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_10));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_11));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_12));
+            assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_13));
+        } else if (SystemUtils.IS_JAVA_13) {
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_1));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_2));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_3));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_4));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_5));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_6));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_7));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_8));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_9));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_10));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_11));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_12));
+            assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_13));
         }
     }
 
@@ -486,6 +564,8 @@ public class SystemUtilsTest {
             assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_9));
             assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_10));
             assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_11));
+            assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_12));
+            assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_13));
         } else if (SystemUtils.IS_JAVA_9) {
             assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_1));
             assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_2));
@@ -498,6 +578,8 @@ public class SystemUtilsTest {
             assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_9));
             assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_10));
             assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_11));
+            assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_12));
+            assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_13));
         } else if (SystemUtils.IS_JAVA_10) {
             assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_1));
             assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_2));
@@ -510,6 +592,8 @@ public class SystemUtilsTest {
             assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_9));
             assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_10));
             assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_11));
+            assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_12));
+            assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_13));
         } else if (SystemUtils.IS_JAVA_11) {
             assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_1));
             assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_2));
@@ -522,6 +606,36 @@ public class SystemUtilsTest {
             assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_9));
             assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_10));
             assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_11));
+            assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_12));
+            assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_13));
+        } else if (SystemUtils.IS_JAVA_12) {
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_1));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_2));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_3));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_4));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_5));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_6));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_7));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_8));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_9));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_10));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_11));
+            assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_12));
+            assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_13));
+        } else if (SystemUtils.IS_JAVA_13) {
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_1));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_2));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_3));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_4));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_5));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_6));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_7));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_8));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_9));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_10));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_11));
+            assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_12));
+            assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_13));
         }
     }
 

Reply via email to