From 41fc351cd27720028d3f7472a5b3bfbb195fc871 Mon Sep 17 00:00:00 2001 From: Pavel Gorgulov Date: Tue, 16 Sep 2025 16:17:36 +0200 Subject: [PATCH] Move `generateLibVersion` task to `kotlin-sdk-core` (#274) fix #272 ## How Has This Been Tested? Locally ## 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 - [x] New and existing tests pass locally - [ ] I have added appropriate error handling - [ ] I have added or updated documentation as needed --- .../main/kotlin/mcp.multiplatform.gradle.kts | 25 ------------------- kotlin-sdk-client/api/kotlin-sdk-client.api | 4 --- kotlin-sdk-core/build.gradle.kts | 20 +++++++++++++++ kotlin-sdk-server/api/kotlin-sdk-server.api | 4 --- 4 files changed, 20 insertions(+), 33 deletions(-) diff --git a/buildSrc/src/main/kotlin/mcp.multiplatform.gradle.kts b/buildSrc/src/main/kotlin/mcp.multiplatform.gradle.kts index 8656984..e115716 100644 --- a/buildSrc/src/main/kotlin/mcp.multiplatform.gradle.kts +++ b/buildSrc/src/main/kotlin/mcp.multiplatform.gradle.kts @@ -10,25 +10,6 @@ plugins { id("org.jetbrains.kotlinx.atomicfu") } -// Generation library versions -val generateLibVersion by tasks.registering { - val outputDir = layout.buildDirectory.dir("generated-sources/libVersion") - outputs.dir(outputDir) - - doLast { - val sourceFile = outputDir.get().file("io/modelcontextprotocol/kotlin/sdk/LibVersion.kt").asFile - sourceFile.parentFile.mkdirs() - sourceFile.writeText( - """ - package io.modelcontextprotocol.kotlin.sdk - - public const val LIB_VERSION: String = "${project.version}" - - """.trimIndent() - ) - } -} - kotlin { jvm { compilerOptions.jvmTarget = JvmTarget.JVM_1_8 @@ -41,10 +22,4 @@ kotlin { explicitApi = ExplicitApiMode.Strict jvmToolchain(21) - - sourceSets { - commonMain { - kotlin.srcDir(generateLibVersion) - } - } } diff --git a/kotlin-sdk-client/api/kotlin-sdk-client.api b/kotlin-sdk-client/api/kotlin-sdk-client.api index 00d80eb..f0782da 100644 --- a/kotlin-sdk-client/api/kotlin-sdk-client.api +++ b/kotlin-sdk-client/api/kotlin-sdk-client.api @@ -1,7 +1,3 @@ -public final class io/modelcontextprotocol/kotlin/sdk/LibVersionKt { - public static final field LIB_VERSION Ljava/lang/String; -} - public class io/modelcontextprotocol/kotlin/sdk/client/Client : io/modelcontextprotocol/kotlin/sdk/shared/Protocol { public fun (Lio/modelcontextprotocol/kotlin/sdk/Implementation;Lio/modelcontextprotocol/kotlin/sdk/client/ClientOptions;)V public synthetic fun (Lio/modelcontextprotocol/kotlin/sdk/Implementation;Lio/modelcontextprotocol/kotlin/sdk/client/ClientOptions;ILkotlin/jvm/internal/DefaultConstructorMarker;)V diff --git a/kotlin-sdk-core/build.gradle.kts b/kotlin-sdk-core/build.gradle.kts index bea4162..b87b85a 100644 --- a/kotlin-sdk-core/build.gradle.kts +++ b/kotlin-sdk-core/build.gradle.kts @@ -10,6 +10,25 @@ plugins { alias(libs.plugins.kotlinx.binary.compatibility.validator) } +// Generation library versions +val generateLibVersion by tasks.registering { + val outputDir = layout.buildDirectory.dir("generated-sources/libVersion") + outputs.dir(outputDir) + + doLast { + val sourceFile = outputDir.get().file("io/modelcontextprotocol/kotlin/sdk/LibVersion.kt").asFile + sourceFile.parentFile.mkdirs() + sourceFile.writeText( + """ + package io.modelcontextprotocol.kotlin.sdk + + public const val LIB_VERSION: String = "${project.version}" + + """.trimIndent(), + ) + } +} + kotlin { iosArm64() iosX64() @@ -31,6 +50,7 @@ kotlin { sourceSets { commonMain { + kotlin.srcDir(generateLibVersion) dependencies { api(libs.kotlinx.serialization.json) api(libs.kotlinx.coroutines.core) diff --git a/kotlin-sdk-server/api/kotlin-sdk-server.api b/kotlin-sdk-server/api/kotlin-sdk-server.api index 7e2ed4e..ec09fea 100644 --- a/kotlin-sdk-server/api/kotlin-sdk-server.api +++ b/kotlin-sdk-server/api/kotlin-sdk-server.api @@ -1,7 +1,3 @@ -public final class io/modelcontextprotocol/kotlin/sdk/LibVersionKt { - public static final field LIB_VERSION Ljava/lang/String; -} - public final class io/modelcontextprotocol/kotlin/sdk/server/KtorServerKt { public static final fun MCP (Lio/ktor/server/application/Application;Lkotlin/jvm/functions/Function1;)V public static final fun mcp (Lio/ktor/server/application/Application;Lkotlin/jvm/functions/Function1;)V