From 8eb17af391d36d648b3674213542720f44bbca05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?An=C5=BEe=20Sodja?= Date: Tue, 20 Jan 2026 10:28:28 +0100 Subject: [PATCH 1/3] Compile to Java 8 for native platform Since we use it in gradle/gradle for in example process-memory-services that is used for workers that can run on Java 8. --- buildSrc/src/main/java/gradlebuild/VersioningPlugin.java | 4 ---- native-platform/build.gradle | 3 +++ 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/buildSrc/src/main/java/gradlebuild/VersioningPlugin.java b/buildSrc/src/main/java/gradlebuild/VersioningPlugin.java index cbfd7cde..243f7883 100644 --- a/buildSrc/src/main/java/gradlebuild/VersioningPlugin.java +++ b/buildSrc/src/main/java/gradlebuild/VersioningPlugin.java @@ -1,6 +1,5 @@ package gradlebuild; -import org.gradle.api.JavaVersion; import org.gradle.api.Plugin; import org.gradle.api.Project; import org.gradle.api.provider.ProviderFactory; @@ -32,9 +31,6 @@ public abstract class VersioningPlugin implements Plugin { @Override public void apply(Project project) { VersionDetails.BuildType buildType = determineBuildType(project); - if (buildType != VersionDetails.BuildType.Dev && JavaVersion.current() != JavaVersion.VERSION_1_8) { - throw new RuntimeException("Java 8 is required to build a release of native-platform. Later versions are not supported."); - } String buildTimestamp = determineBuildTimestamp(project); writeBuildTimestamp(buildTimestamp, project); String version = determineVersion(buildType, buildTimestamp); diff --git a/native-platform/build.gradle b/native-platform/build.gradle index 2306bfd3..0aecb736 100755 --- a/native-platform/build.gradle +++ b/native-platform/build.gradle @@ -75,3 +75,6 @@ java { } } +tasks.withType(JavaCompile).configureEach { + options.release = 8 +} From 32bcae239cc37930f0cbfd0b8db9c9f7d82e2c7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?An=C5=BEe=20Sodja?= Date: Tue, 20 Jan 2026 10:42:42 +0100 Subject: [PATCH 2/3] Use register instead of eager task creation in test-app/build.gradle --- test-app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test-app/build.gradle b/test-app/build.gradle index 7891e1a2..68cd769a 100644 --- a/test-app/build.gradle +++ b/test-app/build.gradle @@ -40,7 +40,7 @@ publishing { } // Download and unpack the application to allow it to be tested -task download { +tasks.register('download') { doLast { copy { from(configurations.download.files.collect { zipTree(it) }) From 28b83fcb301d6583c5c29070263cf83456cb5150 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?An=C5=BEe=20Sodja?= Date: Tue, 20 Jan 2026 11:01:29 +0100 Subject: [PATCH 3/3] Configure test-app to run on Java 8 --- native-platform/build.gradle | 1 + test-app/build.gradle | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/native-platform/build.gradle b/native-platform/build.gradle index 0aecb736..84122885 100755 --- a/native-platform/build.gradle +++ b/native-platform/build.gradle @@ -76,5 +76,6 @@ java { } tasks.withType(JavaCompile).configureEach { + // Release to 8, since it's used in gradle/gradle in workers options.release = 8 } diff --git a/test-app/build.gradle b/test-app/build.gradle index 68cd769a..254d19ed 100644 --- a/test-app/build.gradle +++ b/test-app/build.gradle @@ -41,10 +41,11 @@ publishing { // Download and unpack the application to allow it to be tested tasks.register('download') { + def downloadDir = project.layout.buildDirectory.dir("download") doLast { copy { from(configurations.download.files.collect { zipTree(it) }) - into("$buildDir/download") + into(downloadDir) } } } @@ -53,3 +54,10 @@ tasks.register('download') { tasks.named("run", JavaExec) { standardInput = System.in } + +java { + toolchain { + // Configure Java 8, so we test that native-platform is compiled to Java 8 + languageVersion = JavaLanguageVersion.of(8) + } +}