Skip to content

Bump dependencies and adjust Maven coordinates#12

Merged
alexander-yevsyukov merged 8 commits intomasterfrom
bump-dependencies
Apr 6, 2026
Merged

Bump dependencies and adjust Maven coordinates#12
alexander-yevsyukov merged 8 commits intomasterfrom
bump-dependencies

Conversation

@alexander-yevsyukov
Copy link
Copy Markdown
Contributor

This PR applies latest config and adjust the build to employ newest SpinePublishing extension.

The PR also changes the prefix of the published artifact from spine- to base-. We need the prefix to avoid the Gradle resolution issue with :testlib modules in the projects that use Base TestLib as an api or implementation dependency. Without prefix Gradle confuses testlib in a project with the library artifact.

@alexander-yevsyukov alexander-yevsyukov self-assigned this Apr 6, 2026
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c59f12c247

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@codecov
Copy link
Copy Markdown

codecov bot commented Apr 6, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 64.06%. Comparing base (37f696a) to head (c8e16d7).

Additional details and impacted files
@@             Coverage Diff              @@
##             master      #12      +/-   ##
============================================
+ Coverage     60.96%   64.06%   +3.09%     
  Complexity      113      113              
============================================
  Files            26       26              
  Lines           561      512      -49     
  Branches         20       20              
============================================
- Hits            342      328      -14     
+ Misses          211      176      -35     
  Partials          8        8              
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown

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 build/tooling stack (Gradle, Kotlin, Dokka, etc.), migrates publishing logic to the newest SpinePublishing extension, and changes the published Maven coordinates for tool-group artifacts to use a base- prefix (e.g. base-testlib) to avoid Gradle resolution conflicts.

Changes:

  • Bump dependency/tool versions across Gradle/Maven/buildSrc (Gradle wrapper, Kotlin, Dokka, Protobuf, Guava, Kotest, etc.).
  • Update publishing & documentation generation: new dokka-setup, htmlDocsJar, revised GitHub Pages publishing flow, and new buildSrc tests.
  • Adjust artifact ID calculation for io.spine.tools modules via toolArtifactPrefix (switch from spine- to base- for this repo).

Reviewed changes

Copilot reviewed 84 out of 90 changed files in this pull request and generated 12 comments.

