Skip to content

Increse coverage#931

Draft
alexander-yevsyukov wants to merge 32 commits into
masterfrom
increse-coverage
Draft

Increse coverage#931
alexander-yevsyukov wants to merge 32 commits into
masterfrom
increse-coverage

Conversation

@alexander-yevsyukov
Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI review requested due to automatic review settings June 1, 2026 12:31
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the repository snapshot version, migrates coverage reporting to Kover at the root, and performs a sizable cleanup of deprecated :base APIs (including removing deprecated classes/methods and their dedicated tests). It also adds a targeted equality/hashCode contract test for EnvironmentType, refreshes generated dependency docs, and introduces/updates various agent/tooling configuration and guidance files.

Changes:

  • Bump published snapshot version from 2.0.0-SNAPSHOT.391 to 2.0.0-SNAPSHOT.392 (and refresh generated dependency reports accordingly).
  • Switch root coverage aggregation from JaCoCo to Kover (KoverConfig.applyTo(...)) and deprecate legacy JaCoCo-based plumbing.
  • Remove multiple deprecated :base APIs (and delete now-obsolete tests), plus add a focused unit test for EnvironmentType equals/hashCode.

Reviewed changes

Copilot reviewed 96 out of 106 changed files in this pull request and generated no comments.

Show a summary per file
File Description
version.gradle.kts Bumps the published snapshot version to .392.
environment/src/test/kotlin/io/spine/environment/EnvironmentTypeSpec.kt Adds an EqualsTester-based contract test for EnvironmentType.
docs/dependencies/pom.xml Refreshes generated POM to the new snapshot version.
docs/dependencies/dependencies.md Refreshes generated dependency/license report headings and timestamp.
buildSrc/src/main/kotlin/write-manifest.gradle.kts Assigns Spine task group/description to the test manifest task.
buildSrc/src/main/kotlin/kmp-module.gradle.kts Updates copyright header year.
buildSrc/src/main/kotlin/jvm-module.gradle.kts Uses SpineTaskGroup for task grouping and updates copyright year.
buildSrc/src/main/kotlin/jacoco-kotlin-jvm.gradle.kts Marks the script plugin as deprecated and emits a deprecation warning.
buildSrc/src/main/kotlin/jacoco-kmm-jvm.gradle.kts Marks the script plugin as deprecated and emits a deprecation warning.
buildSrc/src/main/kotlin/io/spine/gradle/testing/Tasks.kt Moves custom test tasks to the shared Spine task group.
buildSrc/src/main/kotlin/io/spine/gradle/SpineTaskGroup.kt Introduces a shared constant for the "spine" Gradle task group.
buildSrc/src/main/kotlin/io/spine/gradle/report/pom/PomGenerator.kt Adds Spine task group/description metadata for generatePom.
buildSrc/src/main/kotlin/io/spine/gradle/report/license/LicenseReporter.kt Adds Spine task group/description metadata for the merge task.
buildSrc/src/main/kotlin/io/spine/gradle/report/coverage/TaskName.kt Deprecates the JaCoCo task-name catalog (legacy pipeline).
buildSrc/src/main/kotlin/io/spine/gradle/report/coverage/PathMarker.kt Deprecates legacy JaCoCo path markers.
buildSrc/src/main/kotlin/io/spine/gradle/report/coverage/KoverConfig.kt Adds Kover-based aggregation + generated-code exclusion implementation.
buildSrc/src/main/kotlin/io/spine/gradle/report/coverage/JacocoConfig.kt Deprecates legacy JaCoCo aggregation and adds task metadata.
buildSrc/src/main/kotlin/io/spine/gradle/report/coverage/FileFilter.kt Deprecates legacy JaCoCo pipeline helper.
buildSrc/src/main/kotlin/io/spine/gradle/report/coverage/FileExtensions.kt Fixes header typo (“THE USE”) and deprecates legacy JaCoCo helpers.
buildSrc/src/main/kotlin/io/spine/gradle/report/coverage/FileExtension.kt Deprecates legacy JaCoCo file extension enum.
buildSrc/src/main/kotlin/io/spine/gradle/report/coverage/CodebaseFilter.kt Deprecates legacy JaCoCo pipeline helper.
buildSrc/src/main/kotlin/io/spine/gradle/publish/PublishingExts.kt Adds Spine task group/description metadata for publishing-related tasks.
buildSrc/src/main/kotlin/io/spine/gradle/publish/IncrementGuard.kt Adds Spine task group/description metadata for the version increment check task.
buildSrc/src/main/kotlin/io/spine/gradle/javascript/task/Webpack.kt Moves JS tasks to the shared Spine task group.
buildSrc/src/main/kotlin/io/spine/gradle/javascript/task/Publish.kt Moves JS publish tasks to the shared Spine task group.
buildSrc/src/main/kotlin/io/spine/gradle/javascript/task/LicenseReport.kt Moves JS license report task to the shared Spine task group.
buildSrc/src/main/kotlin/io/spine/gradle/javascript/task/JsTasks.kt Removes JS-specific task-group constants in favor of shared grouping.
buildSrc/src/main/kotlin/io/spine/gradle/javascript/task/IntegrationTest.kt Moves JS integration tasks to the shared Spine task group.
buildSrc/src/main/kotlin/io/spine/gradle/javascript/task/Clean.kt Moves JS clean tasks to the shared Spine task group.
buildSrc/src/main/kotlin/io/spine/gradle/javascript/task/Check.kt Moves JS check/coverage tasks to the shared Spine task group.
buildSrc/src/main/kotlin/io/spine/gradle/javascript/task/Assemble.kt Moves JS assemble tasks to the shared Spine task group.
buildSrc/src/main/kotlin/io/spine/gradle/javadoc/ExcludeInternalDoclet.kt Adds Spine task group/description metadata to the custom Javadoc task.
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/UpdateGitHubPages.kt Adds Spine task group/description metadata to GitHub Pages tasks.
buildSrc/src/main/kotlin/io/spine/gradle/dart/task/Publish.kt Moves Dart publish tasks to the shared Spine task group.
buildSrc/src/main/kotlin/io/spine/gradle/dart/task/IntegrationTest.kt Moves Dart integration test task to the shared Spine task group.
buildSrc/src/main/kotlin/io/spine/gradle/dart/task/DartTasks.kt Removes Dart-specific task-group constants in favor of shared grouping.
buildSrc/src/main/kotlin/io/spine/gradle/dart/task/Build.kt Moves Dart build tasks to the shared Spine task group.
buildSrc/src/main/kotlin/io/spine/gradle/ConfigTester.kt Adds Spine task group/description metadata to config tester tasks.
buildSrc/src/main/kotlin/io/spine/dependency/test/Kover.kt Bumps Kover plugin version constant to 0.9.8.
buildSrc/src/main/kotlin/DokkaExts.kt Adds Spine task group/description metadata for htmlDocsJar.
buildSrc/src/main/kotlin/config-tester.gradle.kts Adds Spine task group/description metadata for the script clean task.
buildSrc/build.gradle.kts Updates the pinned Kover plugin version to 0.9.8.
build.gradle.kts Switches root coverage wiring from JacocoConfig to KoverConfig.
base/src/test/kotlin/io/spine/util/TextTest.kt Deletes tests for the removed deprecated Text type.
base/src/test/java/io/spine/protobuf/CollectionsConverterTest.java Deletes tests for the removed deprecated CollectionsConverter.
base/src/main/kotlin/io/spine/util/MoreCollections.kt Removes deprecated collection extensions that delegated elsewhere.
base/src/main/kotlin/io/spine/string/Indent.kt Removes deprecated DEFAULT_SIZE constant.
base/src/main/kotlin/io/spine/protobuf/AnyExts.kt Removes deprecated unpackGuessingType() API.
base/src/main/kotlin/io/spine/io/Files.kt Removes deprecated File.toUnix() API.
base/src/main/java/io/spine/util/Text.java Removes deprecated Text type.
base/src/main/java/io/spine/type/TypeUrl.java Removes deprecated toTypeName() method.
base/src/main/java/io/spine/query/Columns.java Removes deprecation markers from unsupported mutator overrides.
base/src/main/java/io/spine/protobuf/Durations2.java Removes deprecated members in favor of Protobuf Durations.
base/src/main/java/io/spine/protobuf/CollectionsConverter.java Removes deprecated CollectionsConverter type.
base/src/main/java/io/spine/code/proto/SourceFile.java Removes deprecated isRejections() logic from SourceFile.
base/src/main/java/io/spine/code/fs/FsObject.java Removes deprecated directory() method; modernizes equals() pattern.
base/src/main/java/io/spine/base/Identifier.java Removes deprecated findField(...) API.
AGENTS.md Updates contributor-facing guidance (question-asking discipline).
.codex/hooks.json Adds tool hooks to enforce repo gates and sanitation steps.
.codex/agents/review-docs.toml Adds Codex agent definition for documentation review.
.codex/agents/kotlin-review.toml Adds Codex agent definition for Kotlin/Java code review.
.codex/agents/dependency-audit.toml Adds Codex agent definition for dependency auditing.
.claude/settings.local.json Adds local Claude permissions configuration.
.claude/commands/raise-coverage.md Adds a Claude command wrapper for the raise-coverage skill.
.agents/tasks/spine-task-group-constant.md Adds a task plan documenting SpineTaskGroup constant rollout.
.agents/tasks/raise-base-coverage.md Adds a task plan documenting the base coverage + API cleanup effort.
.agents/tasks/gradle-caching-plan.md Adds a draft plan for Gradle caching improvements.
.agents/tasks/enforce-max-line-length.md Adds a draft plan to enforce line-length guidance for agents.
.agents/tasks/cross-agent-skill-best-practices.md Adds a draft plan to improve cross-agent skill portability.
.agents/tasks/buildsrc-gradle-review-findings.md Adds a draft capturing Gradle review findings for follow-up work.
.agents/tasks/archive/raise-coverage.md Archives historical raise-coverage task notes.
.agents/skills/version-bumped/SKILL.md Updates wording to reference skills without slash-command syntax.
.agents/skills/version-bumped/agents/openai.yaml Adds an OpenAI/Codex skill surface for version-bumped.
.agents/skills/update-copyright/SKILL.md Tightens scope/behavior for auto copyright updates.
.agents/skills/update-copyright/agents/openai.yaml Updates OpenAI/Codex prompt for update-copyright.
.agents/skills/source-command-run-build/SKILL.md Adds a skill for running the migrated run-build command.
.agents/skills/review-docs/SKILL.md Updates documentation review skill guidance and scope logic.
.agents/skills/review-docs/agents/openai.yaml Adds an OpenAI/Codex skill surface for review-docs.
.agents/skills/raise-coverage/SKILL.md Introduces the raise-coverage skill definition.
.agents/skills/raise-coverage/references/migrate-to-kover.md Adds the migration recipe from JaCoCo to Kover.
.agents/skills/raise-coverage/references/coverage-signals.md Adds Kover/JaCoCo XML localization and verification guidance.
.agents/skills/raise-coverage/agents/openai.yaml Adds an OpenAI/Codex skill surface for raise-coverage.
.agents/skills/pre-pr/SKILL.md Updates pre-PR orchestration guidance and naming.
.agents/skills/pre-pr/agents/openai.yaml Adds an OpenAI/Codex skill surface for pre-pr.
.agents/skills/move-files/SKILL.md Updates wording to reference version-bumped skill.
.agents/skills/kotlin-review/SKILL.md Updates Kotlin review skill guidance and scope logic.
.agents/skills/kotlin-review/agents/openai.yaml Adds an OpenAI/Codex skill surface for kotlin-review.
.agents/skills/java-to-kotlin/SKILL.md Updates wording to reference version-bumped skill.
.agents/skills/gradle-review/spine-task-conventions.md Adds Spine-specific Gradle task conventions doc.
.agents/skills/gradle-review/SKILL.md Adds the gradle-review skill definition.
.agents/skills/gradle-review/practices/tasks.md Adds ingested Gradle best practices for tasks.
.agents/skills/gradle-review/practices/README.md Adds an index and ingest procedure for Gradle practices.
.agents/skills/gradle-review/agents/openai.yaml Adds an OpenAI/Codex skill surface for gradle-review.
.agents/skills/dependency-update/SKILL.md Updates wording to reference version-bumped skill.
.agents/skills/dependency-audit/SKILL.md Updates dependency audit instructions and naming.
.agents/skills/dependency-audit/agents/openai.yaml Adds an OpenAI/Codex skill surface for dependency-audit.
.agents/skills/check-links/SKILL.md Updates link-checking behavior for non-Hugo repos and wording.
.agents/skills/check-links/agents/openai.yaml Adds an OpenAI/Codex skill surface for check-links.
.agents/skills/bump-gradle/SKILL.md Updates wording to reference version-bumped skill.
.agents/skills/api-discovery/SKILL.md Updates API discovery guidance to be tool-agnostic.
.agents/skills/api-discovery/agents/openai.yaml Adds an OpenAI/Codex skill surface for api-discovery.
.agents/documentation-guidelines.md Adds guidance on API doc scope vs repository-internal references.
.agents/_TOC.md Adds TOC entries for new skills (gradle-review, raise-coverage).

