Skip to content

Bump Validation and related dependencies; modernize build and proofread docs#8

Merged
alexander-yevsyukov merged 17 commits into
masterfrom
bump-validation-etc
Jul 23, 2026
Merged

Bump Validation and related dependencies; modernize build and proofread docs#8
alexander-yevsyukov merged 17 commits into
masterfrom
bump-validation-etc

Conversation

@alexander-yevsyukov

Copy link
Copy Markdown
Contributor

Summary

Continues the dependency modernization begun in #7 (merged), advancing the
published version 2.0.0-SNAPSHOT.2062.0.0-SNAPSHOT.207. It syncs the
shared config tooling, bumps the local Spine dependencies, resolves the
resulting version-conflict build failures using the base-types repo as the
reference, and proofreads the library's API documentation.

What changed

  • Config & agent tooling sync — floats the config submodule and re-syncs
    distributed files (.agents, .claude, .junie, CI workflows, Gradle
    wrapper, buildSrc); registers the .agents/shared submodule.
  • Dependency bumps — Validation .450, Base .425, Compiler .062,
    CoreJvm .450, CoreJvmCompiler .080, Time .244, ToolBase .403; drops
    obsolete McJava/ProtoData, adds the new storage libraries.
  • Build fixes (base-types-aligned) — the root buildscript is now lenient
    (dropped doForceVersions/fail-on-version-conflict, minimal force list),
    so the bumped Spine tools resolve to their newest transitive versions instead
    of failing configuration; the module force list pins Time,
    Base.environment, and Base.format; the root project is renamed
    spine-changechange (the spine- prefix is added on publishing).
  • Version bump.206.207, migrating the deprecated
    val versionToPublish by extra(...) to extra.set(...) (clears a Gradle 9
    deprecation warning); dependency reports regenerated under
    docs/dependencies/, and the legacy root pom.xml/dependencies.md removed.
  • Docs — proofread the API doc comments and Protobuf documentation
    (subject–verb agreement, missing articles, restrictive whichthat, a
    dropped word); README now states Java 17 and retitles the usage section to
    "Using in a Gradle project".

Verification

  • ./gradlew clean build dokkaGenerategreen, tests run, no unresolved
    doc links.
  • Version gate: .207 > .206 (base).
  • Pre-PR reviewers all passed: kotlin-engineer APPROVE,
    spine-code-review APPROVE WITH CHANGES, review-docs APPROVE WITH
    CHANGES — no Must-fix items; the flagged should-fixes (a comment line over
    100 chars, and articles the first proofread pass missed) are fixed in this
    branch.

