From 593a64c9bd7d53e74bd992dd0385be3a5a3841f1 Mon Sep 17 00:00:00 2001 From: Sebastian Stenzel Date: Wed, 12 Nov 2025 10:50:37 +0100 Subject: [PATCH] Bump JDK to version 25 (#4031) * first draft for JDK 25 migration (including comments) * fix unresolvable version in setup-java action * switch to official `openjdk-25-jdk` ubuntu package see https://packages.ubuntu.com/search?suite=jammy&arch=any&searchon=names&keywords=openjdk-25 * update jacoco to support JDK 25 * use jdk 25.0.1 for building the app # Conflicts: # .github/workflows/win-exe.yml * Use correct SHA256 value for openjfx linux arm64 * zulu version is different to temurin :rolling_eyes: * fix check-jdk-updates --------- Co-authored-by: Armin Schrenk --- .github/workflows/appimage.yml | 2 +- .github/workflows/build.yml | 2 +- .github/workflows/check-jdk-updates.yml | 4 +-- .github/workflows/debian.yml | 11 +++---- .github/workflows/dependency-check.yml | 2 +- .github/workflows/get-version.yml | 2 +- .github/workflows/mac-dmg-x64.yml | 2 +- .github/workflows/mac-dmg.yml | 2 +- .github/workflows/pullrequest.yml | 2 +- .github/workflows/release-check.yml | 2 +- .github/workflows/win-exe.yml | 4 +-- .idea/compiler.xml | 39 +++++++++++++++++++++---- .idea/misc.xml | 2 +- dist/linux/debian/control | 2 +- dist/linux/debian/rules | 3 +- pom.xml | 4 +-- 16 files changed, 57 insertions(+), 28 deletions(-) diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml index 4c49db7ea..20fea5c58 100644 --- a/.github/workflows/appimage.yml +++ b/.github/workflows/appimage.yml @@ -19,7 +19,7 @@ on: env: JAVA_DIST: 'temurin' - JAVA_VERSION: '24.0.1+9' + JAVA_VERSION: '25.0.1+8.0.LTS' jobs: get-version: diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b528cfb49..c9a0ea0c9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,7 +11,7 @@ on: env: JAVA_DIST: 'temurin' - JAVA_VERSION: 24 + JAVA_VERSION: 25 defaults: run: diff --git a/.github/workflows/check-jdk-updates.yml b/.github/workflows/check-jdk-updates.yml index 432cf16b7..cad852dc1 100644 --- a/.github/workflows/check-jdk-updates.yml +++ b/.github/workflows/check-jdk-updates.yml @@ -6,7 +6,7 @@ on: workflow_dispatch: env: - JDK_VERSION: '24.0.1+9' + JDK_VERSION: '25.0.1+8.0.LTS' JDK_VENDOR: temurin RUNTIME_VERSION_HELPER: > public class Test { @@ -23,7 +23,7 @@ jobs: JDK_MAJOR_VERSION: 'toBeFilled' steps: - name: Determine current major version - run: echo 'JDK_MAJOR_VERSION=${{ env.JDK_VERSION }}'.substring(0,20) >> "$env:GITHUB_ENV" + run: echo 'JDK_MAJOR_VERSION=${{ env.JDK_VERSION }}'.substring(0,2) >> "$env:GITHUB_ENV" shell: pwsh - name: Checkout latest JDK ${{ env.JDK_MAJOR_VERSION }} uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 diff --git a/.github/workflows/debian.yml b/.github/workflows/debian.yml index b721d701a..17a3d487f 100644 --- a/.github/workflows/debian.yml +++ b/.github/workflows/debian.yml @@ -23,9 +23,8 @@ on: env: JAVA_DIST: 'temurin' - JAVA_VERSION: '24.0.1+9' - COFFEELIBS_JDK: 24 - COFFEELIBS_JDK_VERSION: '24.0.1+9-0ppa3' + JAVA_VERSION: '25.0.1+8.0.LTS' + DEB_BUILD_DEPENDS: 'debhelper (>=10), openjdk-25-jdk (>= 25+36), libgtk-3-0 (>= 3.20.0), libxxf86vm1, libgl1' OPENJFX_JMODS_AMD64: 'https://download2.gluonhq.com/openjfx/25/openjfx-25_linux-x64_bin-jmods.zip' OPENJFX_JMODS_AMD64_HASH: '96e520f48610d8ffb94ca30face1f11ffe8a977ddc1c4ff80b1a9e9f048bd94e' OPENJFX_JMODS_AARCH64: 'https://download2.gluonhq.com/openjfx/25/openjfx-25_linux-aarch64_bin-jmods.zip' @@ -55,9 +54,11 @@ jobs: fi - name: Install build tools run: | - sudo add-apt-repository ppa:coffeelibs/openjdk sudo apt-get update - sudo apt-get install debhelper devscripts dput coffeelibs-jdk-${{ env.COFFEELIBS_JDK }}=${{ env.COFFEELIBS_JDK_VERSION }} + sudo apt-get install devscripts dput + sudo apt-get satisfy "${DEB_BUILD_DEPENDS}" + env: + DEB_BUILD_DEPENDS: ${{ env.DEB_BUILD_DEPENDS }} - name: Setup Java uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0 with: diff --git a/.github/workflows/dependency-check.yml b/.github/workflows/dependency-check.yml index ddce37384..22d2a5fc5 100644 --- a/.github/workflows/dependency-check.yml +++ b/.github/workflows/dependency-check.yml @@ -11,7 +11,7 @@ jobs: with: runner-os: 'ubuntu-latest' java-distribution: 'temurin' - java-version: 24 + java-version: 25 secrets: nvd-api-key: ${{ secrets.NVD_API_KEY }} ossindex-username: ${{ secrets.OSSINDEX_USERNAME }} diff --git a/.github/workflows/get-version.yml b/.github/workflows/get-version.yml index 5585d7ac5..b1c728fa8 100644 --- a/.github/workflows/get-version.yml +++ b/.github/workflows/get-version.yml @@ -23,7 +23,7 @@ on: env: JAVA_DIST: 'temurin' - JAVA_VERSION: 24 + JAVA_VERSION: 25 jobs: determine-version: diff --git a/.github/workflows/mac-dmg-x64.yml b/.github/workflows/mac-dmg-x64.yml index 9e6f48a7c..6a9c3f644 100644 --- a/.github/workflows/mac-dmg-x64.yml +++ b/.github/workflows/mac-dmg-x64.yml @@ -24,7 +24,7 @@ on: env: JAVA_DIST: 'temurin' - JAVA_VERSION: '24.0.1+9' + JAVA_VERSION: '25.0.1+8.0.LTS' jobs: get-version: diff --git a/.github/workflows/mac-dmg.yml b/.github/workflows/mac-dmg.yml index c47b4309a..4f9ff6e71 100644 --- a/.github/workflows/mac-dmg.yml +++ b/.github/workflows/mac-dmg.yml @@ -22,7 +22,7 @@ on: env: JAVA_DIST: 'temurin' - JAVA_VERSION: '24.0.1+9' + JAVA_VERSION: '25.0.1+8.0.LTS' jobs: get-version: diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 8bfddf2d4..cfb013c05 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -5,7 +5,7 @@ on: env: JAVA_DIST: 'temurin' - JAVA_VERSION: 24 + JAVA_VERSION: 25 defaults: run: diff --git a/.github/workflows/release-check.yml b/.github/workflows/release-check.yml index e1739326e..e6c12a2d1 100644 --- a/.github/workflows/release-check.yml +++ b/.github/workflows/release-check.yml @@ -12,7 +12,7 @@ defaults: env: JAVA_DIST: 'temurin' - JAVA_VERSION: 23 + JAVA_VERSION: 25 jobs: check-preconditions: diff --git a/.github/workflows/win-exe.yml b/.github/workflows/win-exe.yml index c0635f20f..95bc6aed0 100644 --- a/.github/workflows/win-exe.yml +++ b/.github/workflows/win-exe.yml @@ -47,8 +47,8 @@ jobs: include: - arch: x64 os: windows-latest - java-dist: 'zulu' - java-version: '24.0.1+9' + java-dist: 'zulu' #cannot use temurin, see https://github.com/cryptomator/cryptomator/issues/3824#issuecomment-2829827427 + java-version: '25.0.1+8' java-package: 'jdk' steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 1256745d3..28d93ef1d 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -14,15 +14,15 @@ - + \ No newline at end of file diff --git a/dist/linux/debian/control b/dist/linux/debian/control index 95c8c6871..713f03972 100644 --- a/dist/linux/debian/control +++ b/dist/linux/debian/control @@ -2,7 +2,7 @@ Source: cryptomator Maintainer: Cryptobot Section: utils Priority: optional -Build-Depends: debhelper (>=10), coffeelibs-jdk-24 (>= 24.0.1+9-0ppa3), libgtk-3-0 (>= 3.20.0), libxxf86vm1, libgl1 +Build-Depends: debhelper (>=10), openjdk-25-jdk (>= 25+36), libgtk-3-0 (>= 3.20.0), libxxf86vm1, libgl1 Standards-Version: 4.5.0 Homepage: https://cryptomator.org Vcs-Git: https://github.com/cryptomator/cryptomator.git diff --git a/dist/linux/debian/rules b/dist/linux/debian/rules index c6e697283..456a97e89 100755 --- a/dist/linux/debian/rules +++ b/dist/linux/debian/rules @@ -4,11 +4,12 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 -JAVA_HOME = /usr/lib/jvm/java-24-coffeelibs DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH) ifeq ($(DEB_BUILD_ARCH),amd64) +JAVA_HOME = /usr/lib/jvm/java-25-openjdk-amd64 JMODS_PATH = jmods/amd64:${JAVA_HOME}/jmods else ifeq ($(DEB_BUILD_ARCH),arm64) +JAVA_HOME = /usr/lib/jvm/java-25-openjdk-arm64 JMODS_PATH = jmods/aarch64:${JAVA_HOME}/jmods endif diff --git a/pom.xml b/pom.xml index 0a8f3e990..1fc84d1f3 100644 --- a/pom.xml +++ b/pom.xml @@ -26,7 +26,7 @@ UTF-8 - 24 + 25 @@ -62,7 +62,7 @@ 26.0.2-1 12.1.5 - 0.8.13 + 0.8.14 2.7.0 1.4.0 3.14.1