From b5582b8cae5d0625b66a509a0d20a6e21fa1babc Mon Sep 17 00:00:00 2001 From: Matas Lauzadis Date: Mon, 23 Sep 2024 14:35:30 -0400 Subject: [PATCH 01/13] Saving changes --- .brazil.json | 1 - gradle.properties | 2 +- hll/build.gradle.kts | 1 - .../build.gradle.kts | 4 +++ .../dynamodb-mapper/build.gradle.kts | 4 +++ .../build.gradle.kts | 31 ----------------- .../tests/processor/data/Group.kt | 14 -------- .../tests/processor/data/User.kt | 17 ---------- .../tests/processor/data/UserTest.kt | 33 ------------------- settings.gradle.kts | 1 - 10 files changed, 9 insertions(+), 99 deletions(-) delete mode 100644 hll/dynamodb-mapper/tests/dynamodb-mapper-annotation-processor-test/build.gradle.kts delete mode 100644 hll/dynamodb-mapper/tests/dynamodb-mapper-annotation-processor-test/common/src/aws/sdk/kotlin/hll/dynamodbmapper/tests/processor/data/Group.kt delete mode 100644 hll/dynamodb-mapper/tests/dynamodb-mapper-annotation-processor-test/common/src/aws/sdk/kotlin/hll/dynamodbmapper/tests/processor/data/User.kt delete mode 100644 hll/dynamodb-mapper/tests/dynamodb-mapper-annotation-processor-test/common/test/aws/sdk/kotlin/hll/dynamodbmapper/tests/processor/data/UserTest.kt diff --git a/.brazil.json b/.brazil.json index d11d9ea6888..51af1d089ea 100644 --- a/.brazil.json +++ b/.brazil.json @@ -14,7 +14,6 @@ }, "ignore": [ "aws.sdk.kotlin:bom", - "aws.sdk.kotlin.crt:aws-crt-kotlin-android", "aws.sdk.kotlin:testing", "aws.sdk.kotlin:version-catalog" ], diff --git a/gradle.properties b/gradle.properties index 0cdc1bdbf7a..370e1728eac 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ kotlin.native.ignoreDisabledTargets=true org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=2G # sdk -sdkVersion=1.3.29-SNAPSHOT +sdkVersion=1.3.29 # dokka config (values specified at build-time as needed) smithyKotlinDocBaseUrl=https://sdk.amazonaws.com/kotlin/api/smithy-kotlin/api/$smithyKotlinRuntimeVersion/ diff --git a/hll/build.gradle.kts b/hll/build.gradle.kts index a2e016b1afa..d904fa72425 100644 --- a/hll/build.gradle.kts +++ b/hll/build.gradle.kts @@ -94,7 +94,6 @@ apiValidation { ignoredProjects += listOf( "hll-codegen", - "dynamodb-mapper-annotation-processor-test", "dynamodb-mapper-codegen", "dynamodb-mapper-schema-generator-plugin-test", ).filter { it in availableSubprojects } // Some projects may not be in the build depending on bootstrapping diff --git a/hll/dynamodb-mapper/dynamodb-mapper-annotations/build.gradle.kts b/hll/dynamodb-mapper/dynamodb-mapper-annotations/build.gradle.kts index 35d0f3613ab..a1b6a001b29 100644 --- a/hll/dynamodb-mapper/dynamodb-mapper-annotations/build.gradle.kts +++ b/hll/dynamodb-mapper/dynamodb-mapper-annotations/build.gradle.kts @@ -2,3 +2,7 @@ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0 */ + +description = "Annotations used for the DynamoDbMapper client" +extra["displayName"] = "AWS :: SDK :: Kotlin :: HLL :: DynamoDbMapper :: Annotations" +extra["moduleName"] = "aws.sdk.kotlin.hll.dynamodbmapper.annotations" \ No newline at end of file diff --git a/hll/dynamodb-mapper/dynamodb-mapper/build.gradle.kts b/hll/dynamodb-mapper/dynamodb-mapper/build.gradle.kts index 2596d4194df..c464df2c62d 100644 --- a/hll/dynamodb-mapper/dynamodb-mapper/build.gradle.kts +++ b/hll/dynamodb-mapper/dynamodb-mapper/build.gradle.kts @@ -12,6 +12,10 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask import java.nio.file.Files import java.nio.file.StandardCopyOption +description = "High level DynamoDbMapper client" +extra["displayName"] = "AWS :: SDK :: Kotlin :: HLL :: DynamoDbMapper" +extra["moduleName"] = "aws.sdk.kotlin.hll.dynamodbmapper" + buildscript { dependencies { classpath(libs.ddb.local) diff --git a/hll/dynamodb-mapper/tests/dynamodb-mapper-annotation-processor-test/build.gradle.kts b/hll/dynamodb-mapper/tests/dynamodb-mapper-annotation-processor-test/build.gradle.kts deleted file mode 100644 index 6b5a4a097a7..00000000000 --- a/hll/dynamodb-mapper/tests/dynamodb-mapper-annotation-processor-test/build.gradle.kts +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0 - */ - -plugins { - alias(libs.plugins.ksp) -} - -kotlin { - sourceSets { - commonMain { - dependencies { - implementation(project(":hll:dynamodb-mapper:dynamodb-mapper")) - implementation(project(":hll:dynamodb-mapper:dynamodb-mapper-annotations")) - } - } - } -} - -dependencies { - listOf( - "kspCommonMainMetadata", - "kspJvm", // FIXME Generating common code is hard for KSP: https://github.com/google/ksp/issues/567 - ).forEach { configuration -> add(configuration, project(":hll:dynamodb-mapper:dynamodb-mapper-codegen")) } -} - -ksp { - // annotation-processor-test does not need the ops-codegen processor loaded - excludeProcessor("aws.sdk.kotlin.hll.dynamodbmapper.codegen.operations.HighLevelOpsProcessorProvider") -} diff --git a/hll/dynamodb-mapper/tests/dynamodb-mapper-annotation-processor-test/common/src/aws/sdk/kotlin/hll/dynamodbmapper/tests/processor/data/Group.kt b/hll/dynamodb-mapper/tests/dynamodb-mapper-annotation-processor-test/common/src/aws/sdk/kotlin/hll/dynamodbmapper/tests/processor/data/Group.kt deleted file mode 100644 index bb3245a8cb4..00000000000 --- a/hll/dynamodb-mapper/tests/dynamodb-mapper-annotation-processor-test/common/src/aws/sdk/kotlin/hll/dynamodbmapper/tests/processor/data/Group.kt +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0 - */ -package aws.sdk.kotlin.hll.dynamodbmapper.tests.processor.data - -import aws.sdk.kotlin.hll.dynamodbmapper.DynamoDbItem -import aws.sdk.kotlin.hll.dynamodbmapper.DynamoDbPartitionKey - -@DynamoDbItem -public data class Group( - @DynamoDbPartitionKey val name: String, - val userIds: String, -) diff --git a/hll/dynamodb-mapper/tests/dynamodb-mapper-annotation-processor-test/common/src/aws/sdk/kotlin/hll/dynamodbmapper/tests/processor/data/User.kt b/hll/dynamodb-mapper/tests/dynamodb-mapper-annotation-processor-test/common/src/aws/sdk/kotlin/hll/dynamodbmapper/tests/processor/data/User.kt deleted file mode 100644 index 5091e426e0b..00000000000 --- a/hll/dynamodb-mapper/tests/dynamodb-mapper-annotation-processor-test/common/src/aws/sdk/kotlin/hll/dynamodbmapper/tests/processor/data/User.kt +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0 - */ -package aws.sdk.kotlin.hll.dynamodbmapper.tests.processor.data - -import aws.sdk.kotlin.hll.dynamodbmapper.DynamoDbAttribute -import aws.sdk.kotlin.hll.dynamodbmapper.DynamoDbItem -import aws.sdk.kotlin.hll.dynamodbmapper.DynamoDbPartitionKey - -@DynamoDbItem -public data class User( - @DynamoDbPartitionKey val id: Int, - @DynamoDbAttribute("fName") val givenName: String, - @DynamoDbAttribute("lName") val surname: String, - val age: Int, -) diff --git a/hll/dynamodb-mapper/tests/dynamodb-mapper-annotation-processor-test/common/test/aws/sdk/kotlin/hll/dynamodbmapper/tests/processor/data/UserTest.kt b/hll/dynamodb-mapper/tests/dynamodb-mapper-annotation-processor-test/common/test/aws/sdk/kotlin/hll/dynamodbmapper/tests/processor/data/UserTest.kt deleted file mode 100644 index e2082c04c42..00000000000 --- a/hll/dynamodb-mapper/tests/dynamodb-mapper-annotation-processor-test/common/test/aws/sdk/kotlin/hll/dynamodbmapper/tests/processor/data/UserTest.kt +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0 - */ -package aws.sdk.kotlin.hll.dynamodbmapper.tests.processor.data - -import aws.sdk.kotlin.hll.dynamodbmapper.model.itemOf -import aws.sdk.kotlin.hll.dynamodbmapper.tests.processor.data.aws.sdk.kotlin.hll.dynamodbmapper.generatedschemas.UserConverter -import aws.sdk.kotlin.services.dynamodb.model.AttributeValue -import kotlin.test.Test -import kotlin.test.assertEquals - -class UserTest { - @Test - fun testConversion() { - val user = User(123, "Steve", "Rogers", 84) - val converted = UserConverter.convertTo(user) - - assertEquals( - itemOf( - "id" to AttributeValue.N("123"), - "fName" to AttributeValue.S("Steve"), - "lName" to AttributeValue.S("Rogers"), - "age" to AttributeValue.N("84"), - ), - converted, - ) - - val unconverted = UserConverter.convertFrom(converted) - - assertEquals(user, unconverted) - } -} diff --git a/settings.gradle.kts b/settings.gradle.kts index 49237132653..917f3538f20 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -73,7 +73,6 @@ if ("dynamodb".isBootstrappedService) { include(":hll:dynamodb-mapper:dynamodb-mapper") include(":hll:dynamodb-mapper:dynamodb-mapper-codegen") include(":hll:dynamodb-mapper:dynamodb-mapper-annotations") - include(":hll:dynamodb-mapper:tests:dynamodb-mapper-annotation-processor-test") include(":hll:dynamodb-mapper:dynamodb-mapper-schema-generator-plugin") include(":hll:dynamodb-mapper:tests:dynamodb-mapper-schema-generator-plugin-test") } else { From 5a55ba7d0ca1de5fe348cf3eb16ea47ce3e49a9d Mon Sep 17 00:00:00 2001 From: Matas Lauzadis Date: Wed, 25 Sep 2024 15:09:38 -0400 Subject: [PATCH 02/13] Latest --- .brazil.json | 5 ++++- gradle/libs.versions.toml | 2 +- hll/build.gradle.kts | 11 +++++++---- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.brazil.json b/.brazil.json index 51af1d089ea..b1957d8f611 100644 --- a/.brazil.json +++ b/.brazil.json @@ -1,12 +1,15 @@ { "dependencies": { + "org.jetbrains.kotlin:kotlin-gradle-plugin:2.*": "KotlinGradlePlugin-2.x", "org.jetbrains.kotlin:kotlin-stdlib-common:2.*.*": "KotlinStdlibCommon-2.x", "org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.*.*": "KotlinStdlibJdk8-2.x", "org.jetbrains.kotlin:kotlin-stdlib:2.*.*": "KotlinStdlib-2.x", "org.jetbrains.kotlinx:atomicfu:0.*.*": "Atomicfu-0.x", "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.*": "KotlinxCoroutinesCoreJvm-1.8.x", "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.*": "KotlinxCoroutinesCore-1.8.x", - "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.8.*": "KotlinxCoroutinesJdk8-1.8.x" + "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.8.*": "KotlinxCoroutinesJdk8-1.8.x", + "com.google.devtools.ksp:symbol-processing-api:2.*": "Maven-com-google-devtools-ksp_symbol-processing-api-2.x", + "com.google.devtools.ksp:symbol-processing-gradle-plugin:2.*": "Maven-com-google-devtools-ksp_symbol-processing-gradle-plugin-2.x" }, "packageHandlingRules": { "versioning": { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 280643142a5..f563631c052 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,7 +4,7 @@ ksp-version = "2.0.10-1.0.24" # Keep in sync with kotlin-version dokka-version = "1.9.10" -aws-kotlin-repo-tools-version = "0.4.10" +aws-kotlin-repo-tools-version = "0.4.11-SNAPSHOT" # libs coroutines-version = "1.8.1" diff --git a/hll/build.gradle.kts b/hll/build.gradle.kts index 77a3efcdd0f..001c36ea9ed 100644 --- a/hll/build.gradle.kts +++ b/hll/build.gradle.kts @@ -31,21 +31,24 @@ val optinAnnotations = listOf( "kotlin.RequiresOptIn", ) +subprojects { + group = "aws.sdk.kotlin" + version = sdkVersion + configurePublishing("aws-sdk-kotlin") +} + subprojects { if (!needsKmpConfigured) { return@subprojects } - group = "aws.sdk.kotlin" - version = sdkVersion - apply { plugin("org.jetbrains.kotlin.multiplatform") plugin("org.jetbrains.dokka") plugin(libraries.plugins.aws.kotlin.repo.tools.kmp.get().pluginId) } - configurePublishing("aws-sdk-kotlin") +// configurePublishing("aws-sdk-kotlin") kotlin { explicitApi() From 23178a87cbb47883d90acfdf7162100da385e027 Mon Sep 17 00:00:00 2001 From: Matas Lauzadis Date: Wed, 25 Sep 2024 16:23:02 -0400 Subject: [PATCH 03/13] Configure task dependencies for publication --- .../build.gradle.kts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts b/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts index 7cf14225da4..9bee87d69a0 100644 --- a/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts +++ b/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts @@ -57,6 +57,24 @@ publishing { } } +/** + * The `java-gradle-plugin` plugin creates a javadoc jar by default, conflicting with the empty javadoc jar (emptyJar) + * created in aws-kotlin-repo-tools. Configure dependencies and disable the emptyJar task to avoid conflicts. + */ +afterEvaluate { + tasks.withType { + dependsOn(tasks.named("javadocJar")) + } + + tasks.named("publishDynamodb-mapper-schema-generatorPluginMarkerMavenPublicationToMavenLocal") { + dependsOn(tasks.named("javadocJar")) + } + + tasks.named("emptyJar") { + enabled = false + } +} + tasks.test { useJUnitPlatform() testLogging { From 74e1d123afef1fa3f3bd8830a5f4da0bc7fc045f Mon Sep 17 00:00:00 2001 From: Matas Lauzadis Date: Wed, 25 Sep 2024 16:23:41 -0400 Subject: [PATCH 04/13] ktlintFormat --- .../dynamodb-mapper-annotations/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hll/dynamodb-mapper/dynamodb-mapper-annotations/build.gradle.kts b/hll/dynamodb-mapper/dynamodb-mapper-annotations/build.gradle.kts index a1b6a001b29..8f41b57c632 100644 --- a/hll/dynamodb-mapper/dynamodb-mapper-annotations/build.gradle.kts +++ b/hll/dynamodb-mapper/dynamodb-mapper-annotations/build.gradle.kts @@ -5,4 +5,4 @@ description = "Annotations used for the DynamoDbMapper client" extra["displayName"] = "AWS :: SDK :: Kotlin :: HLL :: DynamoDbMapper :: Annotations" -extra["moduleName"] = "aws.sdk.kotlin.hll.dynamodbmapper.annotations" \ No newline at end of file +extra["moduleName"] = "aws.sdk.kotlin.hll.dynamodbmapper.annotations" From 7be214b1c4287860db0cf41a327b81df3317ac96 Mon Sep 17 00:00:00 2001 From: Matas Lauzadis Date: Wed, 25 Sep 2024 16:25:15 -0400 Subject: [PATCH 05/13] clean up --- hll/build.gradle.kts | 2 -- .../dynamodb-mapper-annotations/build.gradle.kts | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/hll/build.gradle.kts b/hll/build.gradle.kts index 001c36ea9ed..bdd31fd757c 100644 --- a/hll/build.gradle.kts +++ b/hll/build.gradle.kts @@ -48,8 +48,6 @@ subprojects { plugin(libraries.plugins.aws.kotlin.repo.tools.kmp.get().pluginId) } -// configurePublishing("aws-sdk-kotlin") - kotlin { explicitApi() diff --git a/hll/dynamodb-mapper/dynamodb-mapper-annotations/build.gradle.kts b/hll/dynamodb-mapper/dynamodb-mapper-annotations/build.gradle.kts index 8f41b57c632..2576670bf70 100644 --- a/hll/dynamodb-mapper/dynamodb-mapper-annotations/build.gradle.kts +++ b/hll/dynamodb-mapper/dynamodb-mapper-annotations/build.gradle.kts @@ -3,6 +3,6 @@ * SPDX-License-Identifier: Apache-2.0 */ -description = "Annotations used for the DynamoDbMapper client" +description = "DynamoDbMapper annotations" extra["displayName"] = "AWS :: SDK :: Kotlin :: HLL :: DynamoDbMapper :: Annotations" extra["moduleName"] = "aws.sdk.kotlin.hll.dynamodbmapper.annotations" From 307443d39ace43e6c3340f5f1c97b4afd12c4977 Mon Sep 17 00:00:00 2001 From: Matas Lauzadis Date: Wed, 25 Sep 2024 16:40:50 -0400 Subject: [PATCH 06/13] -preview suffix --- hll/build.gradle.kts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/hll/build.gradle.kts b/hll/build.gradle.kts index bdd31fd757c..5e3fe009819 100644 --- a/hll/build.gradle.kts +++ b/hll/build.gradle.kts @@ -5,6 +5,8 @@ import aws.sdk.kotlin.gradle.dsl.configurePublishing import aws.sdk.kotlin.gradle.kmp.* +import aws.smithy.kotlin.runtime.InternalApi +import aws.smithy.kotlin.runtime.text.ensureSuffix import org.jetbrains.kotlin.gradle.dsl.JvmTarget description = "High-level libraries for the AWS SDK for Kotlin" @@ -33,7 +35,10 @@ val optinAnnotations = listOf( subprojects { group = "aws.sdk.kotlin" - version = sdkVersion + + @OptIn(InternalApi::class) + version = sdkVersion.ensureSuffix("-preview") // i.e 1.3.29-preview + configurePublishing("aws-sdk-kotlin") } From cae3faa1c54db171c2152740a279399102c40d83 Mon Sep 17 00:00:00 2001 From: Matas Lauzadis Date: Thu, 26 Sep 2024 16:19:38 -0400 Subject: [PATCH 07/13] Latest --- gradle.properties | 2 +- hll/build.gradle.kts | 12 ++++++++---- .../dynamodb-mapper-codegen/build.gradle.kts | 4 ---- .../build.gradle.kts | 4 ---- .../build.gradle.kts | 17 ++++++++++++----- hll/hll-codegen/build.gradle.kts | 4 ---- 6 files changed, 21 insertions(+), 22 deletions(-) diff --git a/gradle.properties b/gradle.properties index 672051aea00..264fead8835 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ kotlin.native.ignoreDisabledTargets=true org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=2G # sdk -sdkVersion=1.3.29 +sdkVersion=1.3.29-SNAPSHOT # dokka config (values specified at build-time as needed) smithyKotlinDocBaseUrl=https://sdk.amazonaws.com/kotlin/api/smithy-kotlin/api/$smithyKotlinRuntimeVersion/ diff --git a/hll/build.gradle.kts b/hll/build.gradle.kts index 5e3fe009819..4645f5ca761 100644 --- a/hll/build.gradle.kts +++ b/hll/build.gradle.kts @@ -33,12 +33,16 @@ val optinAnnotations = listOf( "kotlin.RequiresOptIn", ) +@OptIn(InternalApi::class) +fun getHllPreviewVersion() = if (sdkVersion.contains("-SNAPSHOT")) { // i.e. 1.3.29-beta-SNAPSHOT + sdkVersion + .removeSuffix("-SNAPSHOT") + .ensureSuffix("-beta-SNAPSHOT") +} else sdkVersion.ensureSuffix("-beta") // i.e. 1.3.29-beta + subprojects { group = "aws.sdk.kotlin" - - @OptIn(InternalApi::class) - version = sdkVersion.ensureSuffix("-preview") // i.e 1.3.29-preview - + version = getHllPreviewVersion() configurePublishing("aws-sdk-kotlin") } diff --git a/hll/dynamodb-mapper/dynamodb-mapper-codegen/build.gradle.kts b/hll/dynamodb-mapper/dynamodb-mapper-codegen/build.gradle.kts index 5cb39317203..9f9b36de346 100644 --- a/hll/dynamodb-mapper/dynamodb-mapper-codegen/build.gradle.kts +++ b/hll/dynamodb-mapper/dynamodb-mapper-codegen/build.gradle.kts @@ -30,10 +30,6 @@ kotlin { } } -val sdkVersion: String by project -group = "aws.sdk.kotlin" -version = sdkVersion - val sourcesJar by tasks.creating(Jar::class) { group = "publishing" description = "Assembles Kotlin sources jar" diff --git a/hll/dynamodb-mapper/dynamodb-mapper-schema-codegen/build.gradle.kts b/hll/dynamodb-mapper/dynamodb-mapper-schema-codegen/build.gradle.kts index 304e00623b8..6f68b7979f1 100644 --- a/hll/dynamodb-mapper/dynamodb-mapper-schema-codegen/build.gradle.kts +++ b/hll/dynamodb-mapper/dynamodb-mapper-schema-codegen/build.gradle.kts @@ -49,10 +49,6 @@ tasks.test { } } -val sdkVersion: String by project -group = "aws.sdk.kotlin" -version = sdkVersion - val sourcesJar by tasks.creating(Jar::class) { group = "publishing" description = "Assembles Kotlin sources jar" diff --git a/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts b/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts index 9bee87d69a0..bb125be5840 100644 --- a/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts +++ b/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts @@ -1,3 +1,5 @@ +import aws.smithy.kotlin.runtime.InternalApi +import aws.smithy.kotlin.runtime.text.ensureSuffix import org.jetbrains.kotlin.gradle.tasks.KotlinCompile /* @@ -45,10 +47,6 @@ gradlePlugin { } } -val sdkVersion: String by project -group = "aws.sdk.kotlin" -version = sdkVersion - publishing { publications { create("dynamodb-mapper-schema-generator-plugin") { @@ -87,6 +85,15 @@ tasks.test { } // FIXME Commonize the following functions into the aws-kotlin-repo-tools build-support +val sdkVersion: String by project + +@OptIn(InternalApi::class) +fun getHllPreviewVersion() = if (sdkVersion.contains("-SNAPSHOT")) { // i.e. 1.3.29-beta-SNAPSHOT + sdkVersion + .removeSuffix("-SNAPSHOT") + .ensureSuffix("-beta-SNAPSHOT") +} else sdkVersion.ensureSuffix("-beta") // i.e. 1.3.29-beta + /** * Create a file containing the sdkVersion to use as a resource * This saves us from having to manually change version numbers in multiple places @@ -99,7 +106,7 @@ val generateSdkVersionFile by tasks.registering { outputs.file(versionFile) sourceSets.main.get().output.dir(resourcesDir) doLast { - versionFile.writeText(sdkVersion) + versionFile.writeText(getHllPreviewVersion()) } } diff --git a/hll/hll-codegen/build.gradle.kts b/hll/hll-codegen/build.gradle.kts index 4d3aee94ed8..853bef0cedc 100644 --- a/hll/hll-codegen/build.gradle.kts +++ b/hll/hll-codegen/build.gradle.kts @@ -37,10 +37,6 @@ dependencies { testImplementation(libs.kotlin.test.junit5) } -val sdkVersion: String by project -group = "aws.sdk.kotlin" -version = sdkVersion - val sourcesJar by tasks.creating(Jar::class) { group = "publishing" description = "Assembles Kotlin sources jar" From dffb9b4d1f066a51c791baf3baeb8a23f1d265cc Mon Sep 17 00:00:00 2001 From: Matas Lauzadis Date: Thu, 26 Sep 2024 16:24:42 -0400 Subject: [PATCH 08/13] ktlint --- hll/build.gradle.kts | 4 +++- .../dynamodb-mapper-schema-generator-plugin/build.gradle.kts | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/hll/build.gradle.kts b/hll/build.gradle.kts index 4645f5ca761..7eba384fbfc 100644 --- a/hll/build.gradle.kts +++ b/hll/build.gradle.kts @@ -38,7 +38,9 @@ fun getHllPreviewVersion() = if (sdkVersion.contains("-SNAPSHOT")) { // i.e. 1.3 sdkVersion .removeSuffix("-SNAPSHOT") .ensureSuffix("-beta-SNAPSHOT") -} else sdkVersion.ensureSuffix("-beta") // i.e. 1.3.29-beta +} else { + sdkVersion.ensureSuffix("-beta") // i.e. 1.3.29-beta +} subprojects { group = "aws.sdk.kotlin" diff --git a/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts b/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts index bb125be5840..220a7df73c9 100644 --- a/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts +++ b/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts @@ -92,7 +92,9 @@ fun getHllPreviewVersion() = if (sdkVersion.contains("-SNAPSHOT")) { // i.e. 1.3 sdkVersion .removeSuffix("-SNAPSHOT") .ensureSuffix("-beta-SNAPSHOT") -} else sdkVersion.ensureSuffix("-beta") // i.e. 1.3.29-beta +} else { + sdkVersion.ensureSuffix("-beta") // i.e. 1.3.29-beta +} /** * Create a file containing the sdkVersion to use as a resource From a6cc2425278ac1aadb3f8cfe201a58560b95b561 Mon Sep 17 00:00:00 2001 From: Matas Lauzadis Date: Thu, 26 Sep 2024 16:32:27 -0400 Subject: [PATCH 09/13] revert plugin version --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f563631c052..280643142a5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,7 +4,7 @@ ksp-version = "2.0.10-1.0.24" # Keep in sync with kotlin-version dokka-version = "1.9.10" -aws-kotlin-repo-tools-version = "0.4.11-SNAPSHOT" +aws-kotlin-repo-tools-version = "0.4.10" # libs coroutines-version = "1.8.1" From 7f8c9b611bc09e1935b247a495cb7a14c5a113a2 Mon Sep 17 00:00:00 2001 From: Matas Lauzadis Date: Tue, 1 Oct 2024 14:29:54 -0400 Subject: [PATCH 10/13] Bump plugin version --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 280643142a5..3233b81ecc4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,7 +4,7 @@ ksp-version = "2.0.10-1.0.24" # Keep in sync with kotlin-version dokka-version = "1.9.10" -aws-kotlin-repo-tools-version = "0.4.10" +aws-kotlin-repo-tools-version = "0.4.11" # libs coroutines-version = "1.8.1" From eacd39dfaa8bae402e8d9ad491e39e21d69b63cf Mon Sep 17 00:00:00 2001 From: Matas Lauzadis Date: Tue, 1 Oct 2024 16:28:05 -0400 Subject: [PATCH 11/13] Fix an implicit dependency on signing task --- .../dynamodb-mapper-schema-generator-plugin/build.gradle.kts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts b/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts index 220a7df73c9..cfc03138f9f 100644 --- a/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts +++ b/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts @@ -68,6 +68,9 @@ afterEvaluate { dependsOn(tasks.named("javadocJar")) } + tasks.findByName("signDynamodb-mapper-schema-generatorPluginMarkerMavenPublication") + ?.dependsOn(tasks.named("javadocJar")) + tasks.named("emptyJar") { enabled = false } From b75dbb956af29b25ca43ae172ef53e9791209b13 Mon Sep 17 00:00:00 2001 From: Matas Lauzadis Date: Wed, 2 Oct 2024 10:55:29 -0400 Subject: [PATCH 12/13] i.e. -> e.g. --- hll/build.gradle.kts | 4 ++-- .../dynamodb-mapper-schema-generator-plugin/build.gradle.kts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hll/build.gradle.kts b/hll/build.gradle.kts index 7eba384fbfc..23b38de89a3 100644 --- a/hll/build.gradle.kts +++ b/hll/build.gradle.kts @@ -34,12 +34,12 @@ val optinAnnotations = listOf( ) @OptIn(InternalApi::class) -fun getHllPreviewVersion() = if (sdkVersion.contains("-SNAPSHOT")) { // i.e. 1.3.29-beta-SNAPSHOT +fun getHllPreviewVersion() = if (sdkVersion.contains("-SNAPSHOT")) { // e.g. 1.3.29-beta-SNAPSHOT sdkVersion .removeSuffix("-SNAPSHOT") .ensureSuffix("-beta-SNAPSHOT") } else { - sdkVersion.ensureSuffix("-beta") // i.e. 1.3.29-beta + sdkVersion.ensureSuffix("-beta") // e.g. 1.3.29-beta } subprojects { diff --git a/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts b/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts index cfc03138f9f..489bb6ae27d 100644 --- a/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts +++ b/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts @@ -91,12 +91,12 @@ tasks.test { val sdkVersion: String by project @OptIn(InternalApi::class) -fun getHllPreviewVersion() = if (sdkVersion.contains("-SNAPSHOT")) { // i.e. 1.3.29-beta-SNAPSHOT +fun getHllPreviewVersion() = if (sdkVersion.contains("-SNAPSHOT")) { // e.g. 1.3.29-beta-SNAPSHOT sdkVersion .removeSuffix("-SNAPSHOT") .ensureSuffix("-beta-SNAPSHOT") } else { - sdkVersion.ensureSuffix("-beta") // i.e. 1.3.29-beta + sdkVersion.ensureSuffix("-beta") // e.g. 1.3.29-beta } /** From aa38515d6c3c746325bb0f1d6310185436e0bd3b Mon Sep 17 00:00:00 2001 From: Matas Lauzadis Date: Wed, 2 Oct 2024 14:14:29 -0400 Subject: [PATCH 13/13] Make `hllPreviewVersion` a val --- hll/build.gradle.kts | 4 ++-- .../dynamodb-mapper-schema-generator-plugin/build.gradle.kts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hll/build.gradle.kts b/hll/build.gradle.kts index 23b38de89a3..257a2d7f9a0 100644 --- a/hll/build.gradle.kts +++ b/hll/build.gradle.kts @@ -34,7 +34,7 @@ val optinAnnotations = listOf( ) @OptIn(InternalApi::class) -fun getHllPreviewVersion() = if (sdkVersion.contains("-SNAPSHOT")) { // e.g. 1.3.29-beta-SNAPSHOT +val hllPreviewVersion = if (sdkVersion.contains("-SNAPSHOT")) { // e.g. 1.3.29-beta-SNAPSHOT sdkVersion .removeSuffix("-SNAPSHOT") .ensureSuffix("-beta-SNAPSHOT") @@ -44,7 +44,7 @@ fun getHllPreviewVersion() = if (sdkVersion.contains("-SNAPSHOT")) { // e.g. 1.3 subprojects { group = "aws.sdk.kotlin" - version = getHllPreviewVersion() + version = hllPreviewVersion configurePublishing("aws-sdk-kotlin") } diff --git a/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts b/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts index 489bb6ae27d..7102d649fa9 100644 --- a/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts +++ b/hll/dynamodb-mapper/dynamodb-mapper-schema-generator-plugin/build.gradle.kts @@ -91,7 +91,7 @@ tasks.test { val sdkVersion: String by project @OptIn(InternalApi::class) -fun getHllPreviewVersion() = if (sdkVersion.contains("-SNAPSHOT")) { // e.g. 1.3.29-beta-SNAPSHOT +val hllPreviewVersion = if (sdkVersion.contains("-SNAPSHOT")) { // e.g. 1.3.29-beta-SNAPSHOT sdkVersion .removeSuffix("-SNAPSHOT") .ensureSuffix("-beta-SNAPSHOT") @@ -111,7 +111,7 @@ val generateSdkVersionFile by tasks.registering { outputs.file(versionFile) sourceSets.main.get().output.dir(resourcesDir) doLast { - versionFile.writeText(getHllPreviewVersion()) + versionFile.writeText(hllPreviewVersion) } }