Skip to content

Rebuild with refreshed dependencies - #328

Merged
alexander-yevsyukov merged 12 commits into
masterfrom
cascade-refresh-2cd0e3b
Sep 2, 2026
Merged

alexander-yevsyukov merged 12 commits into
masterfrom
cascade-refresh-2cd0e3b

Conversation

@alexander-yevsyukov

Copy link
Copy Markdown
Collaborator

Summary

Automated cascade wave: rebuild against the refreshed dependency baseline.
Part of a cross-repository wave driven from summit (see
summit/docs/rollout/rebuild.md); this PR opened only after every dependency
version pinned here was verified present in the public registry.

Commits

  • Update shared agent tooling and config (./config/pull) — floated shared
    tooling and the config-distributed build files (absent when config was
    already current).
  • Update local dependency pins — io.spine.dependency.local constants
    advanced to the wave's upstream versions (may appear twice after a drift
    refresh).
  • Bump version / Set version — the versioning-policy increment, or the
    wave's coordinated target.
  • Update dependency reports — docs/dependencies/ regenerated by the clean
    build.
  • Adapt to refreshed dependencies — only when upstream API changes required
    mechanical source fixes; review this commit with extra care.

Verification

  • ./gradlew clean build dokkaGenerate green locally against the wave's
    artifacts (mavenLocal until upstream publication, the registry afterwards).
  • pre-pr reviewers ran at the exact HEAD of this PR (sentinel-gated).
  • Every pinned upstream version confirmed in
    europe-maven.pkg.dev/spine-event-engine metadata before gh pr create.

alexander-yevsyukov and others added 11 commits August 29, 2026 23:38
TEMPORARY consumer-copy edits: CoreJvmCompiler .092 and the Compiler
dogfooding floor .069, so the build script and the plugin classpath share one
generation. Superseded by the `config` pin bump once it publishes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Force the kotlinx pair, Caffeine, and the Protobuf runtime on the build
script and in the module conventions: floor artifacts request the pre-refresh
versions, tripping `failOnVersionConflict()`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Force the Time artifacts: the refreshed compiler pins the current Time while
floor artifacts still request the previous one.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Restore the CoreJvm Compiler floor to its published version. That repository
is built after this one, so its floor must name an artifact the registry
already serves.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The published CoreJvm Compiler floor requests the previous patch of both
Jackson generations, which `failOnVersionConflict()` cannot settle. Align
them by resolution rule rather than by `force`: the conflict surfaces on the
plugin-managed `spineCompiler` classpath, which honours rules but not forces,
so the existing `forceArtifacts` calls never reach it.

`jackson-annotations` is excluded because it carries its own version line;
forcing it to the 2.x value would request an artifact that does not exist.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Pin `jackson-annotations` to its own version line rather than excluding it.
  Excluding left it the one Jackson artifact with no version management on
  the `spineCompiler` classpath, since `force` does not reach there either.
- Read the group identifiers from the dependency objects. The rule exists
  because Jackson changed its group between generations, so spelling the
  group as a literal beside a version taken from the object invites exactly
  the drift the objects prevent.
- Give the substitution a `because(...)`, so a resolution report traces back
  to the CoreJvm Compiler floor rather than saying only "selected by rule".
- Drop a duplicated `Time.lib` from a single `force(...)` call and put
  `Time.javaExtensions` beside the entry it belongs with.
- Record why this block carries no `isDokka` guard: verified that adding one
  fails `dokkaGenerate`, because Dokka requests an `io.spine:spine-base`
  version that is no longer published and these forces rewrite it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 2, 2026 12:57
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 2, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-02T13:00:18.876764Z 28e89a5 PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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.

🟢 Approval recommended

Changes are consistent dependency/version refreshes plus targeted, well-scoped resolutionStrategy adjustments, with no dangling references found for the removed AppEngine pin.

Pull request overview

Rebuilds validation against the refreshed Spine dependency baseline by bumping pinned versions and adjusting Gradle resolution rules to keep transitive dependency graphs consistent (notably for compiler/Dokka classpaths).

Changes:

  • Bumped the project version (2.0.0-SNAPSHOT.463 → 2.0.0-SNAPSHOT.464) and refreshed published dependency report metadata.
  • Advanced numerous pinned dependency versions in buildSrc (Spine, Protobuf, Kotlin/KotlinX, Jackson, gRPC, PMD, etc.).
  • Updated Gradle dependency resolution/forcing rules to better align KotlinX (BOM + AtomicFU), Protobuf runtime, Jackson generations, and Time artifacts across configurations (including Dokka-related paths).
