diff options
| author | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2026-09-01 06:43:52 +0200 |
|---|---|---|
| committer | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2026-09-01 06:43:52 +0200 |
| commit | b65e54f2dd9cd4e385a452e66c3d80c15e0df743 (patch) | |
| tree | 14696339c1977f99f9cf52faa5fb665a5fa52d27 | |
| parent | 1f8af7b9a90a8ba241cd05ee148f534121e015ab (diff) | |
Der Bausatz setzt fortan die Sprachfassung 25 voraus
Die selbsttätige Prüfung baut seit ihrer Einführung auf einem JDK 25, der
Quellstand blieb mit „release 21“ jedoch hinter dieser Grundlage zurück. Beides
fällt nunmehr zusammen: Die Eigenschaft „maven.compiler.release“ lautet „25“,
und im Profil „wasm“ folgen ihr „source“ und „target“ samt dem erläuternden
Vermerk. Die dortige Abkehr von „release“ bleibt bestehen, denn die
Web-Image-API des GraalVM liegt außerhalb der dokumentierten JDK-API.
Damit ein zu alter Bausatz nicht erst den Übersetzer zu einer schwer deutbaren
Meldung nötigt, tritt der Regel „requireMavenVersion“ die Regel
„requireJavaVersion“ zur Seite, gespeist aus der neuen Eigenschaft
„enforced.java-version“. Das Handbuch setzt in § 5 Absatz 3 fortan die Fassung
25 voraus; § 14 Absatz 3 bleibt unberührt, denn der Wasm-Bau verlangt weiterhin
Oracle GraalVM 25.1 oder neuer.
Geprüft auf einem Oracle GraalVM 25.0.4: „./mvnw verify“ meldet BUILD SUCCESS
mit 456 von 456 Tests, Spotless beanstandet nichts, der Enforcer lässt die neue
Regel durchgehen, und auch das Profil „wasm“ übersetzt („target 25“).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GuVaax1nzPPH9Xk73JugUw
Change-Id: Ib4b4015e3b4d6660f41231bd965c617078de8838
| -rw-r--r-- | FASSUNGEN.txt | 54 | ||||
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | pom.xml | 12 |
3 files changed, 63 insertions, 5 deletions
diff --git a/FASSUNGEN.txt b/FASSUNGEN.txt index 9f17e99..5e8327c 100644 --- a/FASSUNGEN.txt +++ b/FASSUNGEN.txt @@ -21,6 +21,60 @@ Vorbemerkung zur Führung dieses Verzeichnisses ════════════════════════════════════════════════════════════════════════════════ + Fassung vom 1. September 2026, + zuletzt geändert durch die am 1. September 2026 vorgenommenen Änderungen +════════════════════════════════════════════════════════════════════════════════ + +Die Sprachfassung des Bausatzes wird von 21 auf 25 angehoben (Artikel 1); der +Wasm-Zweig folgt (Artikel 2). Der Enforcer wacht fortan über die vorausgesetzte +Fassung (Artikel 3). Das Handbuch weist dies aus (Artikel 4). + + +Artikel 1 +Anhebung der Sprachfassung + +In „pom.xml“ wird die Eigenschaft „maven.compiler.release“ von „21“ auf „25“ +geändert. Die selbsttätige Prüfung baute schon bisher auf einem JDK 25; der +Quellstand blieb hinter dieser Grundlage zurück. Fortan stehen die Sprachmittel +der Fassungen 22 bis 25 zur Verfügung. + + +Artikel 2 +Wasm-Zweig + +Im Profil „wasm“ werden „maven.compiler.source“ und „maven.compiler.target“ +gleichfalls auf „25“ gesetzt; der erläuternde Vermerk spricht entsprechend von +der Option „release 25“. An der dortigen Abkehr von „release“ zugunsten von +„source“/„target“ ändert sich nichts: Sie beruht darauf, dass die Web-Image-API +des GraalVM außerhalb der dokumentierten JDK-API liegt. + + +Artikel 3 +Überwachung der vorausgesetzten Fassung + +Der Regel „requireMavenVersion“ wird „requireJavaVersion“ zur Seite gestellt, +gespeist aus der neuen Eigenschaft „enforced.java-version“ (Wert „25“). Ein zu +alter Bausatz wird damit beim Enforcer benannt und nicht erst durch eine +schwerer deutbare Meldung des Übersetzers. + + +Artikel 4 +Handbuch + +§ 5 Absatz 3 des Handbuchs (README.md) setzt fortan einen Java-Entwicklungs- +bausatz der Fassung 25 oder neuer voraus. § 14 Absatz 3 bleibt unberührt: Für +den Wasm-Bau ist weiterhin Oracle GraalVM 25.1 oder neuer erforderlich. + + +Artikel 5 +Prüfung + +Der Bau geht auf einem Oracle GraalVM 25.0.4 auf: „./mvnw verify“ meldet BUILD +SUCCESS mit 456 von 456 Tests, Spotless beanstandet nichts, und der Enforcer +lässt die neue Regel durchgehen. Auch das Profil „wasm“ übersetzt („target 25“). + + +════════════════════════════════════════════════════════════════════════════════ Fassung vom 31. August 2026, zuletzt geändert durch die am 31. August 2026 vorgenommenen Änderungen ════════════════════════════════════════════════════════════════════════════════ @@ -173,7 +173,7 @@ Fassungen (`FASSUNGEN.txt`) geführt. `0.1.0-SNAPSHOT`, soweit sie nicht durch Übergabe des Schalters `-Drevision` an `mvnw` abweichend bestimmt wird. -(3) Vorausgesetzt wird ein Java-Entwicklungsbausatz der Fassung 21 oder neuer. +(3) Vorausgesetzt wird ein Java-Entwicklungsbausatz der Fassung 25 oder neuer. Für die Herstellung der Browserfassung gilt abweichend § 14 Absatz 5. ## § 5 Zulässige Eingaben @@ -23,12 +23,13 @@ <properties> <maven.compiler.parameters>true</maven.compiler.parameters> - <maven.compiler.release>21</maven.compiler.release> + <maven.compiler.release>25</maven.compiler.release> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <enforced.maven-version>3.9.0</enforced.maven-version> + <enforced.java-version>25</enforced.java-version> <build-helper-plugin.version>3.6.0</build-helper-plugin.version> <clean-plugin.version>3.3.2</clean-plugin.version> @@ -254,6 +255,9 @@ <requireMavenVersion> <version>${enforced.maven-version}</version> </requireMavenVersion> + <requireJavaVersion> + <version>${enforced.java-version}</version> + </requireJavaVersion> </rules> </configuration> </execution> @@ -347,13 +351,13 @@ <native-image.executable>${java.home}/bin/native-image</native-image.executable> <wasm.output.directory>${project.build.directory}/web</wasm.output.directory> <!-- - Die Option „release 21“ beschränkte den Modulpfad auf die dokumentierte JDK-API; die + Die Option „release 25“ beschränkte den Modulpfad auf die dokumentierte JDK-API; die Web-Image-API des GraalVM wäre damit unsichtbar. Deshalb hier source/target statt release — übersetzt wird ohnehin nur mit dem GraalVM, gegen dessen eigene Klassen. --> <maven.compiler.release/> - <maven.compiler.source>21</maven.compiler.source> - <maven.compiler.target>21</maven.compiler.target> + <maven.compiler.source>25</maven.compiler.source> + <maven.compiler.target>25</maven.compiler.target> </properties> <dependencies> |
