Skip to content

Rebuild with refreshed dependencies - #200

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

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

Conversation

@alexander-yevsyukov

Copy link
Copy Markdown
Contributor

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 pinsio.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 reportsdocs/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 17 commits August 29, 2026 22:07
TEMPORARY consumer-copy edits of config-distributed pin files: Compiler .069,
CoreJvmCompiler .092, ToolBase .422 — the generation built and verified for
this wave. Superseded by the `config` pin bump once it publishes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Replace the retired `CoreJvmCompiler.pluginLib` accessor with its
`gradlePlugin` successor on the build script classpath.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Force the Jackson 2.x family in both the build script and project resolution
strategies: the existing helpers cover only the 3.x line, while the
refresh-era plugin jars and floor artifacts still bring `com.fasterxml.*`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Force the kotlinx pair and the Protobuf runtime on the build script
classpath, matching the project-level forces.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Force Caffeine on the build script classpath: `aedile-core` requests the
3.0.4 line while the refreshed baseline is on 3.2.4.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Force the coroutines BOM, atomicfu, and the Protobuf runtime at project
level: `Coroutines.forceArtifacts` covers the modules list but not the BOM
itself, which floor artifacts still request at the pre-refresh version.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Force Caffeine at project level as well: the IntelliJ Platform artifacts
pulled in through `psi-java` request the 3.0.4 line.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Force the kotlinx pair, the Protobuf runtime, and Caffeine in the nested
`tests` build (both build-script and project scopes): its floor artifacts —
notably the currently published Validation — request the pre-refresh
versions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Restore the Compiler and CoreJvm Compiler floors to their published versions.
Both repositories are built after this one, so their floors must name
artifacts the registry already serves; only the closing `config` PR advances
them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The published Compiler was built against the previous `tool-base`, so it
requests those artifacts one version behind the one pinned here, and
`failOnVersionConflict()` cannot choose between them. That `tool-base`
release carried only build-script changes, so the two are source-identical
and pinning the newer one is safe.

The force is repeated in three places because they do not share a resolution
strategy: the `allprojects` block covers project configurations, the root
`buildscript` block covers the plugin classpath, and `tests/` is a nested
build launched through `RunBuild` that inherits neither.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Drop `ToolBase.lib` from all three force lists. The artifact is deprecated
  and `io.spine.tools:tool-base` is not published at the pinned version --
  the registry stops at `.410` -- so forcing it was inert only while nothing
  requested the module, and would have failed resolution outright once
  something did. One of the three sites predates this branch: the `.404` ->
  `.422` bump silently turned a valid pin into a dead one.
- Add `ToolBase.psiJava`. The published Compiler requests `psi-java` at the
  previous version, which is exactly what these lists exist to settle; the
  set named `psi`, a different module, and omitted `psi-java` because it is
  declared through a name constant rather than a literal coordinate.
- Use the `toolBase` alias in the nested build, matching the idiom that file
  already establishes, and record why the `allprojects` list stays short:
  `module.gradle.kts` forces the remainder for project configurations.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The note about the Protobuf runtime sat above `Caffeine.lib`, which it does
not explain: Caffeine is forced because `aedile-core` requests the 3.0.4 line
while the refreshed baseline is on 3.2.4. A reader could have removed that
force believing it undocumented. The nested project-level list carried no
rationale at all; it now mirrors the root.

Also restore alphabetical import order in both files, and move
`Jackson.DataFormat` back beside its 3.x siblings -- the `JacksonV2` block had
been wedged into the middle of the trio.

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

chatgpt-codex-connector Bot commented Sep 1, 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-01T14:32:23.715991Z 04a9056 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.

@alexander-yevsyukov alexander-yevsyukov moved this to 🏗 In progress in v2.0 Sep 1, 2026
@alexander-yevsyukov alexander-yevsyukov self-assigned this Sep 1, 2026
@alexander-yevsyukov alexander-yevsyukov moved this from 🏗 In progress to In Review in v2.0 Sep 1, 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.

Pull request overview

