Files

4.7 KiB
Raw Permalink Blame History

Toolchain für den technischen Prototyp

Stand 2026-09-08. Auswahl und publizierte Artefakte sind geprüft; ein erfolgreicher Projektbuild oder native Integration wird hier noch nicht behauptet. Der maschinenlesbare Versionssatz liegt in gradle/libs.versions.toml.

Bestandteil Festlegung Begründung / Lizenzfamilie
Vaadin Flow / Gradle Plugin 25.2.7 veröffentlichte stabile Version; Core-Komponenten Apache-2.0
Spring Boot 4.1.1 Vaadin-Kompatibilitätslinie; Apache-2.0
Kotlin JVM + Spring Plugin 2.3.21 Version des Boot-BOM; Apache-2.0
Gradle Wrapper 9.3.0 innerhalb Kotlin-Kompatibilitätsmatrix; Java 25 Buildlaufzeit; Apache-2.0
GraalVM Community (optional zurückgestellt) 25.3.4.1 / JDK 25.0.4.1 Community-Distribution, nicht Oracle GFTC; GPLv2 mit Classpath-Ausnahme und mitgelieferte Drittanbieterhinweise
JVM-Bytecode-Ziel 21 Flow-Mindestniveau; native Buildlaufzeit dennoch GraalVM 25
Native Build Tools 1.1.8 von Boot 4.1.1 dokumentierte Version; Apache-2.0
H2 2.4.240 Boot-BOM, File-Modus; MPL-2.0 oder EPL-1.0
Liquibase 4.33.0 Apache-2.0; ausdrücklicher Override der Boot-Vorgabe 5.0.3
JUnit Jupiter/Platform Boot-BOM (Jupiter 6.0.3) EPL-2.0; keine konkurrierende manuelle JUnit-Plattformversion
Cucumber JVM 7.34.8 ausführbare englische Gherkin-Szenarien; MIT
Playwright Java 1.62.0 freie Browserautomatisierung; Apache-2.0

Keine Vaadin-TestBench-/kommerziellen Komponenten als Voraussetzung verwenden. vaadin-core statt ungeprüftem Gesamtpaket auswählen. Playwright ist für deterministische Browserprüfung vorgesehen; die verlangte echte Chrome/Firefox- und Android-Abnahme bleibt zusätzlich bestehen. Vollständige transitive Lizenzprüfung erfolgt am tatsächlich aufgelösten Buildgraphen vor Freigabe, nicht bloß anhand dieser Tabelle.

Reproduzierbare Distributionen

Gradle: https://services.gradle.org/distributions/gradle-9.3.0-bin.zip

SHA-256: 0d585f69da091fc5b2beced877feab55a3064d43b8a1d46aeb07996b0915e0e0 (offizielle .sha256 abgerufen). Im Wrapper übernehmen.

GraalVM Community Linux x64: https://github.com/graalvm/graalvm-ce-builds/releases/download/graal-25.3.4.1/graalvm-community-jdk-25i3-25.0.4.1_linux-x64_bin.tar.gz

Für den Imagebau die zugehörige .sha256 herunterladen, prüfen und im Buildmanifest fixieren. CPU-Baseline und glibc-Kompatibilität auf Bookworm tatsächlich testen; kein -march=native für das Deployment voraussetzen. Node-Version entsprechend Vaadin-Buildanforderungen im Prototyp fixieren und dokumentieren; die vom Plugin verwaltete Version ist gegenüber einem zufälligen Host-Node zu bevorzugen.

Bewusste Ausnahme: Liquibase

Boot verwaltet Liquibase 5.0.3. Liquibase bezeichnet Versionen ab 5 als FSL-1.1-ALv2; sie erfüllen die hier vereinbarte reine Open-Source-Auswahl derzeit nicht. Daher 4.33.0 explizit erzwingen und die tatsächliche Dependency Resolution prüfen. SQL-Changelogs und H2 bleiben unverändert das Ziel. Kompatibilität mit Boot-Autokonfiguration und nativer Ressourcenregistrierung ist ein konkretes Gate des db-spike. Falls dieses Gate scheitert, keine stille Umstellung auf FSL oder einen anderen Migrationstreiber.

Nachweise

Die Prüfung dieses Knotens umfasst Auswahl und Versions-/Lizenzgrundlagen. Native Funktion, aufgelöste transitive Abhängigkeiten und Tests sind getrennte folgende Arbeitspakete.

Aktuelle JVM-Laufzeitentscheidung

Seit der Nutzerentscheidung vom 2026-09-08 wird ein Produktions-JAR mit eigenem Temurin JDK 25.0.4.1+1 ausgeliefert. Quelle und SHA-256 stehen in packaging/jdk.properties; Quelle der Metadaten ist die offizielle Adoptium-API für Linux x64/JDK 25. Temurin ist OpenJDK (GPLv2 mit Classpath-Ausnahme); die Lizenzdateien werden mit dem JDK installiert. Buildimage und remote-Installer verwenden dieselbe Fixierung. GraalVM bleibt optional, seine Native-Image-Tests sind kein Freigabekriterium der ersten Version.