Repository navigation
Conversation
Gradle 9 no longer allows changing the usage of the `api` dependency scope, which broke the nightly wrapper update. Resolve `api` through a dedicated resolvable configuration instead, and replace other APIs removed in Gradle 9 (JavaExec.main via gradle-lombok's DelombokTask, ProjectDependency.dependencyProject, LenientConfiguration.getFiles, IdeaModule.testSourceDirs). Also disable the new failOnNoDiscoveredTests check for the testMatrix no-op executer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Spring Boot 2.7 and Kotlin 1.8 Gradle plugins use APIs removed in Gradle 9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
Note
This is a first attempt at Gradle 9 compatibility. It touches the shading setup, so it's parked as a draft until after the next release.
The nightly "Update Gradle Wrapper" workflow fails on
mainbecause Gradle 9 no longer allows changing the usage of theapidependency scope:The cause is
configurations.api.canBeResolved = trueingradle/shading.gradle. The changes below work on both 8.14.3 and Gradle 9. The wrapper bump is deliberately left out so the workflow can open it.Main build
shading.gradle/publishing.gradle: resolveapithrough a newresolvableApiconfiguration that extends it, instead of makingapiresolvable. ReplaceProjectDependency.dependencyProjectwithproject.project(it.path).japicmp.gradle: replacelenientConfiguration.getFiles()with a lenientartifactView.core/build.gradle:idea.module.testSourceDirs→testSources.build.gradle: gradle-lombok'sDelombokTaskcalls the removedJavaExec.setMain, and the plugin is unmaintained. Replace the task with a plainJavaExecthat does the same thing.ci-support.gradle: turn off Gradle 9's newfailOnNoDiscoveredTestscheck for thetestMatrixno-op test executor.Examples
The Spring Boot 2.7 and Kotlin 1.8 Gradle plugins use APIs removed in Gradle 9.
spring-bootandspring-boot-kotlin-redismove to Spring Boot 3.5.16 and Kotlin 2.4.21 (jakarta imports,spring.data.redis.*, Java 17). This is a separate commit and can be split out.Verification so far
Tested locally with JDK 21 on Gradle 8.14.3 and 9.8.1:
testMatrix, japicmp,jarFileTestand javadoc pass on both versions, as doexamplesandsmoke-testchecks and the Spring Boot example tests.Still to do before merging: compare the contents of every module's shadow jar (per-entry checksums) between
mainand this branch.🤖 Generated with Claude Code
This PR description was written and published by Claude (Opus 5.5) on behalf of @kiview.
Summary by CodeRabbit