Automated “cascade wave” rebuild PR that refreshes the repository’s dependency baseline (including Gradle wrapper + pinned libs), bumps the published snapshot version, regenerates dependency reports, and adapts build tooling to handle upstream changes (notably around POM generation and split tool-base artifacts).

Changes:

  • Bump project version to 2.0.0-SNAPSHOT.251 and regenerate docs/dependencies/pom.xml.
  • Update dependency pin constants (Kotlin, Protobuf, gRPC, Jackson 3.x + added Jackson 2.x alignment, etc.) and adjust buildscript force(...) rules to keep resolution consistent.
  • Rework generatePom to use per-project “resolved versions” collectors (to avoid cross-project resolution issues) and add functional TestKit coverage.

Reviewed changes

Copilot reviewed 57 out of 61 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
version.gradle.kts Bumps versionToPublish snapshot.
tests/build.gradle.kts Extends buildscript forcing to stabilize refreshed dependency graph (Protobuf/Coroutines/AtomicFu/Caffeine/tool-base).
gradle/wrapper/gradle-wrapper.properties Updates Gradle wrapper distribution URL.
docs/dependencies/pom.xml Regenerated dependency report + version bump.
buildSrc/src/test/kotlin/io/spine/gradle/report/pom/PomGeneratorIgTest.kt Adds TestKit-based functional coverage for generatePom behavior across a multi-project build.
buildSrc/src/test/kotlin/io/spine/gradle/report/pom/DependencyWriterSpec.kt Updates unit tests to provide resolved-version maps / adds failing-resolution scenario coverage.
buildSrc/src/main/kotlin/io/spine/gradle/report/pom/ResolvedVersions.kt Introduces per-project task + API for persisting dependency resolution-selected versions.
buildSrc/src/main/kotlin/io/spine/gradle/report/pom/PomXmlWriter.kt Threads resolved-version source into POM writing path.
buildSrc/src/main/kotlin/io/spine/gradle/report/pom/PomGenerator.kt Makes generatePom depend on per-project collectors + reads collected resolved versions.
buildSrc/src/main/kotlin/io/spine/gradle/report/pom/DependencyWriter.kt Refactors dependency collection to accept resolved-version provider; exposes moduleKey.
buildSrc/src/main/kotlin/io/spine/gradle/report/license/LicenseReporter.kt Tweaks output path refs, adds cache opt-out for license report task, improves version-input handling.
buildSrc/src/main/kotlin/io/spine/dependency/test/Testcontainers.kt Updates Testcontainers version + adjusts artifact coordinates for 2.x naming.
buildSrc/src/main/kotlin/io/spine/dependency/test/Kotest.kt Bumps Kotest version constant.
buildSrc/src/main/kotlin/io/spine/dependency/test/JUnit.kt Bumps JUnit versions + aligns nested platform version.
buildSrc/src/main/kotlin/io/spine/dependency/storage/PostgreSql.kt Bumps PostgreSQL JDBC driver version.
buildSrc/src/main/kotlin/io/spine/dependency/storage/MySql.kt Updates MySQL connector version constant.
buildSrc/src/main/kotlin/io/spine/dependency/local/Validation.kt Bumps Validation version; removes obsolete constants.
buildSrc/src/main/kotlin/io/spine/dependency/local/ToolBase.kt Updates tool-base version; deprecates removed monolith artifact + lists split modules.
buildSrc/src/main/kotlin/io/spine/dependency/local/Time.kt Bumps Spine Time version.
buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoTap.kt Bumps ProtoTap version.
buildSrc/src/main/kotlin/io/spine/dependency/local/ModelCompiler.kt Removes ModelCompiler pin file.
buildSrc/src/main/kotlin/io/spine/dependency/local/Logging.kt Bumps Spine Logging version.
buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.kt Updates Core JVM compiler pins + splits Gradle plugin vs compiler plugins coordinates.
buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt Bumps Spine Core JVM version.
buildSrc/src/main/kotlin/io/spine/dependency/local/Compiler.kt Bumps Compiler versions; renames fat CLI artifact to compiler-cli-all; removes cliApi.
buildSrc/src/main/kotlin/io/spine/dependency/local/Base.kt Bumps Spine Base version pins.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Roaster.kt Bumps Roaster patch version.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Protobuf.kt Bumps Protobuf version.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Plexus.kt Bumps Plexus utils version + updates comment.
buildSrc/src/main/kotlin/io/spine/dependency/lib/PalantirJavaFormat.kt Bumps Palantir Java Format version.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Okio.kt Bumps Okio version.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Netty.kt Bumps Netty version.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Log4j2.kt Bumps Log4j2 + adds SLF4J 2.x bridge coordinate with rationale.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Kotlin.kt Bumps Kotlin versions + clarifies embedded compiler vs Gradle-embedded Kotlin in docs.
buildSrc/src/main/kotlin/io/spine/dependency/lib/JacksonV2.kt Adds explicit Jackson 2.x dependency family (for transitive alignment while main code uses Jackson 3.x).
buildSrc/src/main/kotlin/io/spine/dependency/lib/Jackson.kt Switches Jackson constants to 3.x coordinates (tools.jackson) + deprecates removed modules.
buildSrc/src/main/kotlin/io/spine/dependency/lib/HttpClient.kt Bumps Google HTTP client version.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Guava.kt Bumps Guava version.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Grpc.kt Bumps gRPC version.
buildSrc/src/main/kotlin/io/spine/dependency/lib/GoogleApis.kt Bumps Google Auth Library version.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Firebase.kt Bumps Firebase Admin SDK version.
buildSrc/src/main/kotlin/io/spine/dependency/lib/CommonsLogging.kt Bumps Commons Logging version.
buildSrc/src/main/kotlin/io/spine/dependency/lib/CommonsCodec.kt Bumps Commons Codec version.
buildSrc/src/main/kotlin/io/spine/dependency/lib/AppEngine.kt Removes AppEngine dependency pin file.
buildSrc/src/main/kotlin/io/spine/dependency/kotlinx/Serialization.kt Bumps kotlinx.serialization version.
buildSrc/src/main/kotlin/io/spine/dependency/kotlinx/Coroutines.kt Bumps kotlinx.coroutines version.
buildSrc/src/main/kotlin/io/spine/dependency/kotlinx/AtomicFu.kt Bumps atomicfu version.
buildSrc/src/main/kotlin/io/spine/dependency/build/Pmd.kt Bumps PMD version.
buildSrc/src/main/kotlin/io/spine/dependency/build/Ksp.kt Bumps KSP version.
buildSrc/src/main/kotlin/io/spine/dependency/build/JSpecify.kt Bumps JSpecify version + copyright year.
buildSrc/src/main/kotlin/io/spine/dependency/build/ErrorProne.kt Bumps ErrorProne plugin version.
buildSrc/src/main/kotlin/io/spine/dependency/build/CheckerFramework.kt Bumps Checker Framework version.
buildSrc/src/main/kotlin/io/spine/dependency/boms/Boms.kt Switches optional Jackson BOM to JacksonV2 to match com.fasterxml.* ecosystem.
buildSrc/src/main/kotlin/BuildExtensions.kt Adds excludeJetBrainsAnnotations() helper to avoid buildscript classpath annotation version pin conflicts.
buildSrc/build.gradle.kts Updates buildSrc tool versions + configures TestKit functional tests to receive buildSrc classpath via system property.
build.gradle.kts Updates buildscript/tooling forcing for refreshed baseline; switches CoreJvmCompiler plugin coordinate; adds JacksonV2 alignment.
.gitignore Adds clarification around ignoring .idea/kotlinc.xml.
.github/workflows/gradle-wrapper-validation.yml Removes wrapper validation workflow file.

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

@codecov

codecov Bot commented Sep 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.39%. Comparing base (4daeedf) to head (04a9056).

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #200   +/-   ##
=========================================
  Coverage     84.39%   84.39%           
  Complexity      306      306           
=========================================
  Files            60       60           
  Lines          1102     1102           
  Branches         46       46           
=========================================
  Hits            930      930           
  Misses          163      163           
  Partials          9        9           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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