diff --git a/codegen/generic-client-test-codegen/build.gradle.kts b/codegen/generic-client-test-codegen/build.gradle.kts index eebc1e8a92871..b81dc039ebbca 100644 --- a/codegen/generic-client-test-codegen/build.gradle.kts +++ b/codegen/generic-client-test-codegen/build.gradle.kts @@ -13,7 +13,7 @@ * permissions and limitations under the License. */ -import software.amazon.smithy.gradle.tasks.SmithyBuild +import software.amazon.smithy.gradle.tasks.SmithyBuildTask val smithyVersion: String by project @@ -30,8 +30,10 @@ buildscript { } plugins { - val smithyPluginVersion: String by project - id("software.amazon.smithy").version(smithyPluginVersion) + `java-library` + + val smithyGradleVersion: String by project + id("software.amazon.smithy.gradle.smithy-base").version(smithyGradleVersion) } dependencies { @@ -45,11 +47,12 @@ tasks["jar"].enabled = false // Run the SmithyBuild task manually since this project needs the built JAR // from smithy-aws-typescript-codegen. -tasks["smithyBuildJar"].enabled = false +tasks["smithyBuild"].enabled = false -tasks.register("buildSdk") { - addRuntimeClasspath = true +val buildSdk = tasks.register("buildSdk") { + models.set(files("model/")) + smithyBuildConfigs.set(files("smithy-build.json")) } // Run the `buildSdk` automatically. -tasks["build"].finalizedBy(tasks["buildSdk"]) +tasks["build"].finalizedBy(buildSdk) diff --git a/codegen/generic-client-test-codegen/model/echo.smithy b/codegen/generic-client-test-codegen/model/echo.smithy index c062557d78885..3aebff86f888d 100644 --- a/codegen/generic-client-test-codegen/model/echo.smithy +++ b/codegen/generic-client-test-codegen/model/echo.smithy @@ -6,46 +6,53 @@ use aws.protocols#restJson1 @restJson1 service EchoService { - version: "2018-05-10", - operations: [Echo, Length], + version: "2018-05-10" + operations: [ + Echo + Length + ] } -@http(code: 200, method: "POST", uri: "/echo",) +@http(code: 200, method: "POST", uri: "/echo") operation Echo { - input: EchoInput, - output: EchoOutput, - errors: [PalindromeException], + input: EchoInput + output: EchoOutput + errors: [ + PalindromeException + ] } @readonly @http(code: 200, method: "GET", uri: "/length/{string}") operation Length { - input: LengthInput, - output: LengthOutput, - errors: [PalindromeException], + input: LengthInput + output: LengthOutput + errors: [ + PalindromeException + ] } structure EchoInput { - string: String, + string: String } structure EchoOutput { - string: String, + string: String } structure LengthInput { @required @httpLabel - string: String, + string: String } structure LengthOutput { - length: Integer, + length: Integer } /// For some reason, this service does not like palindromes! @httpError(400) @error("client") structure PalindromeException { - message: String, + message: String } diff --git a/codegen/generic-client-test-codegen/model/weather.smithy b/codegen/generic-client-test-codegen/model/weather.smithy index 00d8e7e66d5e3..960a5049231b1 100644 --- a/codegen/generic-client-test-codegen/model/weather.smithy +++ b/codegen/generic-client-test-codegen/model/weather.smithy @@ -90,7 +90,7 @@ operation OnlyCustomAuthOptional {} @readonly @http(method: "GET", uri: "/SameAsService") operation SameAsService { - output := { - service: String - } + output := { + service: String + } } diff --git a/codegen/gradle.properties b/codegen/gradle.properties index 1b342bdeb6419..583a9ead150ab 100644 --- a/codegen/gradle.properties +++ b/codegen/gradle.properties @@ -1,4 +1,3 @@ smithyVersion=1.62.0 smithyGradleVersion=1.3.0 -smithyPluginVersion=0.7.0 org.gradle.jvmargs=-Xmx4096M \ No newline at end of file diff --git a/codegen/protocol-test-codegen/build.gradle.kts b/codegen/protocol-test-codegen/build.gradle.kts index 555f011f859c1..32d0c01cd7632 100644 --- a/codegen/protocol-test-codegen/build.gradle.kts +++ b/codegen/protocol-test-codegen/build.gradle.kts @@ -13,7 +13,7 @@ * permissions and limitations under the License. */ -import software.amazon.smithy.gradle.tasks.SmithyBuild +import software.amazon.smithy.gradle.tasks.SmithyBuildTask val smithyVersion: String by project @@ -30,8 +30,10 @@ buildscript { } plugins { - val smithyPluginVersion: String by project - id("software.amazon.smithy").version(smithyPluginVersion) + `java-library` + + val smithyGradleVersion: String by project + id("software.amazon.smithy.gradle.smithy-base").version(smithyGradleVersion) } dependencies { @@ -45,11 +47,12 @@ tasks["jar"].enabled = false // Run the SmithyBuild task manually since this project needs the built JAR // from smithy-aws-typescript-codegen. -tasks["smithyBuildJar"].enabled = false +tasks["smithyBuild"].enabled = false -tasks.register("buildSdk") { - addRuntimeClasspath = true +val buildSdk = tasks.register("buildSdk") { + models.set(files("model/")) + smithyBuildConfigs.set(files("smithy-build.json")) } // Run the `buildSdk` automatically. -tasks["build"].finalizedBy(tasks["buildSdk"]) +tasks["build"].finalizedBy(buildSdk) diff --git a/codegen/sdk-codegen/build.gradle.kts b/codegen/sdk-codegen/build.gradle.kts index ae79d1a6ae981..81f6ab3bf9334 100644 --- a/codegen/sdk-codegen/build.gradle.kts +++ b/codegen/sdk-codegen/build.gradle.kts @@ -17,7 +17,7 @@ import software.amazon.smithy.model.Model import software.amazon.smithy.model.shapes.ServiceShape import software.amazon.smithy.model.shapes.ShapeId import software.amazon.smithy.model.node.Node -import software.amazon.smithy.gradle.tasks.SmithyBuild +import software.amazon.smithy.gradle.tasks.SmithyBuildTask import software.amazon.smithy.aws.traits.ServiceTrait import java.util.stream.Stream import kotlin.streams.toList @@ -38,8 +38,10 @@ buildscript { } plugins { - val smithyPluginVersion: String by project - id("software.amazon.smithy").version(smithyPluginVersion) + `java-library` + + val smithyGradleVersion: String by project + id("software.amazon.smithy.gradle.smithy-base").version(smithyGradleVersion) } dependencies { @@ -54,24 +56,22 @@ tasks["jar"].enabled = false // Run the SmithyBuild task manually since this project needs the built JAR // from smithy-aws-typescript-codegen. -tasks["smithyBuildJar"].enabled = false - -tasks.register("buildSdk") { - addRuntimeClasspath = true -} +tasks["smithyBuild"].enabled = false -configure { +val buildSdk = tasks.register("buildSdk") { val clientNameProp: String? by project if (!(clientNameProp?.isEmpty() ?: true)) { - smithyBuildConfigs = files("smithy-build-" + clientNameProp + ".json") - outputDirectory = file("build-single/" + clientNameProp) + smithyBuildConfigs.set(files("smithy-build-" + clientNameProp + ".json")) + outputDir.set(file("build-single/" + clientNameProp)) + } else { + smithyBuildConfigs.set(files("smithy-build.json")) } } // Generates a smithy-build.json file by creating a new projection for every // JSON file found in aws-models/. The generated smithy-build.json file is // not committed to git since it's rebuilt each time codegen is performed. -tasks.register("generate-smithy-build") { +val generateSmithyBuild = tasks.register("generate-smithy-build") { doLast { val projectionsBuilder = Node.objectNodeBuilder() val modelsDirProp: String by project @@ -150,5 +150,5 @@ tasks.register("generate-default-configs-provider", JavaExec::class) { // Run the `buildSdk` automatically. tasks["build"] - .dependsOn(tasks["generate-smithy-build"]) - .finalizedBy(tasks["buildSdk"]) + .dependsOn(generateSmithyBuild) + .finalizedBy(buildSdk) diff --git a/scripts/generate-clients/config.js b/scripts/generate-clients/config.js index 0a4a8f9251468..5e22a70f96b66 100644 --- a/scripts/generate-clients/config.js +++ b/scripts/generate-clients/config.js @@ -1,7 +1,7 @@ // Update this commit when taking up new changes from smithy-typescript. module.exports = { // Use full commit hash as we explicitly fetch it. - SMITHY_TS_COMMIT: "86e06f3df937bb1d1b642d6076ca531542698c2b", + SMITHY_TS_COMMIT: "cc2105a5dd5dfe01ace384034e863770080e6b08", }; if (module.exports.SMITHY_TS_COMMIT.length < 40) {