From 00f5652db90878b53ac73d909cafcd422c7bf7e7 Mon Sep 17 00:00:00 2001 From: Mitchell Syer Date: Sat, 8 Nov 2025 19:37:59 -0500 Subject: [PATCH] Use JDK 25 to build and include in releases (#1770) * Use JDK 25 to build and include in releases * Set Jvm Targets in BuildSrc * Put JvmTarget in libs.versions.toml * Maybe this will work for Zulu * Use LTS java version --- .github/workflows/build_pull_request.yml | 2 +- .github/workflows/build_push.yml | 4 ++-- .github/workflows/publish.yml | 4 ++-- build.gradle.kts | 7 ++++--- buildSrc/build.gradle.kts | 12 ++++++++++++ gradle/libs.versions.toml | 1 + renovate.json | 4 ++-- scripts/bundler.sh | 6 +++--- 8 files changed, 27 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build_pull_request.yml b/.github/workflows/build_pull_request.yml index 677361da..70a5102a 100644 --- a/.github/workflows/build_pull_request.yml +++ b/.github/workflows/build_pull_request.yml @@ -47,7 +47,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v5 with: - java-version: 21 + java-version: 25 distribution: 'zulu' - name: Setup Gradle diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index 20b4a8db..9468aae6 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -35,7 +35,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v5 with: - java-version: 21 + java-version: 25 distribution: 'zulu' - name: Setup Gradle @@ -96,7 +96,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v5 with: - java-version: 21 + java-version: 25 distribution: 'zulu' - name: Package JDK diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 069b397f..6454c5e0 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -36,7 +36,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v5 with: - java-version: 21 + java-version: 25 distribution: 'zulu' - name: Setup Gradle @@ -98,7 +98,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v5 with: - java-version: 21 + java-version: 25 distribution: 'zulu' - name: Package JDK diff --git a/build.gradle.kts b/build.gradle.kts index b922219d..e44da887 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -31,8 +31,9 @@ allprojects { subprojects { plugins.withType { extensions.configure { - sourceCompatibility = JavaVersion.VERSION_21 - targetCompatibility = JavaVersion.VERSION_21 + val javaVersion = JavaVersion.toVersion(libs.versions.jvmTarget.get()) + sourceCompatibility = javaVersion + targetCompatibility = javaVersion } } @@ -51,7 +52,7 @@ subprojects { dependsOn("ktlintFormat") } compilerOptions { - jvmTarget = JvmTarget.JVM_21 + jvmTarget = JvmTarget.fromTarget(libs.versions.jvmTarget.get()) freeCompilerArgs.add("-Xcontext-receivers") } } diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 3793de62..c183e89f 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { `kotlin-dsl` } @@ -9,3 +11,13 @@ repositories { dependencies { implementation(libs.zip4j) } + +java { + val javaVersion = JavaVersion.toVersion(libs.versions.jvmTarget.get()) + sourceCompatibility = javaVersion + targetCompatibility = javaVersion +} + +tasks.withType { + compilerOptions.jvmTarget = JvmTarget.fromTarget(libs.versions.jvmTarget.get()) +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d2a96a1a..f2403655 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,6 +2,7 @@ kotlin = "2.2.21" coroutines = "1.10.2" serialization = "1.9.0" +jvmTarget = "21" okhttp = "5.3.0" # Major version is locked by Tachiyomi extensions javalin = "6.7.0" jte = "3.2.1" diff --git a/renovate.json b/renovate.json index 7d9872b9..69ba12de 100644 --- a/renovate.json +++ b/renovate.json @@ -11,7 +11,7 @@ "/scripts/bundler.sh/" ], "matchStrings": [ - "JRE_RELEASE=[\"'](?.+?)[\"']\\s+" + "JRE_ZULU=[\"'](?.+?)[\"']" ], "depNameTemplate": "zulu", "datasourceTemplate": "custom.zulu", @@ -20,7 +20,7 @@ ], "customDatasources": { "zulu": { - "defaultRegistryUrlTemplate": "https://api.azul.com/metadata/v1/zulu/packages?availability_types=ca&release_status=both&java_package_type=jre&crac_supported=false&javafx_bundled=false&java_version=21&arch=x86&os=linux&archive_type=zip&page_size=1000&include_fields=java_package_features,release_status,support_term,os,arch,hw_bitness,abi,java_package_type,javafx_bundled,sha256_hash,cpu_gen,size,archive_type,certifications,lib_c_type,crac_supported&page=1&azul_com=true", + "defaultRegistryUrlTemplate": "https://api.azul.com/metadata/v1/zulu/packages?availability_types=ca&release_status=both&java_package_type=jre&crac_supported=false&javafx_bundled=false&support_term=lts&arch=x86&os=linux&archive_type=zip&page_size=1000&include_fields=java_package_features,release_status,support_term,os,arch,hw_bitness,abi,java_package_type,javafx_bundled,sha256_hash,cpu_gen,size,archive_type,certifications,lib_c_type,crac_supported&page=1&azul_com=true", "transformTemplates": [ "{\"releases\": $$.$join([$join($map(distro_version[[0..2]], $string), \".\"), \"_\", $join($map(java_version, $string), \".\")])}" ] diff --git a/scripts/bundler.sh b/scripts/bundler.sh index e3be1f02..7e598306 100755 --- a/scripts/bundler.sh +++ b/scripts/bundler.sh @@ -42,9 +42,9 @@ main() { gcc -fPIC -I$JAVA_HOME/include -I$JAVA_HOME/include/linux -shared scripts/resources/catch_abort.c -lpthread -o scripts/resources/catch_abort.so fi - JRE_ZULU="21.44.17_21.0.8" - JRE_RELEASE="jre${JRE_ZULU#*_}" # e.g. jre21.0.8 - ZULU_RELEASE="zulu${JRE_ZULU%_*}" # e.g. zulu21.44.17 + JRE_ZULU="25.30.17_25.0.1" + JRE_RELEASE="jre${JRE_ZULU#*_}" # e.g. jre25.0.1 + ZULU_RELEASE="zulu${JRE_ZULU%_*}" # e.g. zulu25.30.17 case "$OS" in debian-all)