Files
werkbaum/docs/prs/2026-10-11-PR#8-temurin-25.md
claude-code 88771f12a4
Deploy to GitHub Pages / build (push) Canceled after 0s
Deploy to GitHub Pages / deploy (push) Canceled after 0s
werkator/backend build succeeded after 01:37
werkator/frontend build succeeded after 00:30
Das Backend auf Temurin 25, mit eigener Laufzeit aus jlink (#8)
Das Backend baut mit Temurin 25 und läuft auf einer Laufzeit aus jlink, wie werkregie ADR 0001 festlegt.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Reviewed-on: #8
Reviewed-by: mi <1+mi@noreply.git.javagil.de>
Co-authored-by: claude-code <claude-code@javagil.de>
2026-10-11 14:01:51 +02:00

35 lines
1.6 KiB
Markdown

# PR#8: Das Backend auf Temurin 25, mit eigener Laufzeit aus jlink
> **WARNUNG:** Dieses Dokument beschreibt nur die Änderung dieses PR.
> Nach dem nächsten Merge kann es schon veraltet sein; es wird nicht nachgepflegt.
## Verweise
- [werkregie PR#20](https://git.javagil.de/mi/werkregie/pulls/20) und [PR#22](https://git.javagil.de/mi/werkregie/pulls/22):
ADR 0001, Temurin 25 als JDK und Laufzeit aller werk-Repositories, geladen mit Foojay.
## Das Problem
ADR 0001 legt für alle werk-Repositories Temurin 25 fest und für jeden Dienst eine Laufzeit, die jlink daraus schneidet.
Das Backend baut mit einem beliebigen JDK 21 und läuft auf dem Server auf einem ganzen JDK 21 im Home,
das `scripts/install-jdk.sh` einmalig dorthin legt (D77).
## Nicht das Ziel
- Keine Änderung an Notation, Editor oder Verhalten des Backends.
## Die Lösung
- Toolchain Temurin 25, Kotlin 2.4.21, Foojay 1.0.0.
- Die Aufgabe `runtime` schneidet die Laufzeit des Backends mit jlink aus der Toolchain.
- `scripts/deploy-backend.sh` überträgt sie mit dem Jar; die Unit startet das Backend damit.
- `scripts/install-jdk.sh` und `remote backend install-jdk` entfallen; `BACKEND_JDK_DIR` nimmt weiter ein anderes Java.
- D99 hält die Entscheidung fest; im Plan löst `#bld.backend.jre` den Knoten `#bld.backend.jdk` ab.
- Lokal geprüft: `check` hält auf Temurin 25, samt Coverage-Grenze;
das Backend startet auf der Laufzeit aus jlink und antwortet auf `GET /api/v1/info`.
- Keine Zeile im CHANGELOG: Im Editor ändert sich nichts.
## Offene Fragen
- [ ] TODO.deploy: Der erste Deploy auf mih00 bringt die Laufzeit; danach kann `~/opt/jdk21` weg.