Update publishing and dependencies#58
Conversation
Also: * Remove the redundant dependency object.
There was a problem hiding this comment.
Pull request overview
This PR updates the project’s publishing configuration to match the updated SpinePublishing API (notably adding tool-specific artifact ID prefixing), bumps a set of dependency versions (including TestLib, Dokka, Kotest, and several Spine snapshots), and adds buildSrc tests plus a new UpdatePluginVersion Gradle task for updating plugin versions in build.gradle.kts files.
Changes:
- Adjust publishing/artifact ID computation to support tool vs non-tool projects and propagate this into publication handling.
- Bump compiler and Spine dependency snapshot versions, plus Dokka/Kotest/TestLib-related coordinates.
- Add buildSrc task + tests for updating plugin versions, and add buildSrc unit test dependencies.
Reviewed changes
Copilot reviewed 25 out of 28 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
version.gradle.kts |
Bumps compilerVersion snapshot. |
pom.xml |
Updates project/version + dependency versions and testlib artifact coordinates. |
gradlew.bat |
Removes temporary Protobuf version-check disabling env var. |
gradlew |
Removes temporary Protobuf version-check disabling env var; updates Gradle template link. |
gradle-plugin/build.gradle.kts |
Uses Spine.toolsGroup for publication groupId. |
dependencies.md |
Regenerates dependency/license report reflecting updated versions. |
buildSrc/src/test/kotlin/io/spine/gradle/publish/SpinePublishingTest.kt |
Adds tests for new/updated SpinePublishing behavior (artifactId, validation, project/repo selection). |
buildSrc/src/test/kotlin/io/spine/gradle/docs/UpdatePluginVersionTest.kt |
Adds tests for the new UpdatePluginVersion task. |
buildSrc/src/main/kotlin/io/spine/gradle/publish/SpinePublishing.kt |
Updates publishing extension API (returns extension, adds toolArtifactPrefix, changes artifactId logic). |
buildSrc/src/main/kotlin/io/spine/gradle/publish/PublicationHandler.kt |
Switches publication artifactId to use Project.artifactId extension property. |
buildSrc/src/main/kotlin/io/spine/gradle/ProjectExtensions.kt |
Updates docs and keeps Project.artifactId as the central artifact-id resolver. |
buildSrc/src/main/kotlin/io/spine/gradle/docs/UpdatePluginVersion.kt |
Introduces a task to rewrite plugin versions in build.gradle.kts files. |
buildSrc/src/main/kotlin/io/spine/dependency/test/Kotest.kt |
Bumps Kotest version constant. |
buildSrc/src/main/kotlin/io/spine/dependency/local/Validation.kt |
Bumps Validation snapshot version. |
buildSrc/src/main/kotlin/io/spine/dependency/local/ToolBase.kt |
Bumps ToolBase snapshot versions. |
buildSrc/src/main/kotlin/io/spine/dependency/local/Time.kt |
Refactors Time deps to Dependency() style; bumps snapshot version and testlib artifact name. |
buildSrc/src/main/kotlin/io/spine/dependency/local/TestLib.kt |
Bumps TestLib version and updates artifact id to base-testlib. |
buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.kt |
Bumps CoreJVM Compiler snapshot versions. |
buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt |
Bumps CoreJVM snapshot version. |
buildSrc/src/main/kotlin/io/spine/dependency/local/Compiler.kt |
Updates fallback compiler snapshot versions. |
buildSrc/src/main/kotlin/io/spine/dependency/local/Base.kt |
Bumps Base snapshot versions. |
buildSrc/src/main/kotlin/io/spine/dependency/build/LicenseReport.kt |
Removes old build dependency descriptor for license-report plugin/lib. |
buildSrc/src/main/kotlin/io/spine/dependency/build/Dokka.kt |
Bumps Dokka version constant. |
buildSrc/build.gradle.kts |
Bumps license-report lib version and adds buildSrc test dependencies (JUnit/Kotest). |
build.gradle.kts |
Updates publishing config to use toolArtifactPrefix instead of artifactPrefix. |
.idea/misc.xml |
Adjusts IntelliJ project config (XML header removal/formatting). |
.idea/inspectionProfiles/Project_Default.xml |
Enables FieldNamingConvention inspection configuration. |
Files not reviewed (2)
- .idea/inspectionProfiles/Project_Default.xml: Language not supported
- .idea/misc.xml: Language not supported
Comments suppressed due to low confidence (1)
buildSrc/src/main/kotlin/io/spine/dependency/build/Dokka.kt:42
- Dokka version was bumped here, but
buildSrc/build.gradle.ktsstill declaresval dokkaVersion = "2.1.0"with a note to keep it in sync with this constant. Please update the buildSrc script version as well to avoid inconsistent Dokka artifacts being used during the build.
* When changing the version, also change the version used in the
* `buildSrc/build.gradle.kts`.
*/
const val version = "2.2.0"
object GradlePlugin {
const val id = "org.jetbrains.dokka"
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| val updatedContent = buildFile.readText() | ||
| updatedContent shouldContain """id("io.spine.validation") version "2.0.0-TEST"""" | ||
| updatedContent shouldContain """id("other-plugin") version "0.1.0"""" |
There was a problem hiding this comment.
These shouldContain expectations use an invalid Kotlin string literal ending with four quotes ("""...""""), which will not compile. Use a valid string literal for the expected snippet (raw string with proper delimiter count, or an escaped regular string).
buildSrc/src/test/kotlin/io/spine/gradle/docs/UpdatePluginVersionTest.kt
Show resolved
Hide resolved
buildSrc/src/test/kotlin/io/spine/gradle/docs/UpdatePluginVersionTest.kt
Show resolved
Hide resolved
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5e44ae6889
ℹ️ 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".
This PR applies latest
configadjusting to the changes inSpinePublishingAPI. Also, the dependencies on TestLib and Dokka were bumped.Other notable changes
3.1.2with the hope to avoid NPEs that occur time after time during the dependency resolution.LicenseReportdependency object was removed as it is not used.