-
Notifications
You must be signed in to change notification settings - Fork 154
migration from jreleaser
to mavenPublish
plugin
#277
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this 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 migrates the publishing system from the jreleaser
plugin to the mavenPublish
plugin to simplify publishing and follow JetBrains' recommended approach for Kotlin Multiplatform libraries.
- Removes
jreleaser
plugin dependencies from all module build files - Replaces publishing configuration with
mavenPublish
plugin setup - Updates GitHub Actions workflow to use new publishing commands
Reviewed Changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
kotlin-sdk/build.gradle.kts | Removes mcp.jreleaser plugin reference |
kotlin-sdk-server/build.gradle.kts | Removes mcp.jreleaser plugin reference |
kotlin-sdk-core/build.gradle.kts | Removes mcp.jreleaser plugin reference |
kotlin-sdk-client/build.gradle.kts | Removes mcp.jreleaser plugin reference |
gradle/libs.versions.toml | Replaces jreleaser dependency with mavenPublish plugin |
buildSrc/src/main/kotlin/mcp.publishing.gradle.kts | Replaces jreleaser configuration with mavenPublish setup |
buildSrc/src/main/kotlin/mcp.jreleaser.gradle.kts | Completely removes jreleaser configuration file |
buildSrc/build.gradle.kts | Updates dependency from jreleaser to maven-publish |
.github/workflows/gradle-publish.yml | Updates workflow to use new publishing commands and environment variables |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
} | ||
mavenPublishing { | ||
signAllPublications() | ||
publishToMavenCentral(automaticRelease = true) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The automaticRelease = true
configuration may be too aggressive for production releases. Consider setting this to false
to allow manual review and release of staged artifacts in Maven Central.
publishToMavenCentral(automaticRelease = true) | |
publishToMavenCentral(automaticRelease = false) |
Copilot uses AI. Check for mistakes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it makes sense to play with automaticRelease=false
first? But feel free to ignore my comment
publishing { | ||
repositories { | ||
maven { | ||
name = "staging" | ||
url = uri(layout.buildDirectory.dir("staging-deploy")) | ||
} | ||
mavenLocal() | ||
} | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The publishing
block configuration appears redundant since mavenPublishing
already configures Maven Central publishing. The mavenLocal()
repository may not be necessary unless specifically needed for local testing.
Copilot uses AI. Check for mistakes.
} | ||
mavenPublishing { | ||
signAllPublications() | ||
publishToMavenCentral(automaticRelease = true) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it makes sense to play with automaticRelease=false
first? But feel free to ignore my comment
4933e88
to
e4aeac7
Compare
| Package | Type | Package file | Manager | Update | Change | |---|---|---|---|---|---| | [org.mockito:mockito-core](https://github.com/mockito/mockito) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `5.19.0` -> `5.20.0` | | [io.modelcontextprotocol:kotlin-sdk-server](https://github.com/modelcontextprotocol/kotlin-sdk) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `0.7.1` -> `0.7.2` | | [io.modelcontextprotocol:kotlin-sdk-core](https://github.com/modelcontextprotocol/kotlin-sdk) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `0.7.1` -> `0.7.2` | | [io.modelcontextprotocol:kotlin-sdk-client](https://github.com/modelcontextprotocol/kotlin-sdk) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `0.7.0` -> `0.7.2` | | [com.google.errorprone:error_prone_annotations](https://errorprone.info) ([source](https://github.com/google/error-prone)) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.41.0` -> `2.42.0` | | [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.33.13` -> `2.34.0` | | [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.33.13` -> `2.34.0` | | [software.amazon.awssdk:s3](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.33.13` -> `2.34.0` | | [software.amazon.awssdk:regions](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.33.13` -> `2.34.0` | | [software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.33.13` -> `2.34.0` | | [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.33.13` -> `2.34.0` | | [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.33.13` -> `2.34.0` | | [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.33.13` -> `2.34.0` | | [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.33.13` -> `2.34.0` | --- ### Release Notes <details> <summary>mockito/mockito (org.mockito:mockito-core)</summary> ### [`v5.20.0`](https://github.com/mockito/mockito/releases/tag/v5.20.0) <sup><sup>*Changelog generated by [Shipkit Changelog Gradle Plugin](https://github.com/shipkit/shipkit-changelog)*</sup></sup> ##### 5.20.0 - 2025-09-20 - [11 commit(s)](mockito/mockito@v5.19.0...v5.20.0) by Adrian-Kim, Giulio Longfils, Rafael Winterhalter, dependabot\[bot] - Bump org.assertj:assertj-core from 3.27.4 to 3.27.5 [(#​3730)](mockito/mockito#3730) - Introducing the Ability to Mock Construction of Generic Types ([#​2401](mockito/mockito#2401)) [(#​3729)](mockito/mockito#3729) - Bump com.gradle.develocity from 4.1.1 to 4.2 [(#​3726)](mockito/mockito#3726) - Bump graalvm/setup-graalvm from 1.3.6 to 1.3.7 [(#​3725)](mockito/mockito#3725) - Bump org.eclipse.platform:org.eclipse.osgi from 3.23.100 to 3.23.200 [(#​3720)](mockito/mockito#3720) - Bump graalvm/setup-graalvm from 1.3.5 to 1.3.6 [(#​3719)](mockito/mockito#3719) - Bump actions/setup-java from 4 to 5 [(#​3715)](mockito/mockito#3715) - Bump com.gradle.develocity from 4.1 to 4.1.1 [(#​3713)](mockito/mockito#3713) - Bump bytebuddy from 1.17.6 to 1.17.7 [(#​3712)](mockito/mockito#3712) - test: Use Assume.assumeThat for SequencedCollection tests [(#​3711)](mockito/mockito#3711) - Fix [#​3709](mockito/mockito#3709) [(#​3710)](mockito/mockito#3710) - feat: Add support for JDK21 Sequenced Collections. [(#​3708)](mockito/mockito#3708) - Introducing the Ability to Mock Construction of Generic Types [(#​2401)](mockito/mockito#2401) </details> <details> <summary>modelcontextprotocol/kotlin-sdk (io.modelcontextprotocol:kotlin-sdk-server)</summary> ### [`v0.7.2`](https://github.com/modelcontextprotocol/kotlin-sdk/releases/tag/0.7.2) [Compare Source](modelcontextprotocol/kotlin-sdk@0.7.1...0.7.2) ##### What's Changed - migration from `jreleaser` to `mavenPublish` plugin by [@​devcrocod](https://github.com/devcrocod) in [#​277](modelcontextprotocol/kotlin-sdk#277) - Generate test report by [@​kpavlov](https://github.com/kpavlov) in [#​271](modelcontextprotocol/kotlin-sdk#271) - Move `generateLibVersion` task to `kotlin-sdk-core` by [@​devcrocod](https://github.com/devcrocod) in [#​274](modelcontextprotocol/kotlin-sdk#274) - [#​196](modelcontextprotocol/kotlin-sdk#196) Update build configuration and workflows for enhanced local publ… by [@​kpavlov](https://github.com/kpavlov) in [#​275](modelcontextprotocol/kotlin-sdk#275) - Add Stdio coverage for integration tests by [@​skarpovdev](https://github.com/skarpovdev) in [#​276](modelcontextprotocol/kotlin-sdk#276) - Bump io.kotest:kotest-assertions-json from 5.9.1 to 6.0.3 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​247](modelcontextprotocol/kotlin-sdk#247) - migration from `jreleaser` to `mavenPublish` plugin by [@​devcrocod](https://github.com/devcrocod) in [#​277](modelcontextprotocol/kotlin-sdk#277) **Full Changelog**: <modelcontextprotocol/kotlin-sdk@0.7.1...0.7.2> </details> <details> <summary>google/error-prone (com.google.errorprone:error_prone_annotations)</summary> ### [`v2.42.0`](https://github.com/google/error-prone/releases/tag/v2.42.0): Error Prone 2.42.0 New checks: - [`ExplicitArrayForVarargs`](https://errorprone.info/bugpattern/ExplicitArrayForVarargs): discourage unnecessary explicit construction of an array to provide varargs. - [`FloggerPerWithoutRateLimit`](https://errorprone.info/bugpattern/FloggerPerWithoutRateLimit): discourage Flogger's `perUnique` without rate limiting - [`StringJoin`](https://errorprone.info/bugpattern/StringJoin): Ban `String.join(CharSequence)` and `String.join(CharSequence, CharSequence)` - [`ThreadBuilderNameWithPlaceholder`](https://errorprone.info/bugpattern/ThreadBuilderNameWithPlaceholder): Do not allow placeholders in `Thread.Builder.name(String)` or `name(String, int)`. Changes: - The return type of `ASTHelpers.asFlagSet` has changed. The previous type was `EnumSet<Flags.Flag>`, where `Flags.Flag` is an enum in the javac class `Flags`. A recent JDK change has replaced that enum with a new top-level enum called `FlagsEnum`. It is not possible to change `ASTHelpers.asFlagSet` in a way that would be type-safe and compatible with the enums from JDKs both before and after the change. Instead, the method now returns `ImmutableSet<String>`, where the strings come from the `toString()` of the enum constants. That means they are `"native"`, `"abstract"`, etc. - Flag `IO.print[ln]()` in [`SystemOut`](https://errorprone.info/bugpattern/SystemOut). Full changelog: <google/error-prone@v2.41.0...v2.42.0> </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am every weekday" in timezone Australia/Melbourne, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Never, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). GitOrigin-RevId: 8ecb809cff408a555b4ee0773a9fb8cdca50b95c
#152
Motivation and Context
To simplify publishing, use the recommended plugin
Breaking Changes
no
Types of changes
Checklist