Skip to content

Bump dependencies and adjust Maven coordinates - #12

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

Bump dependencies and adjust Maven coordinates#12
alexander-yevsyukov merged 8 commits into
masterfrom
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-yevsyukovalexander-yevsyukov self-assigned this Apr 6, 2026

@chatgpt-codex-connectorchatgpt-codex-connectorBot left a comment

Copy link
Copy Markdown

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

codecovBot commented Apr 6, 2026

Copy link
Copy Markdown

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.

CopilotAI left a comment

Copy link
Copy Markdown

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
FileDescription
version.gradle.ktsBumps the published snapshot version.
src/test/kotlin/io/spine/testing/logging/mute/MuteLoggingExtensionSpec.ktUpdates test stubs for newer JUnit APIs.
pom.xmlUpdates dependency-report POM versions to match new stack.
gradlew.batSyncs wrapper script with newer Gradle wrapper layout.
gradlewSyncs wrapper script with newer Gradle wrapper layout.
gradle/wrapper/gradle-wrapper.propertiesUpdates Gradle wrapper distribution version.
gradle.propertiesAdds -Dfile.encoding=UTF-8 to Gradle JVM args.
dependencies.mdRegenerates dependency/license report and updates coordinates header.
buildSrc/src/test/kotlin/io/spine/gradle/publish/SpinePublishingTest.ktAdds tests for updated SpinePublishing behavior (artifactId logic, validation, repo resolution).
buildSrc/src/test/kotlin/io/spine/gradle/docs/UpdatePluginVersionTest.ktAdds tests for new plugin-version update task.
buildSrc/src/main/kotlin/uber-jar-module.gradle.ktsSwitches to module plugin and aligns publishing/reporting setup.
buildSrc/src/main/kotlin/test-module.gradle.ktsAdds module-testing and license report generation to test modules.
buildSrc/src/main/kotlin/module.gradle.ktsRemoves old Dokka script plugins usage and updates GitHub Pages configuration callsite.
buildSrc/src/main/kotlin/kmp-publish.gradle.ktsSwitches to dokka-setup and publishes htmlDocsJar.
buildSrc/src/main/kotlin/kmp-module.gradle.ktsRemoves deprecated Kotest multiplatform plugin application.
buildSrc/src/main/kotlin/jvm-module.gradle.ktsSwitches from old Dokka plugins to dokka-setup.
buildSrc/src/main/kotlin/io/spine/gradle/VersionWriter.ktRemoves versions-file writer task/plugin implementation.
buildSrc/src/main/kotlin/io/spine/gradle/testing/Logging.ktReplaces Groovy interop closure with a proper TestListener.
buildSrc/src/main/kotlin/io/spine/gradle/report/pom/InceptionYear.ktRefactors inception year constant usage for POM generation.
buildSrc/src/main/kotlin/io/spine/gradle/report/license/LicenseReporter.ktMakes report merge tolerant of missing per-project outputs; improves logging text.
buildSrc/src/main/kotlin/io/spine/gradle/repo/RepoSlug.ktFixes env-var error message and updates SSH host alias used for publishing.
buildSrc/src/main/kotlin/io/spine/gradle/repo/Repositories.ktAdds JetBrains IntelliJ dependencies repo and includes it in standard repos.
buildSrc/src/main/kotlin/io/spine/gradle/publish/StandardJavaPublicationHandler.ktAdjusts visibility (now non-internal) for publication handler class.
buildSrc/src/main/kotlin/io/spine/gradle/publish/SpinePublishing.ktUpdates extension API; adds tool-specific artifact prefixing; removes old proto/dokka DSL pieces.
buildSrc/src/main/kotlin/io/spine/gradle/publish/ShadowJarExts.ktChanges service file handling API usage for ShadowJar.
buildSrc/src/main/kotlin/io/spine/gradle/publish/PublishingExts.ktRenames/rewires docs artifacts (htmlDocsJar, Dokka javadoc output), and adds a helper for MavenPublication.
buildSrc/src/main/kotlin/io/spine/gradle/publish/PublicationHandler.ktUpdates how publication metadata (artifactId/license/SCM/inception year) is written to POM.
buildSrc/src/main/kotlin/io/spine/gradle/publish/ProtoExts.ktRefines proto source detection logic and visibility.
buildSrc/src/main/kotlin/io/spine/gradle/publish/JarDsl.ktRemoves deprecated proto/dokka DSL classes; simplifies JarFlags.
buildSrc/src/main/kotlin/io/spine/gradle/protobuf/ProtoTaskExtensions.ktRemoves protobuf task setup helpers (previously used for non-compiler proto builds).
buildSrc/src/main/kotlin/io/spine/gradle/ProjectExtensions.ktUpdates artifactId project extension docs and keeps behavior aligned with new SpinePublishing.
buildSrc/src/main/kotlin/io/spine/gradle/kotlin/KotlinConfig.ktUpdates Kotlin compiler options (JvmDefaultMode, removes obsolete flags).
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/UpdateGitHubPagesExtension.ktSimplifies extension API (removes internal-doclet wiring).
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/UpdateGitHubPages.ktRefactors pages update to use Dokka HTML + Dokka Javadoc outputs and new task names.
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/Update.ktRefactors update flow to new formats and repo-clone API.
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/TaskName.ktRenames helper task names to match new doc formats.
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/SshKey.ktImproves SSH config host alias handling and adds logging.
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/RepositoryExtensions.ktUpdates repo clone helper to pass Project context and use new clone factory.
buildSrc/src/main/kotlin/io/spine/gradle/git/Repository.ktAdds retry/backoff to push; changes cloning API; adds more diagnostics.
buildSrc/src/main/kotlin/io/spine/gradle/fs/LazyTempPath.ktUpdates overridden Path signatures to non-null varargs.
buildSrc/src/main/kotlin/io/spine/gradle/dokka/TaskContainerExtensions.ktRemoves legacy Dokka task lookup helper.
buildSrc/src/main/kotlin/io/spine/gradle/dokka/DokkaExtensions.ktRemoves legacy Dokka source filtering helper.
buildSrc/src/main/kotlin/io/spine/gradle/docs/UpdatePluginVersion.ktAdds task for updating plugin versions in build.gradle.kts files.
buildSrc/src/main/kotlin/io/spine/gradle/Cli.ktTightens visibility of stream helper and clarifies class purpose.
buildSrc/src/main/kotlin/io/spine/dependency/test/Kotest.ktBumps Kotest and adds plugin id constant / deprecation note.
buildSrc/src/main/kotlin/io/spine/dependency/test/JUnit.ktBumps JUnit coordinates and prunes deprecated aliases.
buildSrc/src/main/kotlin/io/spine/dependency/local/Validation.ktUpdates Validation coordinates/versioning and module naming.
buildSrc/src/main/kotlin/io/spine/dependency/local/ToolBase.ktUpdates ToolBase artifact naming and adds dogfooding version.
buildSrc/src/main/kotlin/io/spine/dependency/local/Time.ktRefactors Time dependency object to Dependency-style module list.
buildSrc/src/main/kotlin/io/spine/dependency/local/Text.ktRemoves Text dependency object.
buildSrc/src/main/kotlin/io/spine/dependency/local/TestLib.ktBumps TestLib version constant.
buildSrc/src/main/kotlin/io/spine/dependency/local/Spine.ktClarifies object purpose (Maven groups).
buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoTap.ktBumps ProtoTap version.
buildSrc/src/main/kotlin/io/spine/dependency/local/ModelCompiler.ktBumps ModelCompiler version.
buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.ktBumps CoreJvm Compiler versions and updates doc link text.
buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.ktBumps CoreJvm version and updates docs/aliases.
buildSrc/src/main/kotlin/io/spine/dependency/local/Compiler.ktRefactors Compiler dependency object to extend Dependency and updates versions.
buildSrc/src/main/kotlin/io/spine/dependency/local/Change.ktBumps Change version.
buildSrc/src/main/kotlin/io/spine/dependency/local/BaseTypes.ktBumps BaseTypes version.
buildSrc/src/main/kotlin/io/spine/dependency/local/Base.ktUpdates Base artifact naming conventions and bumps version.
buildSrc/src/main/kotlin/io/spine/dependency/local/ArtifactVersion.ktRemoves legacy version alias object.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Protobuf.ktBumps Protobuf + protobuf-gradle-plugin versions.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Kotlin.ktBumps Kotlin runtime/embedded versions.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Guava.ktBumps Guava version.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Grpc.ktBumps gRPC BOM version.
buildSrc/src/main/kotlin/io/spine/dependency/Dependency.ktExtends artifact resolution helper to optionally accept explicit version.
buildSrc/src/main/kotlin/io/spine/dependency/build/LicenseReport.ktBumps license report dependency object version.
buildSrc/src/main/kotlin/io/spine/dependency/build/Ksp.ktUpdates KSP versioning scheme and adds dogfooding version.
buildSrc/src/main/kotlin/io/spine/dependency/build/Dokka.ktBumps Dokka version constant.
buildSrc/src/main/kotlin/DokkaExts.ktUpdates Dokka task lookups/output dirs; replaces dokka jar tasks with htmlDocsJar.
buildSrc/src/main/kotlin/dokka-setup.gradle.ktsIntroduces consolidated Dokka setup (incl. Dokka Javadoc plugin) and publishing-graph gating.
buildSrc/src/main/kotlin/dokka-for-kotlin.gradle.ktsRemoves legacy Dokka script plugin.
buildSrc/src/main/kotlin/DocumentationSettings.ktRefactors SCM/source-link URLs to be derived from the current project.
buildSrc/src/main/kotlin/compile-protobuf.gradle.ktsRemoves legacy protobuf compilation script plugin.
buildSrc/src/main/kotlin/BuildExtensions.ktUpdates plugin accessors and task dependency wiring for new Dokka task names and KSP.
buildSrc/build.gradle.ktsUpdates buildSrc toolchain versions and adds JUnit/Kotest test dependencies.
build.gradle.ktsMigrates to new publishing coordinates prefixing, Dokka setup, and new protobuf plugin setup.
.idea/misc.xmlUpdates IntelliJ project metadata formatting.
.idea/kotlinc.xmlUpdates IntelliJ Kotlin compiler settings (Gradle external system).
.idea/inspectionProfiles/Project_Default.xmlAdds inspection config for naming conventions.
.github/workflows/publish.ymlFixes REPO_SLUG env var expression.
.agents/skills/writer/SKILL.mdAdds new agent skill documentation.
.agents/skills/writer/assets/templates/kotlin-java-example.mdAdds documentation templates.
.agents/skills/writer/assets/templates/kdoc-example.mdAdds documentation templates.
.agents/skills/writer/assets/templates/doc-page.mdAdds documentation templates.
.agents/skills/writer/agents/openai.yamlAdds agent configuration.
.agents/documentation-guidelines.mdFixes 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.

Comment threadbuildSrc/src/main/kotlin/module.gradle.kts
Comment threadbuildSrc/src/main/kotlin/io/spine/gradle/git/Repository.kt
Comment threadbuildSrc/src/main/kotlin/io/spine/gradle/git/Repository.kt
Comment threadbuildSrc/build.gradle.kts
Comment threadbuildSrc/build.gradle.kts
Comment threadpom.xml
@alexander-yevsyukov
alexander-yevsyukov merged commit cafcbe8 into masterApr 6, 2026
5 checks passed
@alexander-yevsyukov
alexander-yevsyukov deleted the bump-dependencies branch April 6, 2026 16:48
Sign up for freeto 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

@alexander-yevsyukov@armiol