Files
werkator/docs/prs/2026-10-11-PR#152-temurin-25.md
claude-code 12bdc6811d
werkator build succeeded after 04:01
werkator/deploy build succeeded after 00:14
werkator/mutation build failed after 00:52
Werkator on Temurin 25 (v1.41.3) (#152)
Co-authored-by: claude-code <claude-code@javagil.de>
2026-10-11 13:42:58 +02:00

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.

  • 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, test and runtimeBundleDir pass; the bundle's runtime reports Temurin 25.0.4, and bin/werkator --version starts 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-instance suggests Temurin 25 instead of 21 for a host without Java.