fix(build): support building and testing under JDK 25 (current LTS)#411
Merged
Conversation
A clean build previously failed under modern JDKs. Run the Lombok annotation processor explicitly (JDK 23+ disabled implicit discovery), and update Spotless, JaCoCo and Mockito to JDK 25-capable versions. Compile target stays Java 11, so published artifacts are unchanged. CI now builds on temurin 25.
CliIT.testShareUsage trapped System.exit via SystemLambda.catchSystemExit, which installs a Security Manager. JDK 24 permanently disabled the Security Manager (JEP 486), so System.setSecurityManager now throws and the test failed under JDK 25 with "Setting a Security Manager is not supported". Run each CLI main in a subprocess and read its real exit code instead. The usage path exits at the argument check before opening any connection, so the fork stays fast and network-free. Production CLIs are unchanged.
cpswan
approved these changes
Jul 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
- What I did
fix(build): support building and testing under JDK 25 (current LTS)
- How I did it
A clean build previously failed under modern JDKs. Run the Lombok annotation processor explicitly (JDK 23+ disabled implicit discovery), and update Spotless, JaCoCo and Mockito to JDK 25-capable versions. Compile target stays Java 11, so published artifacts are unchanged. CI now builds on temurin 25.
- How to verify it
Checks pass