You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Gradle 9's default checkstyle toolVersion (~10.21+) requires Java 11+
to run, but every module pinned a Java 8 toolchain, so Gradle routed
the Checkstyle task's launcher through JDK 8 and the Ant task class
(class file version 55) failed to load on the JDK 8 runtime.
Rather than pin an old checkstyle or splice a separate launcher just
for Checkstyle, bump the build toolchain to JDK 17 in every module
and set `options.release = 8` on the library modules. Net effect:
- compile/checkstyle/javadoc all run on the same modern JVM
- published jars still contain class file version 52 (Java 8) — the
library's consumer baseline is unchanged (verified on ImGui.class)
- CI only needs to install JDK 17 (dropped the dual 8+17 setup)
Also bump foojay-resolver-convention 0.10.0 -> 1.0.0. Gradle 9
removed JvmVendorSpec.IBM_SEMERU; the 0.10.0 plugin references it in
its <clinit>, so any local build that has to download a toolchain
(no matching JDK already installed) crashes with NoSuchFieldError
before reaching the task graph. CI didn't hit this because
setup-java pre-installs the JDKs.
Verified: ./gradlew buildAll green on JDK 25 / macOS arm64; javap on
the produced ImGui.class reports major version 52.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments