Summary
A clean checkout currently fails before Java compilation with the checked-in Gradle/toolchain configuration.
Reproduction
From a fresh clone, run:
Reproduced result
Current failure:
Could not initialize class org.gradle.toolchains.foojay.DistributionsKt
Exception java.lang.NoSuchFieldError: Class org.gradle.jvm.toolchain.JvmVendorSpec does not have member field 'org.gradle.jvm.toolchain.JvmVendorSpec IBM_SEMERU'
This occurs before Java sources are compiled.
Checked-in versions involved
The repository currently contains:
gradle/wrapper/gradle-wrapper.properties -> Gradle 9.1.0
settings.gradle -> org.gradle.toolchains.foojay-resolver-convention 0.8.0
build.gradle.kts -> Java toolchain 25
Additional source-level context
build.gradle.kts also contains a checked-in block labeled 26.1 compile triage that excludes parts of the main source set:
client/ClientEventHandler.java
client/LogisticsNodeRenderer.java
client/model/**
integration/emi/**
So there are two separate build-health concerns right now:
- the current Gradle/Foojay/toolchain combination fails before compilation
- even after that is fixed, the default compile path is currently excluding real source files from
main
Expected behavior
A clean clone should be able to run gradlew.bat compileJava successfully without local toolchain/plugin surgery, and the default build should compile the intended main source set.
Suggested fix
- align the Gradle wrapper and Foojay resolver plugin versions so toolchain initialization works on a clean checkout
- once the toolchain mismatch is fixed, remove or replace the permanent
compile triage source exclusions with actual dependency/source fixes
- add a CI check for at least
compileJava so this regresses less easily
Summary
A clean checkout currently fails before Java compilation with the checked-in Gradle/toolchain configuration.
Reproduction
From a fresh clone, run:
gradlew.bat compileJavaReproduced result
Current failure:
This occurs before Java sources are compiled.
Checked-in versions involved
The repository currently contains:
gradle/wrapper/gradle-wrapper.properties-> Gradle9.1.0settings.gradle->org.gradle.toolchains.foojay-resolver-convention0.8.0build.gradle.kts-> Java toolchain25Additional source-level context
build.gradle.ktsalso contains a checked-in block labeled26.1 compile triagethat excludes parts of the main source set:client/ClientEventHandler.javaclient/LogisticsNodeRenderer.javaclient/model/**integration/emi/**So there are two separate build-health concerns right now:
mainExpected behavior
A clean clone should be able to run
gradlew.bat compileJavasuccessfully without local toolchain/plugin surgery, and the default build should compile the intended main source set.Suggested fix
compile triagesource exclusions with actual dependency/source fixescompileJavaso this regresses less easily