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 <stari...@gmail.com> Authored: Wed Jan 10 16:20:24 2018 +0300 Committer: Nikita Timofeev <stari...@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; + } }