This is an automated email from the git hooks/post-receive script. tmancill pushed a commit to branch experimental in repository gradle.
commit 7526914e153231c4f1651e48335691b061e4c192 Author: tony mancill <[email protected]> Date: Sat Mar 24 16:39:10 2018 -0700 apply Tiago's patches to build with Java 9 (see Debian bug #873227) --- debian/changelog | 9 ++ ...dd-test-case-for-10-internal_c1fe5e40a76b.patch | 21 +++ .../patches/cast-estimated-runtime-to-long.patch | 22 +++ debian/patches/series | 4 + ...ort-running-gradle-on-jdk-10-500485df3a18.patch | 173 +++++++++++++++++++++ ...support-zulu9-version-number_d9c35cf9d74c.patch | 68 ++++++++ 6 files changed, 297 insertions(+) diff --git a/debian/changelog b/debian/changelog index 4581422..da0c424 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,18 @@ gradle (3.4.1-3) UNRELEASED; urgency=medium + [ Emmanuel Bourg ] * Team upload. * Removed the build dependency on libwagon2-java * Standards-Version updated to 4.1.2 + [ Tiago Daitx ] + * d/p/cast-estimated-runtime-to-long.patch: fix FTBFS due to missing cast. + (Closes: #893487) + * d/p/support-running-gradle-on-jdk-10-500485df3a18.patch, + d/p/add-test-case-for-10-internal_c1fe5e40a76b.patch, + d/p/support-zulu9-version-number_d9c35cf9d74c.patch: prevent failures when + building projects with openjdk 9. + -- Emmanuel Bourg <[email protected]> Mon, 11 Dec 2017 16:02:51 +0100 gradle (3.4.1-2) experimental; urgency=medium diff --git a/debian/patches/add-test-case-for-10-internal_c1fe5e40a76b.patch b/debian/patches/add-test-case-for-10-internal_c1fe5e40a76b.patch new file mode 100644 index 0000000..0a24d2d --- /dev/null +++ b/debian/patches/add-test-case-for-10-internal_c1fe5e40a76b.patch @@ -0,0 +1,21 @@ +From c1fe5e40a76b79a98e8916c2ce3b4e1e6ed3f343 Mon Sep 17 00:00:00 2001 +From: Cedric Champeau <[email protected]> +Date: Thu, 13 Jul 2017 16:16:46 +0200 +Subject: [PATCH] Add test case for `10-internal` + +--- + .../base-services/src/test/groovy/org/gradle/api/JavaVersionSpec.groovy | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/subprojects/base-services/src/test/groovy/org/gradle/api/JavaVersionSpec.groovy b/subprojects/base-services/src/test/groovy/org/gradle/api/JavaVersionSpec.groovy +index 75459ed3f06..fbb243ba992 100644 +--- a/subprojects/base-services/src/test/groovy/org/gradle/api/JavaVersionSpec.groovy ++++ b/subprojects/base-services/src/test/groovy/org/gradle/api/JavaVersionSpec.groovy +@@ -65,6 +65,7 @@ public class JavaVersionSpec extends Specification { + JavaVersion.toVersion("9-ea") == JavaVersion.VERSION_1_9 + + JavaVersion.toVersion("10-ea") == JavaVersion.VERSION_1_10 ++ JavaVersion.toVersion("10-internal") == JavaVersion.VERSION_1_10 + } + + def convertClassVersionToJavaVersion() { diff --git a/debian/patches/cast-estimated-runtime-to-long.patch b/debian/patches/cast-estimated-runtime-to-long.patch new file mode 100644 index 0000000..405e2cc --- /dev/null +++ b/debian/patches/cast-estimated-runtime-to-long.patch @@ -0,0 +1,22 @@ +Description: gradle 3.4.1 FTBFS with a missing cast to long + estimatedRuntime must be cast to long otherwise gradle 3.4.1 FTBFS with + buildSrc/src/main/groovy/org/gradle/testing/DistributedPerformanceTest.groovy: + 134: [Static type checking] - Cannot assign value of type java.math.BigDecimal + to variable of type long. +Author: Tiago Stürmer Daitx <[email protected]> +Bug-Debian: https://bugs.debian.org/893487 +Forwarded: no +Last-Update: 2018-03-19 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/buildSrc/src/main/groovy/org/gradle/testing/DistributedPerformanceTest.groovy ++++ b/buildSrc/src/main/groovy/org/gradle/testing/DistributedPerformanceTest.groovy +@@ -131,7 +131,7 @@ class DistributedPerformanceTest extends + def scenarios = scenarioList.readLines() + .collect { line -> + def parts = Splitter.on(';').split(line).toList() +- new Scenario(id : parts[0], estimatedRuntime: new BigDecimal(parts[1]), templates: parts.subList(2, parts.size())) ++ new Scenario(id : parts[0], estimatedRuntime: new BigDecimal(parts[1]) as long, templates: parts.subList(2, parts.size())) + } + .sort{ -it.estimatedRuntime } + diff --git a/debian/patches/series b/debian/patches/series index ed8cc6f..e93162e 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -23,3 +23,7 @@ remove-timestamps.patch use-local-artifacts.patch jansi.patch commons-io.patch +cast-estimated-runtime-to-long.patch +support-running-gradle-on-jdk-10-500485df3a18.patch +add-test-case-for-10-internal_c1fe5e40a76b.patch +support-zulu9-version-number_d9c35cf9d74c.patch diff --git a/debian/patches/support-running-gradle-on-jdk-10-500485df3a18.patch b/debian/patches/support-running-gradle-on-jdk-10-500485df3a18.patch new file mode 100644 index 0000000..3683e2f --- /dev/null +++ b/debian/patches/support-running-gradle-on-jdk-10-500485df3a18.patch @@ -0,0 +1,173 @@ +From 500485df3a1898d4637bfa42b73e356941b4af91 Mon Sep 17 00:00:00 2001 +From: Cedric Champeau <[email protected]> +Date: Thu, 13 Jul 2017 10:08:33 +0200 +Subject: [PATCH] Support running Gradle on JDK 10 + +This commit adds support for `JavaVersion.1_10` (yes, this is awkward naming, blame versioning scheme change). +Note that there are 2 different aspects of Java 10 detection: + +1. given a string representation of a version number, return the appropriate `JavaVersion` enum value +2. given the current runtime, return the appropriate `JavaVersion` enum value + +This commit fixes 1, but didn't change anything in the way 2 works. In particular, 2 still uses the `java.version` +property, which is then parsed and we follow the process of 1. However, since Java 9, a new `Runtime#getVersion` +method exists, that we should use instead of relying on parsing the version number returned by `java.version`. +The reason we don't do this yet is that Gradle needs to run on older JDKs, so we cannot statically link to this +method, which involves either the use of reflection or method handles to get a hand on the result of the invocation. +Since the invocation returns a complex object (not just a `String`), we're deferring this work (PRs welcome!). +--- + .../src/main/java/org/gradle/api/JavaVersion.java | 16 ++++++++-- + .../groovy/org/gradle/api/JavaVersionSpec.groovy | 34 ++++++++++++++++++++-- + 2 files changed, 44 insertions(+), 6 deletions(-) + +diff --git a/subprojects/base-services/src/main/java/org/gradle/api/JavaVersion.java b/subprojects/base-services/src/main/java/org/gradle/api/JavaVersion.java +index 3b9a7280c14..4a2195a5b0b 100644 +--- a/subprojects/base-services/src/main/java/org/gradle/api/JavaVersion.java ++++ b/subprojects/base-services/src/main/java/org/gradle/api/JavaVersion.java +@@ -24,7 +24,9 @@ + * An enumeration of Java versions. + */ + public enum JavaVersion { +- VERSION_1_1(false), VERSION_1_2(false), VERSION_1_3(false), VERSION_1_4(false), VERSION_1_5(true), VERSION_1_6(true), VERSION_1_7(true), VERSION_1_8(true), VERSION_1_9(true); ++ VERSION_1_1(false), VERSION_1_2(false), VERSION_1_3(false), VERSION_1_4(false), ++ // starting from here versions are 1_ but their official name is "Java 6", "Java 7", ... ++ VERSION_1_5(true), VERSION_1_6(true), VERSION_1_7(true), VERSION_1_8(true), VERSION_1_9(true), VERSION_1_10(true); + private static JavaVersion currentJavaVersion; + private final boolean hasMajorVersion; + private final String versionName; +@@ -52,7 +54,7 @@ public static JavaVersion toVersion(Object value) throws IllegalArgumentExceptio + } + + String name = value.toString(); +- Matcher matcher = Pattern.compile("(\\d)(-.+)?").matcher(name); ++ Matcher matcher = Pattern.compile("(\\d{1,2})(-.+)?").matcher(name); + if (matcher.matches()) { + int index = Integer.parseInt(matcher.group(1)) - 1; + if (index < values().length && values()[index].hasMajorVersion) { +@@ -60,7 +62,7 @@ public static JavaVersion toVersion(Object value) throws IllegalArgumentExceptio + } + } + +- matcher = Pattern.compile("1\\.(\\d)(\\D.+)?").matcher(name); ++ matcher = Pattern.compile("1\\.(\\d{1,2})(\\D.+)?").matcher(name); + if (matcher.matches()) { + int versionIdx = Integer.parseInt(matcher.group(1)) - 1; + if (versionIdx >= 0 && versionIdx < values().length) { +@@ -122,6 +124,10 @@ private boolean isJava9() { + return this == VERSION_1_9; + } + ++ private boolean isJava10() { ++ return this == VERSION_1_10; ++ } ++ + public boolean isJava5Compatible() { + return this.compareTo(VERSION_1_5) >= 0; + } +@@ -142,6 +148,10 @@ public boolean isJava9Compatible() { + return this.compareTo(VERSION_1_9) >= 0; + } + ++ public boolean isJava10Compatible() { ++ return this.compareTo(VERSION_1_10) >= 0; ++ } ++ + @Override + public String toString() { + return getName(); +diff --git a/subprojects/base-services/src/test/groovy/org/gradle/api/JavaVersionSpec.groovy b/subprojects/base-services/src/test/groovy/org/gradle/api/JavaVersionSpec.groovy +index fab8be67274..75459ed3f06 100644 +--- a/subprojects/base-services/src/test/groovy/org/gradle/api/JavaVersionSpec.groovy ++++ b/subprojects/base-services/src/test/groovy/org/gradle/api/JavaVersionSpec.groovy +@@ -41,6 +41,7 @@ public class JavaVersionSpec extends Specification { + JavaVersion.VERSION_1_7.toString() == "1.7" + JavaVersion.VERSION_1_8.toString() == "1.8" + JavaVersion.VERSION_1_9.toString() == "1.9" ++ JavaVersion.VERSION_1_10.toString() == "1.10" + } + + def convertsStringToVersion() { +@@ -57,10 +58,13 @@ public class JavaVersionSpec extends Specification { + JavaVersion.toVersion("7") == JavaVersion.VERSION_1_7 + JavaVersion.toVersion("8") == JavaVersion.VERSION_1_8 + JavaVersion.toVersion("9") == JavaVersion.VERSION_1_9 ++ JavaVersion.toVersion("10") == JavaVersion.VERSION_1_10 + + JavaVersion.toVersion("1.9.0-internal") == JavaVersion.VERSION_1_9 + JavaVersion.toVersion("1.9.0-ea") == JavaVersion.VERSION_1_9 + JavaVersion.toVersion("9-ea") == JavaVersion.VERSION_1_9 ++ ++ JavaVersion.toVersion("10-ea") == JavaVersion.VERSION_1_10 + } + + def convertClassVersionToJavaVersion() { +@@ -74,6 +78,7 @@ public class JavaVersionSpec extends Specification { + JavaVersion.forClassVersion(51) == JavaVersion.VERSION_1_7 + JavaVersion.forClassVersion(52) == JavaVersion.VERSION_1_8 + JavaVersion.forClassVersion(53) == JavaVersion.VERSION_1_9 ++ JavaVersion.forClassVersion(54) == JavaVersion.VERSION_1_10 + } + + def failsToConvertStringToVersionForUnknownVersion() { +@@ -81,7 +86,6 @@ public class JavaVersionSpec extends Specification { + conversionFails("1"); + conversionFails("2"); + +- conversionFails("10"); + conversionFails("17"); + + conversionFails("a"); +@@ -91,7 +95,6 @@ public class JavaVersionSpec extends Specification { + + conversionFails("0.1"); + conversionFails("1.54"); +- conversionFails("1.10"); + conversionFails("2.0"); + conversionFails("1_4"); + conversionFails("8.1"); +@@ -100,7 +103,7 @@ public class JavaVersionSpec extends Specification { + conversionFails("10.1.2"); + + conversionFails("9-"); +- conversionFails("10-ea"); ++ conversionFails("11-ea"); + } + + def convertsVersionToVersion() { +@@ -118,6 +121,8 @@ public class JavaVersionSpec extends Specification { + JavaVersion.toVersion(1.7) == JavaVersion.VERSION_1_7 + JavaVersion.toVersion(1.8) == JavaVersion.VERSION_1_8 + JavaVersion.toVersion(1.9) == JavaVersion.VERSION_1_9 ++ JavaVersion.toVersion(9) == JavaVersion.VERSION_1_9 ++ JavaVersion.toVersion(10) == JavaVersion.VERSION_1_10 + } + + def failsToConvertNumberToVersionForUnknownVersion() { +@@ -233,4 +238,27 @@ public class JavaVersionSpec extends Specification { + where: + javaVersion << ['1.9', '9-ea'] + } ++ ++ def "uses system property to determine if compatible with Java 10"() { ++ System.properties['java.version'] = javaVersion ++ ++ expect: ++ !JavaVersion.current().java5 ++ !JavaVersion.current().java6 ++ !JavaVersion.current().java7 ++ !JavaVersion.current().java8 ++ !JavaVersion.current().java9 ++ JavaVersion.current().java10 ++ ++ and: ++ JavaVersion.current().java5Compatible ++ JavaVersion.current().java6Compatible ++ JavaVersion.current().java7Compatible ++ JavaVersion.current().java8Compatible ++ JavaVersion.current().java9Compatible ++ JavaVersion.current().java10Compatible ++ ++ where: ++ javaVersion << ['1.10', '10-ea'] ++ } + } diff --git a/debian/patches/support-zulu9-version-number_d9c35cf9d74c.patch b/debian/patches/support-zulu9-version-number_d9c35cf9d74c.patch new file mode 100644 index 0000000..73970a4 --- /dev/null +++ b/debian/patches/support-zulu9-version-number_d9c35cf9d74c.patch @@ -0,0 +1,68 @@ +From d9c35cf9d74c102641fcfe0bb7bf622791a96caf Mon Sep 17 00:00:00 2001 +From: Bo Zhang <[email protected]> +Date: Mon, 25 Sep 2017 04:05:42 -0500 +Subject: [PATCH] Support zulu9 version number(#2992) (#2994) + +https://github.com/gradle/gradle/issues/2992 +zulu JDK 9 introduces version number format '9.0.0.15' which +can't be recognized by Gradle. This fix adjusts the recognition +pattern. +--- + .../base-services/src/main/java/org/gradle/api/JavaVersion.java | 6 +++--- + .../src/test/groovy/org/gradle/api/JavaVersionSpec.groovy | 9 +++++---- + 2 files changed, 8 insertions(+), 7 deletions(-) + +diff --git a/subprojects/base-services/src/main/java/org/gradle/api/JavaVersion.java b/subprojects/base-services/src/main/java/org/gradle/api/JavaVersion.java +index b3219645099..04d8671cd5f 100644 +--- a/subprojects/base-services/src/main/java/org/gradle/api/JavaVersion.java ++++ b/subprojects/base-services/src/main/java/org/gradle/api/JavaVersion.java +@@ -54,10 +54,10 @@ public static JavaVersion toVersion(Object value) throws IllegalArgumentExceptio + } + + String name = value.toString(); +- Matcher matcher = Pattern.compile("(\\d{1,2})(-.+)?").matcher(name); ++ Matcher matcher = Pattern.compile("(\\d{1,2})(\\D.+)?").matcher(name); + if (matcher.matches()) { + int index = Integer.parseInt(matcher.group(1)) - 1; +- if (index < values().length && values()[index].hasMajorVersion) { ++ if (index > 0 && index < values().length && values()[index].hasMajorVersion) { + return values()[index]; + } + } +@@ -98,7 +98,7 @@ public static JavaVersion forClassVersion(int classVersion) { + } + + public static JavaVersion forClass(byte[] classData) { +- if (classData.length<8) { ++ if (classData.length < 8) { + throw new IllegalArgumentException("Invalid class format. Should contain at least 8 bytes"); + } + return forClassVersion(classData[7] & 0xFF); +diff --git a/subprojects/base-services/src/test/groovy/org/gradle/api/JavaVersionSpec.groovy b/subprojects/base-services/src/test/groovy/org/gradle/api/JavaVersionSpec.groovy +index fbb243ba992..17dc3956118 100644 +--- a/subprojects/base-services/src/test/groovy/org/gradle/api/JavaVersionSpec.groovy ++++ b/subprojects/base-services/src/test/groovy/org/gradle/api/JavaVersionSpec.groovy +@@ -63,7 +63,12 @@ public class JavaVersionSpec extends Specification { + JavaVersion.toVersion("1.9.0-internal") == JavaVersion.VERSION_1_9 + JavaVersion.toVersion("1.9.0-ea") == JavaVersion.VERSION_1_9 + JavaVersion.toVersion("9-ea") == JavaVersion.VERSION_1_9 ++ JavaVersion.toVersion("9.0.0.15") == JavaVersion.VERSION_1_9 ++ JavaVersion.toVersion("9.0.1") == JavaVersion.VERSION_1_9 ++ JavaVersion.toVersion("9.1") == JavaVersion.VERSION_1_9 + ++ JavaVersion.toVersion("10.1") == JavaVersion.VERSION_1_10 ++ JavaVersion.toVersion("10.1.2") == JavaVersion.VERSION_1_10 + JavaVersion.toVersion("10-ea") == JavaVersion.VERSION_1_10 + JavaVersion.toVersion("10-internal") == JavaVersion.VERSION_1_10 + } +@@ -98,10 +103,6 @@ public class JavaVersionSpec extends Specification { + conversionFails("1.54"); + conversionFails("2.0"); + conversionFails("1_4"); +- conversionFails("8.1"); +- conversionFails("9.1"); +- conversionFails("9.0.0"); +- conversionFails("10.1.2"); + + conversionFails("9-"); + conversionFails("11-ea"); -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/gradle.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