Copilot AI review requested due to automatic review settings June 1, 2026 12:47
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 96 out of 106 changed files in this pull request and generated no new comments.

@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 1, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.83%. Comparing base (f8ba3aa) to head (48b874b).
⚠️ Report is 210 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #931      +/-   ##
============================================
+ Coverage     74.90%   84.83%   +9.93%     
============================================
  Files           206      203       -3     
  Lines          4399     4332      -67     
  Branches        356      355       -1     
============================================
+ Hits           3295     3675     +380     
+ Misses          968      513     -455     
- Partials        136      144       +8     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@alexander-yevsyukov alexander-yevsyukov self-assigned this Jun 2, 2026
Also:
 * Use backticked names instead of `@DisplayName`.
Copilot AI review requested due to automatic review settings June 2, 2026 21:37
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 169 out of 181 changed files in this pull request and generated 10 comments.

Comment thread docs/project.md
Comment on lines +7 to +10
parsing/serialization utilities that the rest of the Spine SDK (notably
[`core-jvm`](https://github.com/SpineEventEngine/core-java)) depends on. The
artifacts published from this repo sit at the bottom of the Spine dependency
graph, so changes here ripple into most other Spine projects.
Comment thread docs/project.md
Comment thread docs/project.md
Comment thread base/src/test/kotlin/io/spine/string/StringifiersSpec.kt Outdated
Comment thread base/src/test/kotlin/io/spine/protobuf/DiffKtSpec.kt
Comment thread base/src/test/kotlin/io/spine/code/proto/TypeSetKtSpec.kt
Comment thread base/src/test/kotlin/io/spine/code/proto/FieldContextKtSpec.kt
Comment thread base/src/test/kotlin/io/spine/code/fs/AbstractSourceFileKtSpec.kt
Comment thread base/src/test/kotlin/io/spine/base/RejectionTypeKtSpec.kt
Comment thread version.gradle.kts
*/

val versionToPublish: String by extra("2.0.0-SNAPSHOT.391")
val versionToPublish: String by extra("2.0.0-SNAPSHOT.392")
Also:
 * Update test-related memories.
Also:
 * Update task doc with progress
 * Add memory for testing utility classes
Copilot AI review requested due to automatic review settings June 2, 2026 22:05
alexander-yevsyukov and others added 7 commits June 3, 2026 01:09
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 180 out of 192 changed files in this pull request and generated 5 comments.

Comments suppressed due to low confidence (3)

base/src/main/kotlin/io/spine/string/Indent.kt:60

  • DEFAULT_SIZE was removed, but it was a public API (even if deprecated). Removing it is source-breaking for downstream users still compiling against it. Consider keeping it as a deprecated alias to DEFAULT_JAVA_INDENT_SIZE until the next major removal window.
    base/src/main/java/io/spine/type/TypeUrl.java:280
  • The deprecated toTypeName() convenience method was removed. If this project still targets downstream source compatibility during snapshot iterations, consider keeping it as a deprecated delegating wrapper around typeName() until the next planned breaking release.
    base/src/main/java/io/spine/code/fs/FsObject.java:62
  • There is a formatting issue here: the Javadoc for exists() starts immediately after parent() without a blank line, which is likely to violate formatter/checkstyle rules and makes the file harder to read.

Comment thread base/src/test/kotlin/io/spine/query/EntityQuerySpec.kt
Comment thread docs/project.md
Comment on lines +7 to +11
parsing/serialization utilities that the rest of the Spine SDK (notably
[`core-jvm`](https://github.com/SpineEventEngine/core-java)) depends on. The
artifacts published from this repo sit at the bottom of the Spine dependency
graph, so changes here ripple into most other Spine projects.

Comment thread docs/project.md
Comment on lines +27 to +32
- Public API stability matters: downstream Spine repos pin to versions
published from here, so removals and signature changes are breaking.
- No analytics, telemetry, reflection, or unsafe code (see
`.agents/guidelines/safety-rules.md`).
- Versioning follows the Spine SDK policy (`.agents/guidelines/version-policy.md`);
CI's `Version Guard` rejects branches that reuse a published version.
Comment thread docs/project.md
Comment on lines +37 to +38
Read [`.agents/jvm-project.md`](jvm-project.md) for build stack, coding
style, tests, and versioning.
Comment on lines 52 to 54
/**
* Unpacks this `Any`.
*
Copilot AI review requested due to automatic review settings June 2, 2026 22:13
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 180 out of 192 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (2)

base/src/test/kotlin/io/spine/io/CopySpec.kt:32

  • shouldNotBe is imported but not used. In Kotlin, unused imports fail compilation, so this test file will not compile.
    base/src/main/java/io/spine/type/TypeUrl.java:279
  • This PR removes the deprecated toTypeName() method from TypeUrl. Even though it was deprecated, removing a public method is a breaking change for downstream users (both source and binary compatibility). If the intent is not to introduce a breaking change in this snapshot, consider keeping the method as a deprecated delegating wrapper until the next major (or at least until all known consumers migrate).

Comment on lines +29 to +32
import com.google.common.testing.EqualsTester
import com.google.protobuf.Descriptors.Descriptor
import com.google.protobuf.Empty
import com.google.protobuf.FieldMask
Comment on lines +29 to +42
import com.google.common.testing.EqualsTester
import com.google.protobuf.DescriptorProtos.FileDescriptorProto
import com.google.protobuf.Empty
import io.kotest.matchers.collections.shouldContainExactly
import io.kotest.matchers.collections.shouldHaveSize
import io.kotest.matchers.ints.shouldBeLessThan
import io.kotest.matchers.optional.shouldBePresent
import io.kotest.matchers.shouldBe
import io.kotest.matchers.shouldNotBe
import io.kotest.matchers.string.shouldContain
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.DisplayName
import org.junit.jupiter.api.Nested
import org.junit.jupiter.api.Test
Comment thread docs/project.md
Comment on lines +7 to +11
parsing/serialization utilities that the rest of the Spine SDK (notably
[`core-jvm`](https://github.com/SpineEventEngine/core-java)) depends on. The
artifacts published from this repo sit at the bottom of the Spine dependency
graph, so changes here ripple into most other Spine projects.

Comment thread version.gradle.kts
*/

val versionToPublish: String by extra("2.0.0-SNAPSHOT.391")
val versionToPublish: String by extra("2.0.0-SNAPSHOT.392")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants