Shadow plugin ID update Round 2 - fix clash with ByteBuddy's multi-release JAR #3799
+4
−4
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.
This PR adds back the new Shadow plugin ID and a fix for the original problem, a clash with ByteBuddy's multi-release JAR.
Background
A few days ago I merged in a seemingly small change to update the Shadow plugin's ID, reflecting the new owner of the plugin after the previous maintainer handed it over. #3791 GitHub thread explaining ownership change: GradleUp/shadow#908
The PR with this update had a passing build and everything seemed fine, until 2 days later, all new PRs had failing builds with a mysterious error only on the Agent's
shadowJar
task, complaining about "Unsupported class file major version 68". Example failing pipeline: https://github.com/graphql-java/graphql-java/actions/runs/12934658930/job/36076178664Java version 68 corresponds to Java 24 which was very strange, because we only use Java 11 in this repo and Java 24 is so brand new, the release date is in the future! (March 2025)
I reverted these changes to unblock other PRs. #3800
This PR fixes the clash with ByteBuddy's multi-release JAR
In between the first Shadow PR merge and the PRs failing was an innocent looking update for ByteBuddy, which we use in the Agent module only, not the main GraphQL Java release. Updating this library from 1.15.11 to 1.16.0 is the cause of the problem.
I did some more digging and found other people had the same problem with Jackson, another multi-release JAR project that some people shade. FasterXML/jackson-core#1210.
I did try only including Java 11 files but that causes an issue with Agent tests. For now, let's downgrade ByteBuddy.
ByteBuddy PR introducing multi-release JAR: https://github.com/raphw/byte-buddy/pull/1719/files