Pin build-info-extractor-gradle to 5.2.5 to fix Gradle 6.8.1 build#94
Closed
vigy321 wants to merge 1 commit intolinkedin:masterfrom
Closed
Pin build-info-extractor-gradle to 5.2.5 to fix Gradle 6.8.1 build#94vigy321 wants to merge 1 commit intolinkedin:masterfrom
vigy321 wants to merge 1 commit intolinkedin:masterfrom
Conversation
The buildscript classpath used `latest.release`, which now resolves to 6.0.4. JFrog 6.0.0+ depends on jackson-databind:2.15.4, transitively pulling jackson-core:2.15.4 — a multi-release JAR containing Java 17 (major version 61) class files. Gradle 6.8.1's classpath instrumenter walks every class via a bundled ASM that does not understand Java 17 bytecode and fails with: Failed to create Jar file ~/.gradle/caches/jars-8/<hash>/jackson-core-2.15.4.jar Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 61 5.2.5 is the last release on jackson-databind:2.14.1, which is Java 8 compatible and configures cleanly under Gradle 6.8.1.
This was referenced Apr 30, 2026
Merged
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.
Problem
./gradlew buildfails on master at the project-configuration phase:This affects every PR, not a single branch — master itself reproduces it. CI was last green on 2025-06-06; the next CI run (on PR #93) failed with this error.
Root cause
build.gradlepins three plugins to dynamic versions:Between June 2025 and now, JFrog published
build-info-extractor-gradle6.0.0+, whichlatest.releasenow resolves to (current:6.0.4). 6.0.0+ bumped itsjackson-databinddependency from2.14.1→2.15.4, transitively pulling injackson-core:2.15.4— a multi-release JAR containing Java 17 (major version 61) class files.Gradle 6.8.1's classpath instrumenter walks every class in every buildscript jar (to cache an instrumented copy under
~/.gradle/caches/jars-8/) using a bundled ASM that predates Java 17 bytecode support. It cannot read the MR-JAR Java 17 entries and aborts before the project ever compiles.This was confirmed locally with JDK 8 + Gradle 6.8.1 (matching CI). Cache invalidation, daemon restart, and
--refresh-dependenciesall reproduce identically — it is a deterministic incompatibility, not a transient cache/network issue.Fix
Pin
build-info-extractor-gradleto5.2.5— the last release onjackson-databind:2.14.1, which is Java 8 compatible and configures cleanly under Gradle 6.8.1.The other two
latest.releaselines (shipkit-auto-version, shipkit-changelog) do not transitively depend on jackson and are not currently broken; they are left untouched in this minimal fix but remain a latent risk for future drift.Validation
Local build with the pin applied (JDK 1.8.0_282 + Gradle 6.8.1):
All existing tests pass.
Back-compatibility