File summaries
File Description
version.gradle.kts Bumps the library publish version to 2.0.0-SNAPSHOT.464.
docs/dependencies/pom.xml Regenerates dependency report POM with refreshed versions.
buildSrc/src/main/kotlin/module.gradle.kts Strengthens dependency alignment/forcing (Jackson rule alignment; forces Coroutines BOM, AtomicFU, Protobuf runtime, Time Java extensions; Dokka-related rationale).
buildSrc/src/main/kotlin/io/spine/dependency/test/Kotest.kt Updates Kotest version pin.
buildSrc/src/main/kotlin/io/spine/dependency/test/JUnit.kt Updates JUnit/JUnit Platform version pins.
buildSrc/src/main/kotlin/io/spine/dependency/storage/PostgreSql.kt Updates PostgreSQL JDBC driver version pin.
buildSrc/src/main/kotlin/io/spine/dependency/storage/MySql.kt Updates MySQL JDBC driver version pin.
buildSrc/src/main/kotlin/io/spine/dependency/local/Validation.kt Updates Validation artifacts version pin.
buildSrc/src/main/kotlin/io/spine/dependency/local/ToolBase.kt Updates ToolBase version pin.
buildSrc/src/main/kotlin/io/spine/dependency/local/Time.kt Updates Spine Time version pin.
buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoTap.kt Updates ProtoTap version pin.
buildSrc/src/main/kotlin/io/spine/dependency/local/Logging.kt Updates Spine Logging version pin.
buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.kt Updates Core JVM compiler plugin/test versions.
buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt Updates Core JVM library version pin.
buildSrc/src/main/kotlin/io/spine/dependency/local/Compiler.kt Updates compiler fallback versions used by build tooling.
buildSrc/src/main/kotlin/io/spine/dependency/local/Change.kt Updates Spine Change version pin.
buildSrc/src/main/kotlin/io/spine/dependency/local/BaseTypes.kt Updates Spine Base Types version pin.
buildSrc/src/main/kotlin/io/spine/dependency/local/Base.kt Updates Spine Base version pin.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Roaster.kt Updates Roaster version pin.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Protobuf.kt Updates Protobuf version pin.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Plexus.kt Updates Plexus Utils version and adjusts comment to match 4.x usage.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Okio.kt Updates Okio version pin.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Netty.kt Updates Netty version pin.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Kotlin.kt Updates Kotlin runtime/embeddable version pins and clarifies embedded compiler meaning.
buildSrc/src/main/kotlin/io/spine/dependency/lib/JacksonV2.kt Updates Jackson 2.x BOM/version pin.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Jackson.kt Updates Jackson 3.x version pin.
buildSrc/src/main/kotlin/io/spine/dependency/lib/HttpClient.kt Updates Google HTTP Client version pin.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Guava.kt Updates Guava version pin.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Grpc.kt Updates gRPC BOM/version pin.
buildSrc/src/main/kotlin/io/spine/dependency/lib/GoogleApis.kt Updates Google Auth Library version pin.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Firebase.kt Updates Firebase Admin SDK version pin.
buildSrc/src/main/kotlin/io/spine/dependency/lib/CommonsLogging.kt Updates Commons Logging version pin.
buildSrc/src/main/kotlin/io/spine/dependency/lib/CommonsCodec.kt Updates Commons Codec version pin.
buildSrc/src/main/kotlin/io/spine/dependency/lib/AppEngine.kt Removes AppEngine dependency pin (no longer used).
buildSrc/src/main/kotlin/io/spine/dependency/kotlinx/Serialization.kt Updates KotlinX Serialization version pin.
buildSrc/src/main/kotlin/io/spine/dependency/kotlinx/Coroutines.kt Updates KotlinX Coroutines BOM/version pin.
buildSrc/src/main/kotlin/io/spine/dependency/kotlinx/AtomicFu.kt Updates AtomicFU version pin.
buildSrc/src/main/kotlin/io/spine/dependency/build/Pmd.kt Updates PMD version pin.
buildSrc/src/main/kotlin/io/spine/dependency/build/Ksp.kt Updates KSP version pin.
buildSrc/src/main/kotlin/io/spine/dependency/build/JSpecify.kt Updates JSpecify version pin and copyright year.
buildSrc/src/main/kotlin/io/spine/dependency/build/ErrorProne.kt Updates ErrorProne Gradle plugin version pin.
buildSrc/src/main/kotlin/io/spine/dependency/build/CheckerFramework.kt Updates Checker Framework annotations version pin.
buildSrc/build.gradle.kts Updates buildSrc tool/plugin versions (grgit, Kotlin embedded, Guava, ErrorProne plugin, shadow, junit/kotest, zip4j, etc.).
build.gradle.kts Extends buildscript forcing to include Coroutines BOM, AtomicFU, and Caffeine to avoid pre-refresh transitive floors.
Review details
  • Files reviewed: 44/46 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@alexander-yevsyukov alexander-yevsyukov moved this to 🏗 In progress in v2.0 Sep 2, 2026
@alexander-yevsyukov alexander-yevsyukov self-assigned this Sep 2, 2026
@codecov

codecov Bot commented Sep 2, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.63%. Comparing base (15a7be4) to head (cf505ad).

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #328   +/-   ##
=========================================
  Coverage     92.63%   92.63%           
  Complexity      363      363           
=========================================
  Files            84       84           
  Lines          2090     2090           
  Branches        157      157           
=========================================
  Hits           1936     1936           
  Misses          110      110           
  Partials         44       44           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

`because(...)` annotates the version selection, and surfaces in
`dependencyInsight` as the reason a coordinate resolved the way it did. It
carried the mechanism instead -- that this classpath honours rules rather
than forces -- which answers a question the reader of that report is not
asking, and which the surrounding comment already explains.

State the reason the versions need aligning at all.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings September 2, 2026 13:11
@alexander-yevsyukov alexander-yevsyukov moved this from 🏗 In progress to In Review in v2.0 Sep 2, 2026

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.

🔵 Needs a closer look

It performs a broad dependency refresh with build-wide resolution-strategy changes that can have wide-ranging effects and warrants final human verification.

Review details
  • Files reviewed: 44/46 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

@alexander-yevsyukov
alexander-yevsyukov merged commit 6465029 into master Sep 2, 2026
12 checks passed
@alexander-yevsyukov
alexander-yevsyukov deleted the cascade-refresh-2cd0e3b branch September 2, 2026 13:25
@github-project-automation github-project-automation Bot moved this from In Review to ✅ Done in v2.0 Sep 2, 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