You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2018/01/10 13:20:39 UTC

cayenne git commit: Correct check for java version in Gradle tests

Repository: cayenne
Updated Branches:
  refs/heads/master d02a88842 -> e34fc180a


Correct check for java version in Gradle tests


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/e34fc180
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/e34fc180
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/e34fc180

Branch: refs/heads/master
Commit: e34fc180a19fcc1d96820b4d7771e2fadb2242f7
Parents: d02a888
Author: Nikita Timofeev <st...@gmail.com>
Authored: Wed Jan 10 16:20:24 2018 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Wed Jan 10 16:20:24 2018 +0300

----------------------------------------------------------------------
 .../apache/cayenne/tools/GradlePluginIT.java    | 40 ++++++++++++++++++--
 1 file changed, 37 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/e34fc180/cayenne-gradle-plugin/src/test/java/org/apache/cayenne/tools/GradlePluginIT.java
----------------------------------------------------------------------
diff --git a/cayenne-gradle-plugin/src/test/java/org/apache/cayenne/tools/GradlePluginIT.java b/cayenne-gradle-plugin/src/test/java/org/apache/cayenne/tools/GradlePluginIT.java
index 49da4ce..6b9cbd7 100644
--- a/cayenne-gradle-plugin/src/test/java/org/apache/cayenne/tools/GradlePluginIT.java
+++ b/cayenne-gradle-plugin/src/test/java/org/apache/cayenne/tools/GradlePluginIT.java
@@ -26,6 +26,7 @@ import java.net.URLDecoder;
 import java.util.ArrayList;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 public class GradlePluginIT extends BaseTaskIT {
@@ -54,10 +55,10 @@ public class GradlePluginIT extends BaseTaskIT {
         String[] versions;
 
         // Old gradle versions will fail on Java 9
-        if (System.getProperty("java.version").startsWith("9")) {
-            versions = new String[]{"4.3.1", "4.3"};
-        } else {
+        if (getJavaMajorVersion(System.getProperty("java.version")) < 9) {
             versions = new String[]{"4.3", "4.0", "3.5", "3.3", "3.0", "2.12", "2.8"};
+        } else {
+            versions = new String[]{"4.3.1", "4.3"};
         }
 
         List<String> failedVersions = new ArrayList<>();
@@ -76,4 +77,37 @@ public class GradlePluginIT extends BaseTaskIT {
         }
         assertTrue(versionString.toString(), failedVersions.isEmpty());
     }
+
+    @Test
+    public void testVersion() {
+        assertEquals(7, getJavaMajorVersion("1.7.0_25-b15"));
+        assertEquals(7, getJavaMajorVersion("1.7.2+123"));
+        assertEquals(8, getJavaMajorVersion("1.8.145"));
+        assertEquals(9, getJavaMajorVersion("9-ea+19"));
+        assertEquals(9, getJavaMajorVersion("9+100"));
+        assertEquals(9, getJavaMajorVersion("9"));
+        assertEquals(9, getJavaMajorVersion("9.0.1"));
+        assertEquals(10, getJavaMajorVersion("10-ea+38"));
+    }
+
+    // will fail on Java 1.1 or earlier :)
+    private static int getJavaMajorVersion(String versionString) {
+        int index = 0, prevIndex = 0, version = 0;
+        if((index = versionString.indexOf("-")) >= 0) {
+            versionString = versionString.substring(0, index);
+        }
+        if((index = versionString.indexOf("+")) >= 0) {
+            versionString = versionString.substring(0, index);
+        }
+
+        while(version < 2) {
+            index = versionString.indexOf(".", prevIndex);
+            if(index == -1) {
+                index = versionString.length();
+            }
+            version = Integer.parseInt(versionString.substring(prevIndex, index));
+            prevIndex = index + 1;
+        }
+        return version;
+    }
 }