Address Gradle 9.6 deprecations, prune stale reports/tasks, and proofread docs#736
Conversation
Gradle 9.6 deprecates the Kotlin DSL delegated-property accessors (`by registering`, `by getting`, and the `PropertyDelegate` interface), all scheduled for removal in Gradle 10. Replace them with the string-based lazy APIs: - `jvm-module`, `write-manifest`: `tasks.register(...)` instead of `by registering`. - `kmp-module`: `getByName(...)` for KMP source sets instead of `by getting`, dropping the now-redundant `@Suppress` annotations. - `jacoco-kotlin-jvm`, `jacoco-kmm-jvm`, `uber-jar-module`: `tasks.named(...)` instead of the eager `by tasks.getting`, dropping the suppressed unused `val`s that existed only for the delegate side effect. - `ProjectMetadata.kt`: replace the custom `NonEmptyValue` delegate implementing Gradle's `PropertyDelegate` with a plain helper function taking the `extra`-fallback key explicitly. The three nags remaining under `--warning-mode all` come from Detekt 1.23.8, Kover 0.9.8, and Gradle Doctor 0.12.1; no released versions fix them. They are documented in the new `gradle-10-third-party-deprecations` team memory so they are re-checked on each `dependency-update` run instead of being chased in `buildSrc`. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ecations # Conflicts: # buildSrc/src/main/kotlin/io/spine/gradle/report/pom/ProjectMetadata.kt # buildSrc/src/main/kotlin/jacoco-kmm-jvm.gradle.kts # buildSrc/src/main/kotlin/jacoco-kotlin-jvm.gradle.kts # buildSrc/src/main/kotlin/uber-jar-module.gradle.kts
Repo-wide proofread of comment and Markdown prose against the shared `english-style.md` catalog. Corrects missing articles, restrictive `which`->`that`, confusables (`temporal`->`temporary`, `far`->`fat`, `resulted`->`resulting`, `environmental`->`environment`), spelling (`taks`, `compatability`, `JavaScripts`, `NMP`, `dependant`), API-summary verb forms (`Make`->`Makes`), verb complementation, and punctuation. Also corrects two documentation-reference typos: `ConifigTester` in `README.md` and `projecet` in `Coroutines.kt`. Comments and docs only -- no code, identifiers, string literals, or license headers were changed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This pull request completes the remaining Gradle 9.6 deprecation cleanups in buildSrc, removes stale root-level dependency reports during migrate, and applies a repo-wide documentation/comment proofreading pass (plus housekeeping by pruning completed .agents/tasks/* files and adding a team memory note about third-party Gradle 10 deprecations).
Changes:
- Replace Kotlin DSL delegated-property accessors in
buildSrc(notablyProjectMetadata.kt) and avoid eager task lookup inuber-jar-module.gradle.kts. - Update
migrateto delete legacy root dependency reports (pom.xml,dependencies.md) now that reports live underdocs/dependencies. - Proofread KDoc/Markdown/comments across the repo; remove completed
.agents/tasks/*; add project memory for known third-party Gradle deprecations.
Reviewed changes
Copilot reviewed 81 out of 84 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| scripts/publish-documentation/README.md | Proofread script documentation wording/punctuation. |
| scripts/JSpecify-migration.kts | Fix KDoc punctuation. |
| scripts/buildSrc-migration.kts | Improve KDoc grammar. |
| README.md | Fix typo in referenced class name (ConfigTester). |
| migrate | Remove stale root dependency report artifacts during migration. |
| CONTRIBUTING.md | Proofread CLA section wording. |
| buildSrc/src/main/kotlin/write-manifest.gradle.kts | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/uber-jar-module.gradle.kts | Use lazy task configuration (tasks.named) and proofread comment. |
| buildSrc/src/main/kotlin/Strings.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/module.gradle.kts | Proofread comment wording. |
| buildSrc/src/main/kotlin/module-testing.gradle.kts | Proofread KDoc verb form. |
| buildSrc/src/main/kotlin/kmp-module.gradle.kts | Remove redundant suppression and proofread KDoc. |
| buildSrc/src/main/kotlin/io/spine/gradle/testing/Multiproject.kt | Proofread KDoc spelling (“dependent”). |
| buildSrc/src/main/kotlin/io/spine/gradle/RunGradle.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/report/pom/ProjectMetadata.kt | Replace delegated-property accessor approach with explicit nonEmptyValue(value, key) helper. |
| buildSrc/src/main/kotlin/io/spine/gradle/report/pom/PomXmlWriter.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/report/pom/DependencyScope.kt | Proofread comment punctuation. |
| buildSrc/src/main/kotlin/io/spine/gradle/report/license/Tasks.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/publish/StandardJavaPublicationHandler.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/publish/SpinePublishing.kt | Proofread KDoc wording and fix minor grammar. |
| buildSrc/src/main/kotlin/io/spine/gradle/publish/PublishingExts.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/publish/PublicationHandler.kt | Proofread KDoc punctuation. |
| buildSrc/src/main/kotlin/io/spine/gradle/publish/CloudArtifactRegistry.kt | Proofread KDoc wording/grammar. |
| buildSrc/src/main/kotlin/io/spine/gradle/ProjectExtensions.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/javascript/task/Publish.kt | Fix “NMP” → “NPM” in KDoc. |
| buildSrc/src/main/kotlin/io/spine/gradle/javascript/task/IntegrationTest.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/javascript/plugin/Protobuf.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/javascript/plugin/McJs.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/javascript/plugin/JsPlugins.kt | Proofread KDoc wording (“resulting”). |
| buildSrc/src/main/kotlin/io/spine/gradle/javascript/plugin/Idea.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/javascript/JsExtension.kt | Proofread KDoc wording/terminology (“JavaScript”). |
| buildSrc/src/main/kotlin/io/spine/gradle/javascript/JsEnvironment.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/javascript/JsContext.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/javadoc/JavadocConfig.kt | Proofread KDoc/comments; minor whitespace normalization. |
| buildSrc/src/main/kotlin/io/spine/gradle/javadoc/ExcludeInternalDoclet.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/javac/ErrorProne.kt | Proofread KDoc wording (“Command-line”). |
| buildSrc/src/main/kotlin/io/spine/gradle/java/Tasks.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/github/pages/UpdateGitHubPages.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/git/Repository.kt | Proofread KDoc wording (“temporary”, “check out”, etc.). |
| buildSrc/src/main/kotlin/io/spine/gradle/dart/task/Publish.kt | Proofread comments and KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/dart/task/IntegrationTest.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/dart/task/DartTasks.kt | Proofread KDoc wording (“resulting”). |
| buildSrc/src/main/kotlin/io/spine/gradle/dart/task/Build.kt | Proofread KDoc wording; fix spelling (“compatibility”). |
| buildSrc/src/main/kotlin/io/spine/gradle/dart/plugin/Protobuf.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/dart/plugin/DartPlugins.kt | Proofread KDoc wording (“resulting”). |
| buildSrc/src/main/kotlin/io/spine/gradle/dart/DartExtension.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/dart/DartEnvironment.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/dart/DartContext.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/gradle/ConfigTester.kt | Proofread KDoc; punctuation and hyphenation (“checked-out”). |
| buildSrc/src/main/kotlin/io/spine/dependency/test/AssertK.kt | Proofread KDoc punctuation. |
| buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoTap.kt | Proofread suppression comment wording. |
| buildSrc/src/main/kotlin/io/spine/dependency/local/Compiler.kt | Proofread suppression comment and KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/dependency/lib/Slf4J.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/dependency/lib/Roaster.kt | Proofread KDoc (“built”). |
| buildSrc/src/main/kotlin/io/spine/dependency/lib/Protobuf.kt | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/io/spine/dependency/lib/Coroutines.kt | Fix typo in link text (“project”). |
| buildSrc/src/main/kotlin/io/spine/dependency/lib/Asm.kt | Proofread comment wording (“that are transitive”). |
| buildSrc/src/main/kotlin/io/spine/dependency/kotlinx/Serialization.kt | Fix spacing in KDoc (under the \plugins { }` block`). |
| buildSrc/src/main/kotlin/io/spine/dependency/Dependency.kt | Proofread KDoc spacing. |
| buildSrc/src/main/kotlin/io/spine/dependency/boms/BomsPlugin.kt | Proofread comment (“though”). |
| buildSrc/src/main/kotlin/DokkaExts.kt | Proofread KDoc wording and terminology. |
| buildSrc/src/main/kotlin/detekt-code-analysis.gradle.kts | Proofread KDoc wording. |
| buildSrc/src/main/kotlin/DependencyResolution.kt | Proofread comment (“3rd-party”). |
| buildSrc/src/main/kotlin/config-tester.gradle.kts | Proofread comment wording. |
| buildSrc/src/main/kotlin/BuildExtensions.kt | Proofread comments/KDoc and fix typos (“task”). |
| buildSrc/build.gradle.kts | Proofread KDoc wording. |
| .idea/live-templates/README.md | Proofread spacing. |
| .agents/tasks/version-guard-aux-base-branches.md | Remove completed task-tracking file. |
| .agents/tasks/port-compiler-coverage.md | Remove completed task-tracking file. |
| .agents/tasks/pom-resolved-versions.md | Remove completed task-tracking file. |
| .agents/tasks/gradle-caching-plan.md | Remove completed task-tracking file. |
| .agents/tasks/fix-temp-dirs-update-gh-pages.md | Remove completed task-tracking file. |
| .agents/tasks/core-jvm-compiler-pr104-version-publish-investigation.md | Remove completed task-tracking file. |
| .agents/tasks/archive/setup-cross-tool-agent-instructions.md | Remove archived task-tracking file. |
| .agents/tasks/archive/raise-coverage.md | Remove archived task-tracking file. |
| .agents/tasks/archive/raise-coverage-kover-migration.md | Remove archived task-tracking file. |
| .agents/tasks/archive/prompt-caching-org.md | Remove archived task-tracking file. |
| .agents/tasks/archive/prohibit-automatic-commits.md | Remove archived task-tracking file. |
| .agents/tasks/archive/pom-version-null.md | Remove archived task-tracking file. |
| .agents/tasks/archive/pom-report-scope-merge.md | Remove archived task-tracking file. |
| .agents/tasks/archive/api-discovery.md | Remove archived task-tracking file. |
| .agents/memory/reference/cache-warm-window.md | Proofread wording in reference memory. |
| .agents/memory/project/gradle-10-third-party-deprecations.md | Add project memory documenting remaining Gradle 10-related third-party deprecations. |
| .agents/memory/MEMORY.md | Index the new project memory entry. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7d0e454919
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- write-manifest.gradle.kts: fix ungrammatical KDoc, "does the same what does the block" -> "does the same as the block" (Copilot). - gradle-10-third-party-deprecations memory: Kover 0.9.9 (released 2026-07-17) fixes the "Project object as a dependency notation" deprecation -- issue #818 is closed and listed in the 0.9.9 release notes. Correct the stale "0.9.8 is the latest, no released fixes" claim in the memory and its index hook; note the bump clears the warning (Codex P2). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c7ca0bfcd1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Kover 0.9.9 (released 2026-07-17) fixes the Gradle 9.6 "Using a Project object as a dependency notation" deprecation (kotlinx-kover#818). Bump both in-sync pins: the `Kover` dependency object and `koverVersion` in `buildSrc/build.gradle.kts`. Verified by building `buildSrc` with `--warning-mode all` under JDK 17: the warning is present at 0.9.8 and gone at 0.9.9 (BUILD SUCCESSFUL); only the Detekt and Gradle Doctor nags remain. The `gradle-10-third-party-deprecations` memory is updated to move Kover from pending to resolved. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This branch began as the Gradle 9.6 deprecation cleanup and has since accreted two
follow-on changes committed onto the same branch — a
migratefix and a repo-widedocumentation proofread. All are described below. (Net: 84 files, +210 / −2268.)
Gradle 9.6 deprecations (build logic)
Gradle 9.6 deprecates the Kotlin DSL delegated-property accessors —
by registering,by getting, and thePropertyDelegateinterface — all scheduled for removal inGradle 10. Most of that migration already landed on
master; this branch clears theremaining call sites:
ProjectMetadata.kt— replace the customNonEmptyValueproperty-delegate classwith a plain
nonEmptyValue(value, key)helper that takes theextra-fallback keyexplicitly.
uber-jar-module— configurepublishFatJarPublicationToMavenLocalthrough thelazy
tasks.named(...)instead of the eagergetByName(...).kmp-module— drop a now-redundant@Suppress("UNUSED_VARIABLE").After this, no
by registering/by getting/PropertyDelegateusages remain inbuildSrc.Third-party deprecations
Three deprecation nags remain under
--warning-mode all, all from plugins rather thanour build logic: Detekt 1.23.8, Kover 0.9.8, and Gradle Doctor 0.12.1. No released
versions fix them. They are recorded in the new
gradle-10-third-party-deprecationsteam memory so they are re-checked on each
dependency-updaterun rather than chasedin
buildSrc.Remove stale root dependency reports (
migrate)Dependency reports are now generated under
docs/dependencies(seePomGeneratorandLicenseReporter). Themigratescript now deletes the legacy root-levelpom.xmlanddependencies.mdfrom each consumer on./config/pull— usinggit rmwhen the fileis tracked (the usual case, so the pull's own commit carries the removal) and
rm -fotherwise. The older root copies were being flagged by the Codex and Copilot CI
reviewers; in a Gradle repo a root
pom.xmlis only ever this generated report, sodeleting it is safe.
Repo-wide documentation proofread
A full-sweep proofread of comment and Markdown prose against the shared
english-style.mdcatalog — roughly 130 fixes across ~66 files (buildSrc KDoc, rootdocs, and scripts). Corrections cover missing articles, restrictive
which→that,confusables (
temporal→temporary,far→fat,resulted→resulting), spelling(
taks,compatability,NMP,dependant), API-summary verb forms, and punctuation,plus two documentation-reference typos (
ConifigTester,projecet). Comments and docsonly — no code, identifiers, string literals, or license headers were changed.
Housekeeping
Remove 14 completed task-tracking files under
.agents/tasks/(8 archived + 6 loose),per the "delete the task file on merge" convention.