2.0 KiB
2.0 KiB
PR#152: Werkator on Temurin 25
WARNING: This document describes only the change applied in this PR. It may already be outdated once the next PR is merged. Historic PR-documentation is not maintained along with new PRs — treat it as a snapshot, not as current documentation.
Related Links
- werkregie PR#20 and PR#22: ADR 0001, Temurin 25 as JDK and runtime of all werk repositories, loaded with Foojay.
Problem
werkregie ADR 0001 decides Temurin 25 for all werk repositories, and for each service a runtime jlinked from it. Werkator builds with Temurin 21, and its runtime bundle carries a Temurin 21 runtime.
Non-Goals
- No change of Werkator's behaviour.
- No new Gradle: 8.14.5 (ADR 0002) runs on the build environment's OpenJDK 21 and builds with the toolchain 25.
- No change of the build environment: Foojay loads Temurin 25 into the shared Gradle home.
Solution
- Toolchain Temurin 25 and the JVM target 25.
- Kotlin 2.4.21: 2.2.0 has no JVM 25 target.
- The runtime bundle carries a runtime jlinked from Temurin 25; the jdeps check of its module list now names 25.
- Foojay stays 0.8.0: 1.0.0 is what Gradle 9 needs, and Gradle stays 8.14.5.
- The dependency management of Spring Boot raised the Kotlin compiler of ktlint to 2.4.21, which ktlint cannot parse with. The ktlint configurations keep the compiler 2.1.0 that ktlint 1.5.0 was built against.
- Werkator deploys itself after the merge, so mih09 runs on the Temurin 25 runtime from then on. Temurin 25 needs glibc 2.17; mih09 has 2.36.
- Checked locally:
ktlintCheck,testandruntimeBundleDirpass; the bundle's runtime reports Temurin 25.0.4, andbin/werkator --versionstarts on it. - Werkbaum: a node under
#selfdeploy. - Version 1.41.3, with an "Internal:" entry in the release notes.
Additional Changes
- Kotlin 2.4 warns about a needless safe call in
ConfigLoader; it is gone. tools/setup-werkator-instancesuggests Temurin 25 instead of 21 for a host without Java.