42 lines
2.0 KiB
Markdown
42 lines
2.0 KiB
Markdown
# 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](https://git.javagil.de/mi/werkregie/pulls/20) and [PR#22](https://git.javagil.de/mi/werkregie/pulls/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.
|