From d988076713e6497cadc32d0ceb20ee6059e15dad Mon Sep 17 00:00:00 2001 From: Matas Lauzadis Date: Mon, 22 Sep 2025 19:06:11 -0400 Subject: [PATCH] Allow smithy-kotlin K/N publications --- .../aws/sdk/kotlin/gradle/dsl/Publish.kt | 1 + .../aws/sdk/kotlin/gradle/dsl/PublishTest.kt | 20 +++++++++---------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/build-plugins/build-support/src/main/kotlin/aws/sdk/kotlin/gradle/dsl/Publish.kt b/build-plugins/build-support/src/main/kotlin/aws/sdk/kotlin/gradle/dsl/Publish.kt index 53be731..6009518 100644 --- a/build-plugins/build-support/src/main/kotlin/aws/sdk/kotlin/gradle/dsl/Publish.kt +++ b/build-plugins/build-support/src/main/kotlin/aws/sdk/kotlin/gradle/dsl/Publish.kt @@ -72,6 +72,7 @@ internal val ALLOWED_KOTLIN_NATIVE_PUBLICATION_NAMES = setOf( // Group names which are allowed to publish K/N artifacts private val ALLOWED_KOTLIN_NATIVE_GROUP_NAMES = setOf( "aws.sdk.kotlin.crt", + "aws.smithy.kotlin", ) // Optional override to the above set. diff --git a/build-plugins/build-support/src/test/kotlin/aws/sdk/kotlin/gradle/dsl/PublishTest.kt b/build-plugins/build-support/src/test/kotlin/aws/sdk/kotlin/gradle/dsl/PublishTest.kt index 65dd468..76a7cfd 100644 --- a/build-plugins/build-support/src/test/kotlin/aws/sdk/kotlin/gradle/dsl/PublishTest.kt +++ b/build-plugins/build-support/src/test/kotlin/aws/sdk/kotlin/gradle/dsl/PublishTest.kt @@ -75,7 +75,7 @@ class PublishTest { } @Test - fun `smithy-kotlin cannot publish Kotlin Native artifacts`() = runTest { + fun `smithy-kotlin can publish Kotlin Native artifacts`() = runTest { val project = ProjectBuilder.builder().withName("aws-smithy-kotlin").build() project.group = "aws.smithy.kotlin" project.version = "1.2.3" @@ -99,7 +99,7 @@ class PublishTest { version = "1.2.3" artifactId = "runtime" } - assertFalse(isAvailableForPublication(project, nativeRuntimePublication)) + assertTrue(isAvailableForPublication(project, nativeRuntimePublication)) } } } @@ -107,17 +107,17 @@ class PublishTest { @Test fun `users can override smithy-kotlin publication`() = runTest { val project = ProjectBuilder.builder().withName("aws-smithy-kotlin").build() - project.group = "aws.smithy.kotlin" + project.group = "aws.sdk.kotlin" project.version = "1.2.3" project.extra.set(OVERRIDE_KOTLIN_NATIVE_GROUP_NAME_VALIDATION, "true") - project.configurePublishing("smithy-kotlin", "smithy-lang") + project.configurePublishing("aws-sdk-kotlin", "aws") val publishing = project.extensions.getByType(PublishingExtension::class.java) publishing.publications { ALLOWED_PUBLICATION_NAMES.forEach { val jvmRuntimePublication = create(it, MavenPublication::class.java).apply { - groupId = "aws.smithy.kotlin" + groupId = "aws.sdk.kotlin" version = "1.2.3" artifactId = "runtime" } @@ -126,7 +126,7 @@ class PublishTest { ALLOWED_KOTLIN_NATIVE_PUBLICATION_NAMES.forEach { val nativeRuntimePublication = create(it, MavenPublication::class.java).apply { - groupId = "aws.smithy.kotlin" + groupId = "aws.sdk.kotlin" version = "1.2.3" artifactId = "runtime" } @@ -138,17 +138,17 @@ class PublishTest { @Test fun `override only works when set to true`() = runTest { val project = ProjectBuilder.builder().withName("aws-smithy-kotlin").build() - project.group = "aws.smithy.kotlin" + project.group = "aws.sdk.kotlin" project.version = "1.2.3" project.extra.set(OVERRIDE_KOTLIN_NATIVE_GROUP_NAME_VALIDATION, "this is not true") - project.configurePublishing("smithy-kotlin", "smithy-lang") + project.configurePublishing("aws-sdk-kotlin", "aws") val publishing = project.extensions.getByType(PublishingExtension::class.java) publishing.publications { ALLOWED_PUBLICATION_NAMES.forEach { val jvmRuntimePublication = create(it, MavenPublication::class.java).apply { - groupId = "aws.smithy.kotlin" + groupId = "aws.sdk.kotlin" version = "1.2.3" artifactId = "runtime" } @@ -157,7 +157,7 @@ class PublishTest { ALLOWED_KOTLIN_NATIVE_PUBLICATION_NAMES.forEach { val nativeRuntimePublication = create(it, MavenPublication::class.java).apply { - groupId = "aws.smithy.kotlin" + groupId = "aws.sdk.kotlin" version = "1.2.3" artifactId = "runtime" }