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

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants