Rebuild with refreshed dependencies - #200
Conversation
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>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
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.251and regeneratedocs/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
generatePomto 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 Report✅ All modified and coverable lines are covered by tests. 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:
|
Summary
Automated cascade wave: rebuild against the refreshed dependency baseline.
Part of a cross-repository wave driven from
summit(seesummit/docs/rollout/rebuild.md); this PR opened only after every dependencyversion pinned here was verified present in the public registry.
Commits
./config/pull) — floated sharedtooling and the config-distributed build files (absent when config was
already current).
io.spine.dependency.localconstantsadvanced to the wave's upstream versions (may appear twice after a drift
refresh).
wave's coordinated target.
docs/dependencies/regenerated by the cleanbuild.
mechanical source fixes; review this commit with extra care.
Verification
./gradlew clean build dokkaGenerategreen locally against the wave'sartifacts (mavenLocal until upstream publication, the registry afterwards).
pre-prreviewers ran at the exact HEAD of this PR (sentinel-gated).europe-maven.pkg.dev/spine-event-enginemetadata beforegh pr create.