Skip to content

Upgrade Gradle from 8.5 to 9.7.1 - #1813

Merged
Josh-Larson merged 1 commit into
ProjectSWGCore:masterfrom
madsboddum:gradle9
Sep 2, 2026
Merged

Upgrade Gradle from 8.5 to 9.7.1#1813
Josh-Larson merged 1 commit into
ProjectSWGCore:masterfrom
madsboddum:gradle9

Conversation

@madsboddum

Copy link
Copy Markdown
Member

Upgrades the Gradle wrapper from 8.5 to 9.7.1. The wrapper files (gradlew, gradlew.bat, the wrapper jar and properties) are regenerated by ./gradlew wrapper --gradle-version 9.7.1.

Four companion upgrades were required to get a working build:

  • Kotlin plugin 2.1.21 -> 2.4.10. The build derives its JVM target from the running JDK, and 2.1.x has no JVM target 26.
  • org.beryx.jlink 3.1.1 -> 4.1.1 for Gradle 9 compatibility.
  • archunit-junit5 1.3.0 -> 1.5.0. 1.3.0 cannot read class file major version 70, so it imported no classes and every ArchUnit rule failed as empty.
  • testcontainers 1.21.0 -> 1.21.4. 1.21.0 pins Docker API version 1.32, and Docker 29 requires at least 1.40, so the MongoDB tests failed with Could not find a valid Docker environment.

Verification

  • ./gradlew build succeeds. All 4971 tests pass, including the MongoDB testcontainers tests.
  • ./gradlew jlink succeeds and produces the image.

Gradle reports remaining deprecations that are scheduled for removal in Gradle 10 (multi-string dependency notation, by project / by extra delegates, tasks.create). They all still work in 9.x and are left alone here to keep this change focused.

Required companion upgrades:

- Kotlin plugin 2.1.21 -> 2.4.10, as 2.1.x has no JVM target 26
- org.beryx.jlink 3.1.1 -> 4.1.1 for Gradle 9 compatibility
- archunit-junit5 1.3.0 -> 1.5.0, as 1.3.0 cannot read class file
  major version 70, which silently made every ArchUnit rule fail as
  empty
- testcontainers 1.21.4, as 1.21.0 pins Docker API version 1.32 and
  Docker 29 requires at least 1.40
@Josh-Larson
Josh-Larson merged commit d1473c5 into ProjectSWGCore:master Sep 2, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants