Skip to content

[Bug] Clean checkout fails before compilation with the current Gradle toolchain setup #28

@Akkiruk

Description

@Akkiruk

Summary

A clean checkout currently fails before Java compilation with the checked-in Gradle/toolchain configuration.

Reproduction

From a fresh clone, run:

gradlew.bat compileJava

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:

  1. the current Gradle/Foojay/toolchain combination fails before compilation
  2. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Planned Before Full Release

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions