From b1e9871a78500c5d28d22a103627a9c6e43bab0e Mon Sep 17 00:00:00 2001 From: Pavel Gorgulov Date: Fri, 19 Sep 2025 12:50:32 +0200 Subject: [PATCH] Refactor signing publications (#281) Add a new function for signing publications ## Motivation and Context In the [latest release build](https://github.com/modelcontextprotocol/kotlin-sdk/actions/runs/17830036899/job/50692417727), the artifact signing tasks were not included ## Breaking Changes no ## Types of changes - [x] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update ## Checklist - [x] I have read the [MCP Documentation](https://modelcontextprotocol.io) - [x] My code follows the repository's style guidelines - [ ] New and existing tests pass locally - [ ] I have added appropriate error handling - [ ] I have added or updated documentation as needed --- .../src/main/kotlin/mcp.publishing.gradle.kts | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/buildSrc/src/main/kotlin/mcp.publishing.gradle.kts b/buildSrc/src/main/kotlin/mcp.publishing.gradle.kts index 36249e2..92262c2 100644 --- a/buildSrc/src/main/kotlin/mcp.publishing.gradle.kts +++ b/buildSrc/src/main/kotlin/mcp.publishing.gradle.kts @@ -1,3 +1,5 @@ +import com.vanniktech.maven.publish.MavenPublishBaseExtension + plugins { `maven-publish` id("com.vanniktech.maven.publish") @@ -6,6 +8,7 @@ plugins { mavenPublishing { publishToMavenCentral(automaticRelease = true) + configureSigning(this) pom { name = project.name @@ -42,13 +45,7 @@ mavenPublishing { } } -publishing { - repositories { - mavenLocal() - } -} - -signing { +private fun Project.configureSigning(mavenPublishing: MavenPublishBaseExtension) { val gpgKeyName = "GPG_SIGNING_KEY" val gpgPassphraseName = "SIGNING_PASSPHRASE" val signingKey = providers.environmentVariable(gpgKeyName) @@ -57,7 +54,7 @@ signing { .orElse(providers.gradleProperty(gpgPassphraseName)) if (signingKey.isPresent) { - useInMemoryPgpKeys(signingKey.get(), signingPassphrase.get()) - sign(publishing.publications) + mavenPublishing.signAllPublications() + signing.useInMemoryPgpKeys(signingKey.get(), signingPassphrase.get()) } }