-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Update to JDK22 for building #11057
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update to JDK22 for building #11057
Conversation
Do we use it for deployment/building? Because jdk21 is long term and 22 might not yet be available for all unix distributions pakaged etc, This will create issues with people building jabref themselves |
The build for this PR is no longer available. Please visit https://builds.jabref.org/main/ for the latest build. |
With this configuration: yes. We do not yet use JDK 22 features. But we are ready now. The variable https://docs.gradle.org/current/kotlin-dsl/gradle/org.gradle.api/-java-version/-v-e-r-s-i-o-n_22/index.html exist. New on JDK 22: https://www.infoworld.com/article/3708329/jdk-22-the-new-features-in-java-22.html Maybe the "structured concurrency" is cool for our file indexer:
And even cool String templates: https://openjdk.org/jeps/459 Oh, we finally do have
At least debian has JDK22 (https://packages.debian.org/sid/openjdk-22-jdk). 😅 |
Rather arch and other distributions...https://archlinux.org/packages/?sort=&q=openjdk&maintainer=&flagged= |
I think, we have to wait until JDK22 appears somehow in the Gradle Java compatibility matrix |
Gradle 8.7 will support compiling using JDK22: gradle/gradle#26245 |
JDK22 compilation is enabled in #11059 (for the EA builds only) |
#11430 might need unnamed variables -- thus reopening the PR. Should happen for JabRef 6.0 |
Oh, we also need to update the workflows themselves to enable jpackage. Otherwise:
|
Seeing that Java 25 is going to be an LTS again (see https://www.oracle.com/de/java/technologies/java-se-support-roadmap.html), we could wait 1 year for a Java update. Seeing the effort for updating (also at the local developer's machine), unless we really require a new feature, we should stick with LTS. |
JDK22 is generally available (GA). Since we use the Gradle Toolchain feature, we can use it for building.
I did NOT update the JDK for gradle itself, gradle itself does not support JDK22 yet (gradle/gradle#26162).
Mandatory checks
CHANGELOG.md
described in a way that is understandable for the average user (if applicable)