Show a summary per file
File Description
version.gradle.kts Bumps the published snapshot version.
src/test/kotlin/io/spine/testing/logging/mute/MuteLoggingExtensionSpec.kt Updates test stubs for newer JUnit APIs.
pom.xml Updates dependency-report POM versions to match new stack.
gradlew.bat Syncs wrapper script with newer Gradle wrapper layout.
gradlew Syncs wrapper script with newer Gradle wrapper layout.
gradle/wrapper/gradle-wrapper.properties Updates Gradle wrapper distribution version.
gradle.properties Adds -Dfile.encoding=UTF-8 to Gradle JVM args.
dependencies.md Regenerates dependency/license report and updates coordinates header.
buildSrc/src/test/kotlin/io/spine/gradle/publish/SpinePublishingTest.kt Adds tests for updated SpinePublishing behavior (artifactId logic, validation, repo resolution).
buildSrc/src/test/kotlin/io/spine/gradle/docs/UpdatePluginVersionTest.kt Adds tests for new plugin-version update task.
buildSrc/src/main/kotlin/uber-jar-module.gradle.kts Switches to module plugin and aligns publishing/reporting setup.
buildSrc/src/main/kotlin/test-module.gradle.kts Adds module-testing and license report generation to test modules.
buildSrc/src/main/kotlin/module.gradle.kts Removes old Dokka script plugins usage and updates GitHub Pages configuration callsite.
buildSrc/src/main/kotlin/kmp-publish.gradle.kts Switches to dokka-setup and publishes htmlDocsJar.
buildSrc/src/main/kotlin/kmp-module.gradle.kts Removes deprecated Kotest multiplatform plugin application.
buildSrc/src/main/kotlin/jvm-module.gradle.kts Switches from old Dokka plugins to dokka-setup.
buildSrc/src/main/kotlin/io/spine/gradle/VersionWriter.kt Removes versions-file writer task/plugin implementation.
buildSrc/src/main/kotlin/io/spine/gradle/testing/Logging.kt Replaces Groovy interop closure with a proper TestListener.
buildSrc/src/main/kotlin/io/spine/gradle/report/pom/InceptionYear.kt Refactors inception year constant usage for POM generation.
buildSrc/src/main/kotlin/io/spine/gradle/report/license/LicenseReporter.kt Makes report merge tolerant of missing per-project outputs; improves logging text.
buildSrc/src/main/kotlin/io/spine/gradle/repo/RepoSlug.kt Fixes env-var error message and updates SSH host alias used for publishing.
buildSrc/src/main/kotlin/io/spine/gradle/repo/Repositories.kt Adds JetBrains IntelliJ dependencies repo and includes it in standard repos.
buildSrc/src/main/kotlin/io/spine/gradle/publish/StandardJavaPublicationHandler.kt Adjusts visibility (now non-internal) for publication handler class.
buildSrc/src/main/kotlin/io/spine/gradle/publish/SpinePublishing.kt Updates extension API; adds tool-specific artifact prefixing; removes old proto/dokka DSL pieces.
buildSrc/src/main/kotlin/io/spine/gradle/publish/ShadowJarExts.kt Changes service file handling API usage for ShadowJar.
buildSrc/src/main/kotlin/io/spine/gradle/publish/PublishingExts.kt Renames/rewires docs artifacts (htmlDocsJar, Dokka javadoc output), and adds a helper for MavenPublication.
buildSrc/src/main/kotlin/io/spine/gradle/publish/PublicationHandler.kt Updates how publication metadata (artifactId/license/SCM/inception year) is written to POM.
buildSrc/src/main/kotlin/io/spine/gradle/publish/ProtoExts.kt Refines proto source detection logic and visibility.
buildSrc/src/main/kotlin/io/spine/gradle/publish/JarDsl.kt Removes deprecated proto/dokka DSL classes; simplifies JarFlags.
buildSrc/src/main/kotlin/io/spine/gradle/protobuf/ProtoTaskExtensions.kt Removes protobuf task setup helpers (previously used for non-compiler proto builds).
buildSrc/src/main/kotlin/io/spine/gradle/ProjectExtensions.kt Updates artifactId project extension docs and keeps behavior aligned with new SpinePublishing.
buildSrc/src/main/kotlin/io/spine/gradle/kotlin/KotlinConfig.kt Updates Kotlin compiler options (JvmDefaultMode, removes obsolete flags).
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/UpdateGitHubPagesExtension.kt Simplifies extension API (removes internal-doclet wiring).
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/UpdateGitHubPages.kt Refactors pages update to use Dokka HTML + Dokka Javadoc outputs and new task names.
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/Update.kt Refactors update flow to new formats and repo-clone API.
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/TaskName.kt Renames helper task names to match new doc formats.
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/SshKey.kt Improves SSH config host alias handling and adds logging.
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/RepositoryExtensions.kt Updates repo clone helper to pass Project context and use new clone factory.
buildSrc/src/main/kotlin/io/spine/gradle/git/Repository.kt Adds retry/backoff to push; changes cloning API; adds more diagnostics.
buildSrc/src/main/kotlin/io/spine/gradle/fs/LazyTempPath.kt Updates overridden Path signatures to non-null varargs.
buildSrc/src/main/kotlin/io/spine/gradle/dokka/TaskContainerExtensions.kt Removes legacy Dokka task lookup helper.
buildSrc/src/main/kotlin/io/spine/gradle/dokka/DokkaExtensions.kt Removes legacy Dokka source filtering helper.
buildSrc/src/main/kotlin/io/spine/gradle/docs/UpdatePluginVersion.kt Adds task for updating plugin versions in build.gradle.kts files.
buildSrc/src/main/kotlin/io/spine/gradle/Cli.kt Tightens visibility of stream helper and clarifies class purpose.
buildSrc/src/main/kotlin/io/spine/dependency/test/Kotest.kt Bumps Kotest and adds plugin id constant / deprecation note.
buildSrc/src/main/kotlin/io/spine/dependency/test/JUnit.kt Bumps JUnit coordinates and prunes deprecated aliases.
buildSrc/src/main/kotlin/io/spine/dependency/local/Validation.kt Updates Validation coordinates/versioning and module naming.
buildSrc/src/main/kotlin/io/spine/dependency/local/ToolBase.kt Updates ToolBase artifact naming and adds dogfooding version.
buildSrc/src/main/kotlin/io/spine/dependency/local/Time.kt Refactors Time dependency object to Dependency-style module list.
buildSrc/src/main/kotlin/io/spine/dependency/local/Text.kt Removes Text dependency object.
buildSrc/src/main/kotlin/io/spine/dependency/local/TestLib.kt Bumps TestLib version constant.
buildSrc/src/main/kotlin/io/spine/dependency/local/Spine.kt Clarifies object purpose (Maven groups).
buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoTap.kt Bumps ProtoTap version.
buildSrc/src/main/kotlin/io/spine/dependency/local/ModelCompiler.kt Bumps ModelCompiler version.
buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.kt Bumps CoreJvm Compiler versions and updates doc link text.
buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt Bumps CoreJvm version and updates docs/aliases.
buildSrc/src/main/kotlin/io/spine/dependency/local/Compiler.kt Refactors Compiler dependency object to extend Dependency and updates versions.
buildSrc/src/main/kotlin/io/spine/dependency/local/Change.kt Bumps Change version.
buildSrc/src/main/kotlin/io/spine/dependency/local/BaseTypes.kt Bumps BaseTypes version.
buildSrc/src/main/kotlin/io/spine/dependency/local/Base.kt Updates Base artifact naming conventions and bumps version.
buildSrc/src/main/kotlin/io/spine/dependency/local/ArtifactVersion.kt Removes legacy version alias object.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Protobuf.kt Bumps Protobuf + protobuf-gradle-plugin versions.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Kotlin.kt Bumps Kotlin runtime/embedded versions.
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 BOM version.
buildSrc/src/main/kotlin/io/spine/dependency/Dependency.kt Extends artifact resolution helper to optionally accept explicit version.
buildSrc/src/main/kotlin/io/spine/dependency/build/LicenseReport.kt Bumps license report dependency object version.
buildSrc/src/main/kotlin/io/spine/dependency/build/Ksp.kt Updates KSP versioning scheme and adds dogfooding version.
buildSrc/src/main/kotlin/io/spine/dependency/build/Dokka.kt Bumps Dokka version constant.
buildSrc/src/main/kotlin/DokkaExts.kt Updates Dokka task lookups/output dirs; replaces dokka jar tasks with htmlDocsJar.
buildSrc/src/main/kotlin/dokka-setup.gradle.kts Introduces consolidated Dokka setup (incl. Dokka Javadoc plugin) and publishing-graph gating.
buildSrc/src/main/kotlin/dokka-for-kotlin.gradle.kts Removes legacy Dokka script plugin.
buildSrc/src/main/kotlin/DocumentationSettings.kt Refactors SCM/source-link URLs to be derived from the current project.
buildSrc/src/main/kotlin/compile-protobuf.gradle.kts Removes legacy protobuf compilation script plugin.
buildSrc/src/main/kotlin/BuildExtensions.kt Updates plugin accessors and task dependency wiring for new Dokka task names and KSP.
buildSrc/build.gradle.kts Updates buildSrc toolchain versions and adds JUnit/Kotest test dependencies.
build.gradle.kts Migrates to new publishing coordinates prefixing, Dokka setup, and new protobuf plugin setup.
.idea/misc.xml Updates IntelliJ project metadata formatting.
.idea/kotlinc.xml Updates IntelliJ Kotlin compiler settings (Gradle external system).
.idea/inspectionProfiles/Project_Default.xml Adds inspection config for naming conventions.
.github/workflows/publish.yml Fixes REPO_SLUG env var expression.
.agents/skills/writer/SKILL.md Adds new agent skill documentation.
.agents/skills/writer/assets/templates/kotlin-java-example.md Adds documentation templates.
.agents/skills/writer/assets/templates/kdoc-example.md Adds documentation templates.
.agents/skills/writer/assets/templates/doc-page.md Adds documentation templates.
.agents/skills/writer/agents/openai.yaml Adds agent configuration.
.agents/documentation-guidelines.md Fixes link to the local widow/orphan guideline image.
Files not reviewed (3)
  • .idea/inspectionProfiles/Project_Default.xml: Language not supported
  • .idea/kotlinc.xml: Language not supported
  • .idea/misc.xml: Language not supported
Comments suppressed due to low confidence (1)

buildSrc/src/main/kotlin/io/spine/dependency/test/JUnit.kt:102

  • JUnit.Platform.version is set to 6.0.0 while the BOM / main JUnit version is 6.0.3. Since Dependency.artifacts appends Platform.version, this can produce mixed JUnit Platform versions when Platform.artifacts is used. Consider either removing the explicit Platform version (relying on the BOM), or keeping it aligned with JUnit.version.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@alexander-yevsyukov alexander-yevsyukov merged commit cafcbe8 into master Apr 6, 2026
5 checks passed
@alexander-yevsyukov alexander-yevsyukov deleted the bump-dependencies branch April 6, 2026 16:48
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.

3 participants