Skip to content

Bump ToolBase to 2.0.0-SNAPSHOT.403 to fix descriptor-set build-cache bug#80

Merged
alexander-yevsyukov merged 1 commit into
masterfrom
bump-tool-base
Jul 7, 2026
Merged

Bump ToolBase to 2.0.0-SNAPSHOT.403 to fix descriptor-set build-cache bug#80
alexander-yevsyukov merged 1 commit into
masterfrom
bump-tool-base

Conversation

@alexander-yevsyukov

Copy link
Copy Markdown
Contributor

What & why

GenerateProtoTask restored a stale, wrong-version known_types descriptor set from the shared Gradle build cache after a project version bump: the descriptor-set file name embeds the Maven version, but that name was not part of the task's cache key. Consumer builds then failed at test runtime with io.spine.type.UnknownTypeException for foundational types (e.g. spine.core.CommandId) — observed in core-jvm PR #1645 (version .410 → .411), 74 failures across :core:test and :client:test.

DescriptorSetFilePlugin is applied by the Compiler Gradle plugin and runs on the plugin/buildscript classpath, whose tool-base version is fixed by the Compiler's own pin — not by the consumer's project dependencies. So even a consumer already pinning tool-base .403 still generated descriptors with the unfixed .402 code the Compiler dragged in. The upstream fix (tool-base 502e3dfe, "Key the descriptor-set cache on the file name, not just the version", first shipped in 2.0.0-SNAPSHOT.403) keys the cache on the descriptor-set file name; it reaches consumers only by advancing the Compiler's pin.

Changes

  • ToolBase .402 → .403 (version + dogfoodingVersion) — the fix.
  • Refresh other local Spine dependencies to their latest snapshots: Base .421 → .423, Logging .419 → .422, Validation .446 → .449.
  • Bump compilerVersion .060 → .061.
  • Regenerate docs/dependencies/{dependencies.md,pom.xml}; float the config submodule.

spine-time held at .242: bumping it to .244 introduced a version skew (the params module resolves it transitively at .242), so it is left for a coordinated ecosystem move rather than forced.

Verification

  • ./gradlew build is green; no "uses several versions" dependency-conflict warnings.
  • Dependency reports regenerated to match.

Downstream

Once a Compiler carrying tool-base .403+ is published, core-jvm bumps its Compiler pin and removes its temporary workAroundDescriptorSetCacheBug() (which disables GenerateProtoTask caching to unblock PR #1645).

🤖 Generated with Claude Code

… bug

`GenerateProtoTask` restored a stale, wrong-version `known_types` descriptor
set from the shared Gradle build cache after a project version bump: the
descriptor set file name embeds the Maven version but was not part of the
task's cache key. Consumer builds then failed with
`io.spine.type.UnknownTypeException` for foundational types at test runtime
(observed in core-jvm PR #1645, version `.410 -> .411`).

`DescriptorSetFilePlugin` is applied by the Compiler Gradle plugin and runs on
the plugin/buildscript classpath, whose tool-base version is fixed by the
Compiler's own pin -- not the consumer's project dependencies. The upstream
fix (tool-base `502e3dfe`, first shipped in `2.0.0-SNAPSHOT.403`) keys the
descriptor-set cache on the file name; it reaches consumers only by advancing
the Compiler's pin.

- ToolBase `.402 -> .403` (`version` and `dogfoodingVersion`).
- Refresh other local Spine dependencies: Base `.421 -> .423`,
  Logging `.419 -> .422`, Validation `.446 -> .449`.
- Bump `compilerVersion` `.060 -> .061`.
- Regenerate dependency reports; update the `config` submodule.

Time is intentionally held at `.242`: bumping it to `.244` introduced a
`spine-time` version skew (the `params` module resolves it transitively at
`.242`), pending an ecosystem-wide move.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 7, 2026 16:34

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

Advances the Spine Compiler’s pinned ToolBase snapshot to 2.0.0-SNAPSHOT.403 so consumers pick up the upstream fix for GenerateProtoTask descriptor-set build-cache keying (preventing stale/wrong-version descriptor sets after a project version bump). The PR also aligns related local snapshot pins and regenerates dependency reports to reflect the updated resolved graph.

Changes:

  • Bump Compiler version to 2.0.0-SNAPSHOT.061 and refresh generated dependency docs accordingly.
  • Update local dependency pins: ToolBase .402 → .403, Base .421 → .423, Logging .419 → .422, Validation .446 → .449.
  • Regenerate dependency reports (docs/dependencies/*) to match the new resolution.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.

Show a summary per file
File Description
version.gradle.kts Bumps the published/compiler version to 2.0.0-SNAPSHOT.061.
docs/dependencies/pom.xml Regenerated POM reflecting updated first-level dependency versions (ToolBase/Base/Logging/Validation) and compiler version.
docs/dependencies/dependencies.md Regenerated license/dependency report for 2.0.0-SNAPSHOT.061 and updated resolved transitive versions.
buildSrc/src/main/kotlin/io/spine/dependency/local/Validation.kt Bumps Validation snapshot pin to .449.
buildSrc/src/main/kotlin/io/spine/dependency/local/ToolBase.kt Bumps ToolBase (and dogfooding) snapshot pin to .403 (cache fix delivery).
buildSrc/src/main/kotlin/io/spine/dependency/local/Logging.kt Bumps Logging snapshot pin to .422.
buildSrc/src/main/kotlin/io/spine/dependency/local/Base.kt Bumps Base snapshot pins (including buildscript) to .423.

@alexander-yevsyukov alexander-yevsyukov self-assigned this Jul 7, 2026
@alexander-yevsyukov alexander-yevsyukov moved this to 🏗 In progress in v2.0 Jul 7, 2026
@alexander-yevsyukov alexander-yevsyukov moved this from 🏗 In progress to In Review in v2.0 Jul 7, 2026
@alexander-yevsyukov alexander-yevsyukov merged commit eeceb4b into master Jul 7, 2026
10 of 11 checks passed
@alexander-yevsyukov alexander-yevsyukov deleted the bump-tool-base branch July 7, 2026 16:56
@github-project-automation github-project-automation Bot moved this from In Review to ✅ Done in v2.0 Jul 7, 2026
@codecov

codecov Bot commented Jul 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.60%. Comparing base (81858ca) to head (c390656).
⚠️ Report is 2 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##             master      #80   +/-   ##
=========================================
  Coverage     76.60%   76.60%           
  Complexity      687      687           
=========================================
  Files           205      205           
  Lines          4018     4018           
  Branches        400      400           
=========================================
  Hits           3078     3078           
  Misses          810      810           
  Partials        130      130           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

3 participants