Skip to content

Address Gradle 9.6 deprecations, prune stale reports/tasks, and proofread docs#736

Merged
alexander-yevsyukov merged 8 commits into
masterfrom
address-gradle-deprecations
Jul 23, 2026
Merged

Address Gradle 9.6 deprecations, prune stale reports/tasks, and proofread docs#736
alexander-yevsyukov merged 8 commits into
masterfrom
address-gradle-deprecations

Conversation

@alexander-yevsyukov

@alexander-yevsyukov alexander-yevsyukov commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

This branch began as the Gradle 9.6 deprecation cleanup and has since accreted two
follow-on changes committed onto the same branch — a migrate fix and a repo-wide
documentation 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 the PropertyDelegate interface — all scheduled for removal in
Gradle 10. Most of that migration already landed on master; this branch clears the
remaining call sites:

  • ProjectMetadata.kt — replace the custom NonEmptyValue property-delegate class
    with a plain nonEmptyValue(value, key) helper that takes the extra-fallback key
    explicitly.
  • uber-jar-module — configure publishFatJarPublicationToMavenLocal through the
    lazy tasks.named(...) instead of the eager getByName(...).
  • kmp-module — drop a now-redundant @Suppress("UNUSED_VARIABLE").

After this, no by registering / by getting / PropertyDelegate usages remain in
buildSrc.

Third-party deprecations

Three deprecation nags remain under --warning-mode all, all from plugins rather than
our 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-deprecations
team memory so they are re-checked on each dependency-update run rather than chased
in buildSrc.

Remove stale root dependency reports (migrate)

Dependency reports are now generated under docs/dependencies (see PomGenerator and
LicenseReporter). The migrate script now deletes the legacy root-level pom.xml and
dependencies.md from each consumer on ./config/pull — using git rm when the file
is tracked (the usual case, so the pull's own commit carries the removal) and rm -f
otherwise. The older root copies were being flagged by the Codex and Copilot CI
reviewers; in a Gradle repo a root pom.xml is only ever this generated report, so
deleting it is safe.

Repo-wide documentation proofread

A full-sweep proofread of comment and Markdown prose against the shared
english-style.md catalog — roughly 130 fixes across ~66 files (buildSrc KDoc, root
docs, and scripts). Corrections cover missing articles, restrictive whichthat,
confusables (temporaltemporary, farfat, resultedresulting), spelling
(taks, compatability, NMP, dependant), API-summary verb forms, and punctuation,
plus two documentation-reference typos (ConifigTester, projecet). Comments and docs
only — 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.

alexander-yevsyukov and others added 3 commits July 3, 2026 00:54
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
@alexander-yevsyukov alexander-yevsyukov moved this to 🏗 In progress in v2.0 Jul 22, 2026
@alexander-yevsyukov alexander-yevsyukov self-assigned this Jul 22, 2026
@alexander-yevsyukov alexander-yevsyukov changed the title Address Gradle 9.6 deprecations in build logic Address Gradle 9.6 deprecations in build logic and remove stale task files Jul 22, 2026
alexander-yevsyukov and others added 3 commits July 22, 2026 16:58
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>
@alexander-yevsyukov alexander-yevsyukov changed the title Address Gradle 9.6 deprecations in build logic and remove stale task files Address Gradle 9.6 deprecations, prune stale reports/tasks, and proofread docs Jul 22, 2026
@alexander-yevsyukov
alexander-yevsyukov marked this pull request as ready for review July 22, 2026 17:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 (notably ProjectMetadata.kt) and avoid eager task lookup in uber-jar-module.gradle.kts.
  • Update migrate to delete legacy root dependency reports (pom.xml, dependencies.md) now that reports live under docs/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.

Comment thread buildSrc/src/main/kotlin/write-manifest.gradle.kts Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread .agents/memory/project/gradle-10-third-party-deprecations.md Outdated
- 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>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread migrate
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>
@alexander-yevsyukov alexander-yevsyukov moved this from 🏗 In progress to In Review in v2.0 Jul 22, 2026
@alexander-yevsyukov
alexander-yevsyukov merged commit 91e13d4 into master Jul 23, 2026
3 checks passed
@alexander-yevsyukov
alexander-yevsyukov deleted the address-gradle-deprecations branch July 23, 2026 13:37
@github-project-automation github-project-automation Bot moved this from In Review to ✅ Done in v2.0 Jul 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants