Bump dependencies and adjust Maven coordinates#12
Bump dependencies and adjust Maven coordinates#12alexander-yevsyukov merged 8 commits intomasterfrom
Conversation
There was a problem hiding this comment.
💡 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".
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/UpdateGitHubPages.kt
Show resolved
Hide resolved
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/UpdateGitHubPages.kt
Show resolved
Hide resolved
Codecov Report✅ All modified and coverable lines are covered by tests. 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:
|
There was a problem hiding this comment.
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.toolsmodules viatoolArtifactPrefix(switch fromspine-tobase-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.versionis set to6.0.0while the BOM / main JUnit version is6.0.3. SinceDependency.artifactsappendsPlatform.version, this can produce mixed JUnit Platform versions whenPlatform.artifactsis used. Consider either removing the explicit Platform version (relying on the BOM), or keeping it aligned withJUnit.version.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This PR applies latest
configand adjust the build to employ newestSpinePublishingextension.The PR also changes the prefix of the published artifact from
spine-tobase-. We need the prefix to avoid the Gradle resolution issue with:testlibmodules in the projects that use Base TestLib as anapiorimplementationdependency. Without prefix Gradle confusestestlibin a project with the library artifact.