Notes for reviewers

  • Most of the large file count is config-distributed tooling — skip per
    AGENTS.md § Code review. The repo-owned changes are the build scripts
    (build.gradle.kts, module.gradle.kts, settings.gradle.kts,
    version.gradle.kts), change/src/**, and the Markdown/doc-comment prose.
  • This branch was previously merged as Bump Validation and other local dependencies #7 and then continued; it now carries
    forward work relative to master (.206.207).
  • The branch keeps its custom module convention plugin rather than migrating
    to the config-provided jvm-module, to avoid changing the published
    dependency surface (implementationapi).
  • docs/dependencies/pom.xml regenerates nondeterministically due to
    multi-module report aggregation; it is committed at the correct forced
    versions. CI's ensure-reports-updated only checks the report files were
    modified in the PR.

🤖 Generated with Claude Code

alexander-yevsyukov and others added 15 commits December 26, 2025 16:32
Sync the config-distributed files with the latest `config` submodule and
register the `.agents/shared` submodule: agent guidelines and skills
(`.agents`, `.claude`, `.junie`, `AGENTS.md`, `CLAUDE.md`), CI workflows,
IDE settings, the Gradle wrapper, and the `buildSrc` build infrastructure.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bump the local Spine dependency versions the branch targets: Validation
`.450`, Base `.425`, Compiler `.062`, CoreJvm `.450`, CoreJvmCompiler
`.080`, Time `.244`, ToolBase `.403`, and others.

Sync the rest of the dependency definitions with `config`: add the new
`storage` libraries and `Testcontainers`, and drop the obsolete `McJava`
and `ProtoData` declarations.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Root `buildscript`: drop `doForceVersions` (fail-on-version-conflict)
  and reduce the classpath force list to the minimal set, mirroring the
  lenient buildscript of `base-types`. The bumped Spine tools now resolve
  to their newest transitive versions instead of failing configuration.
- `module.gradle.kts`: force `Time` artifacts and `Base.environment` /
  `Base.format` so the bumped versions win in the module and Spine
  compiler configurations.
- Rename the root project `spine-change` -> `change`; the `spine-` prefix
  is added automatically when publishing.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Regenerate `docs/dependencies/pom.xml` and `docs/dependencies/dependencies.md`
for version `2.0.0-SNAPSHOT.207` and the bumped dependency set.

Remove the legacy root-level `pom.xml` and `dependencies.md`, superseded
by the reports under `docs/dependencies/`.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fix English-grammar errors in prose, per the shared style catalog:

- Subject-verb agreement: `instance represent` -> `represents`.
- Missing articles: `Obtains expected value` -> `Obtains the expected
  value`; `Creates {@code ValueMismatch}` -> `Creates a ...`.
- Restrictive `which` -> `that` in `value_mismatch.proto`.
- `can be use` -> `can be used`; `rule apply` -> `rule applies`.
- Restore the word dropped from `different than expected by a command`
  (confirmed against the parallel `StringMismatch` summary).
- Article and which/that fixes in `CONTRIBUTING.md` and the `.agents`
  conversion note.

Comment and Markdown prose only; no code or identifiers changed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- The modules build with Java 17, not Java 11.
- Retitle the usage section to "Using in a Gradle project".

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Address the pre-PR documentation review:

- Finish the article and hyphen fixes the first proofread pass left in the
  same sentences: `discovering a non-zero value`, `discovering a zero value`,
  `a non-zero amount`, `when a command finds a false/true value`.
- Restrictive `which` -> `that` in the `.agents` Java-to-Kotlin note.
- Wrap the over-long comment line in `change.proto` under the 100-char limit.
- Stamp the copyright year (2026) on the proofread-modified sources so the
  change set is consistent.

Comment and Markdown prose only; no code or identifiers changed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
`Build on Ubuntu` failed at the Codecov upload step with "Found 0 coverage
files to report": the custom `module` convention plugin applied the plain
`jacoco` plugin but never configured a report, and the root
`JacocoConfig.jacocoRootReport` was skipped, so no coverage XML was produced.

Adopt the Kover setup that `base-types` uses via `jvm-module`: apply
`org.jetbrains.kotlinx.kover` in the module with `useJacoco(...)` and an XML
report on `check`, producing `build/reports/kover/report.xml` for Codecov to
discover. Drop the now-unused root `jacoco` plugin and `JacocoConfig`.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@codecov

codecov Bot commented Jul 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.31%. Comparing base (53fe702) to head (df5b6da).
⚠️ Report is 18 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##             master       #8   +/-   ##
=========================================
  Coverage     99.31%   99.31%           
  Complexity       86       86           
=========================================
  Files             9        9           
  Lines           290      290           
  Branches          4        4           
=========================================
  Hits            288      288           
  Misses            1        1           
  Partials          1        1           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@armiol armiol left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@alexander-yevsyukov let's fill in docs/project.md as discussed.

Fill in `docs/project.md` (symlinked from `.agents/project.md`) with the
overview and architecture of the `change` library: the `Change` and
`ValueMismatch` Protobuf types, the `io.spine.change` public API (`Changes`,
the `*Mismatch` utilities, `ChangePreconditions`), the new-value-not-equal
invariant, and the role of the module within the Spine SDK.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@alexander-yevsyukov

Copy link
Copy Markdown
Contributor Author

Done — docs/project.md is now filled in with the change library's overview and architecture (the Change/ValueMismatch types, the io.spine.change public API, and the new-value-not-equal invariant), in commit df5b6da on this branch. Ready for another look.

🤖 Addressed by Claude Code

@alexander-yevsyukov
alexander-yevsyukov merged commit 4853940 into master Jul 23, 2026
9 checks passed
@alexander-yevsyukov
alexander-yevsyukov deleted the bump-validation-etc branch July 23, 2026 18:29
@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

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

2 participants