chore(QTDI-589): upgrade Java source/target/release from 17 to 21#1242
Draft
thboileau wants to merge 13 commits into
Draft
chore(QTDI-589): upgrade Java source/target/release from 17 to 21#1242thboileau wants to merge 13 commits into
thboileau wants to merge 13 commits into
Conversation
- pom.xml: bump maven.compiler.source/target/release to 21 - .tool-versions: update asdf java to adoptopenjdk-21.0.2+13.0.LTS
equalsverifier 3.7.2 bundles an ASM version that cannot read Java 21 class files (major version 65), causing SchemaImplTest.checkEquals to fail at runtime. 3.17.5 supports Java 21.
- Root pom: drop forceLegacyJavacApi=true on maven-compiler-plugin. Under JDK 21 the legacy javac API has a type-inference bug that resolves explicit imports colliding with java.lang.* in favour of java.lang.* — notably our org.talend.sdk.component.api.record.Record ended up compiled as java.lang.Record in module signatures (e.g. TalendFn#asFn), propagating ClassCastException-style failures into consumers and ITs at runtime. Lombok 1.18.30 works with the modern API, so the flag is no longer needed. - Root pom: bump maven-shade-plugin 3.3.0 → 3.6.0 (ASM 9.6 supports Java 21 class file major version 65). - nested-maven-repository: bump maven-dependency-tree 3.1.0 → 3.3.0 and add exclusions on the retired maven-artifact-transfer:0.13.1 to prune the legacy maven-core:3.0 / maven-aether-provider:3.0 / sonatype plexus-sec-dispatcher:1.3 chain that leaked into consumers' runtime classpath and produced intermittent ClassNotFound / NoSuchMethod errors in shrinkwrap-resolver / mima under Java 21. - serialization-over-cluster IT: bump maven-failsafe-plugin 3.0.0-M5 → 3.2.5. M5 dragged its own legacy Maven 3.0 stack into the surefire fork classpath, masking compile failures and producing non-deterministic ClassNotFoundException at boot.
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.

Requirements
Why this PR is needed?
What does this PR adds (design/code thoughts)?
AI generated code
https://internal.qlik.dev/general/ways-of-working/code-reviews/#guidelines-for-ai-generated-code