Skip to content

Commit cb47b20

Browse files
committed
chore(codegen): pull dependency versions from parent package.json
1 parent 3bd30bb commit cb47b20

File tree

2 files changed

+70
-32
lines changed

2 files changed

+70
-32
lines changed

codegen/smithy-aws-typescript-codegen/build.gradle.kts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,44 @@
1313
* permissions and limitations under the License.
1414
*/
1515

16+
import software.amazon.smithy.model.node.Node
17+
1618
description = "Generates TypeScript code for AWS protocols from Smithy models"
1719
extra["displayName"] = "Smithy :: AWS :: Typescript :: Codegen"
1820
extra["moduleName"] = "software.amazon.smithy.aws.typescript.codegen"
1921

22+
buildscript {
23+
repositories {
24+
mavenCentral()
25+
}
26+
dependencies {
27+
classpath("software.amazon.smithy:smithy-model:[1.7.0, 1.8.0[")
28+
}
29+
}
30+
2031
dependencies {
2132
api("software.amazon.smithy:smithy-aws-cloudformation-traits:[1.7.0, 1.8.0[")
2233
api("software.amazon.smithy:smithy-aws-traits:[1.7.0, 1.8.0[")
2334
api("software.amazon.smithy:smithy-waiters:[1.7.0, 1.8.0[")
2435
api("software.amazon.smithy:smithy-aws-iam-traits:[1.7.0, 1.8.0[")
2536
api("software.amazon.smithy.typescript:smithy-typescript-codegen:0.3.0")
2637
}
38+
39+
tasks.register("set-aws-sdk-version") {
40+
doLast {
41+
var packageJson = Node.parse(project.file("../../package.json").readText()).expectObjectNode()
42+
mkdir("$buildDir/generated/resources/software/amazon/smithy/aws/typescript/codegen")
43+
file("$buildDir/generated/resources/software/amazon/smithy/aws/typescript/codegen/sdkVersion.txt")
44+
.writeText(packageJson.expectStringMember("version").getValue())
45+
}
46+
}
47+
48+
sourceSets {
49+
main {
50+
resources {
51+
setSrcDirs(listOf("src/main/resources", "$buildDir/generated/resources"))
52+
}
53+
}
54+
}
55+
56+
tasks["processResources"].dependsOn(tasks["set-aws-sdk-version"])

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AwsDependency.java

Lines changed: 40 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.util.List;
2323
import software.amazon.smithy.codegen.core.SymbolDependency;
2424
import software.amazon.smithy.codegen.core.SymbolDependencyContainer;
25+
import software.amazon.smithy.utils.IoUtils;
2526
import software.amazon.smithy.utils.SmithyInternalApi;
2627

2728
/**
@@ -31,44 +32,44 @@
3132
@SmithyInternalApi
3233
public enum AwsDependency implements SymbolDependencyContainer {
3334

34-
MIDDLEWARE_SIGNING(NORMAL_DEPENDENCY, "@aws-sdk/middleware-signing", "3.15.0"),
35-
CREDENTIAL_PROVIDER_NODE(NORMAL_DEPENDENCY, "@aws-sdk/credential-provider-node", "3.15.0"),
36-
ACCEPT_HEADER(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-api-gateway", "3.15.0"),
37-
S3_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-s3", "3.15.0"),
38-
ADD_EXPECT_CONTINUE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-expect-continue", "3.15.0"),
39-
GLACIER_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-glacier", "3.15.0"),
40-
MACHINELEARNING_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-machinelearning", "3.15.0"),
41-
S3_CONTROL_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-s3-control", "3.15.0"),
42-
SSEC_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-ssec", "3.15.0"),
43-
RDS_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-rds", "3.15.0"),
44-
LOCATION_CONSTRAINT(NORMAL_DEPENDENCY, "@aws-sdk/middleware-location-constraint", "3.15.0"),
45-
MD5_BROWSER(NORMAL_DEPENDENCY, "@aws-sdk/md5-js", "3.15.0"),
46-
STREAM_HASHER_NODE(NORMAL_DEPENDENCY, "@aws-sdk/hash-stream-node", "3.15.0"),
47-
STREAM_HASHER_BROWSER(NORMAL_DEPENDENCY, "@aws-sdk/hash-blob-browser", "3.15.0"),
48-
ROUTE53_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-route53", "3.15.0"),
49-
EC2_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-ec2", "3.15.0"),
50-
BUCKET_ENDPOINT_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-bucket-endpoint", "3.15.0"),
51-
BODY_CHECKSUM(NORMAL_DEPENDENCY, "@aws-sdk/middleware-apply-body-checksum", "3.15.0"),
52-
MIDDLEWARE_HOST_HEADER(NORMAL_DEPENDENCY, "@aws-sdk/middleware-host-header", "3.15.0"),
53-
SQS_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-sqs", "3.15.0"),
54-
BODY_CHECKSUM_GENERATOR_BROWSER(NORMAL_DEPENDENCY, "@aws-sdk/body-checksum-browser", "3.15.0"),
55-
BODY_CHECKSUM_GENERATOR_NODE(NORMAL_DEPENDENCY, "@aws-sdk/body-checksum-node", "3.15.0"),
35+
MIDDLEWARE_SIGNING(NORMAL_DEPENDENCY, "@aws-sdk/middleware-signing", SdkVersion.LIVE),
36+
CREDENTIAL_PROVIDER_NODE(NORMAL_DEPENDENCY, "@aws-sdk/credential-provider-node", SdkVersion.LIVE),
37+
ACCEPT_HEADER(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-api-gateway", SdkVersion.LIVE),
38+
S3_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-s3", SdkVersion.LIVE),
39+
ADD_EXPECT_CONTINUE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-expect-continue", SdkVersion.LIVE),
40+
GLACIER_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-glacier", SdkVersion.LIVE),
41+
MACHINELEARNING_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-machinelearning", SdkVersion.LIVE),
42+
S3_CONTROL_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-s3-control", SdkVersion.LIVE),
43+
SSEC_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-ssec", SdkVersion.LIVE),
44+
RDS_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-rds", SdkVersion.LIVE),
45+
LOCATION_CONSTRAINT(NORMAL_DEPENDENCY, "@aws-sdk/middleware-location-constraint", SdkVersion.LIVE),
46+
MD5_BROWSER(NORMAL_DEPENDENCY, "@aws-sdk/md5-js", SdkVersion.LIVE),
47+
STREAM_HASHER_NODE(NORMAL_DEPENDENCY, "@aws-sdk/hash-stream-node", SdkVersion.LIVE),
48+
STREAM_HASHER_BROWSER(NORMAL_DEPENDENCY, "@aws-sdk/hash-blob-browser", SdkVersion.LIVE),
49+
ROUTE53_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-route53", SdkVersion.LIVE),
50+
EC2_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-ec2", SdkVersion.LIVE),
51+
BUCKET_ENDPOINT_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-bucket-endpoint", SdkVersion.LIVE),
52+
BODY_CHECKSUM(NORMAL_DEPENDENCY, "@aws-sdk/middleware-apply-body-checksum", SdkVersion.LIVE),
53+
MIDDLEWARE_HOST_HEADER(NORMAL_DEPENDENCY, "@aws-sdk/middleware-host-header", SdkVersion.LIVE),
54+
SQS_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-sqs", SdkVersion.LIVE),
55+
BODY_CHECKSUM_GENERATOR_BROWSER(NORMAL_DEPENDENCY, "@aws-sdk/body-checksum-browser", SdkVersion.LIVE),
56+
BODY_CHECKSUM_GENERATOR_NODE(NORMAL_DEPENDENCY, "@aws-sdk/body-checksum-node", SdkVersion.LIVE),
5657
XML_BUILDER(NORMAL_DEPENDENCY, "@aws-sdk/xml-builder", "3.14.0"),
5758
XML_PARSER(NORMAL_DEPENDENCY, "fast-xml-parser", "3.19.0"),
5859
HTML_ENTITIES(NORMAL_DEPENDENCY, "entities", "2.2.0"),
5960
UUID_GENERATOR(NORMAL_DEPENDENCY, "uuid", "^8.3.2"),
6061
UUID_GENERATOR_TYPES(DEV_DEPENDENCY, "@types/uuid", "^8.3.0"),
61-
MIDDLEWARE_EVENTSTREAM(NORMAL_DEPENDENCY, "@aws-sdk/middleware-eventstream", "3.15.0"),
62-
AWS_SDK_EVENTSTREAM_HANDLER_NODE(NORMAL_DEPENDENCY, "@aws-sdk/eventstream-handler-node", "3.15.0"),
62+
MIDDLEWARE_EVENTSTREAM(NORMAL_DEPENDENCY, "@aws-sdk/middleware-eventstream", SdkVersion.LIVE),
63+
AWS_SDK_EVENTSTREAM_HANDLER_NODE(NORMAL_DEPENDENCY, "@aws-sdk/eventstream-handler-node", SdkVersion.LIVE),
6364
TRANSCRIBE_STREAMING_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-transcribe-streaming",
64-
"3.15.0"),
65-
STS_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-sts", "3.15.0"),
66-
STS_CLIENT(NORMAL_DEPENDENCY, "@aws-sdk/client-sts", "3.15.0"),
67-
NODE_CONFIG_PROVIDER(NORMAL_DEPENDENCY, "@aws-sdk/node-config-provider", "3.15.0"),
68-
MIDDLEWARE_LOGGER(NORMAL_DEPENDENCY, "@aws-sdk/middleware-logger", "3.15.0"),
69-
MIDDLEWARE_USER_AGENT("dependencies", "@aws-sdk/middleware-user-agent", "3.15.0"),
70-
AWS_SDK_UTIL_USER_AGENT_BROWSER(NORMAL_DEPENDENCY, "@aws-sdk/util-user-agent-browser", "3.15.0"),
71-
AWS_SDK_UTIL_USER_AGENT_NODE(NORMAL_DEPENDENCY, "@aws-sdk/util-user-agent-node", "3.15.0"),
65+
SdkVersion.LIVE),
66+
STS_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-sts", SdkVersion.LIVE),
67+
STS_CLIENT(NORMAL_DEPENDENCY, "@aws-sdk/client-sts", SdkVersion.LIVE),
68+
NODE_CONFIG_PROVIDER(NORMAL_DEPENDENCY, "@aws-sdk/node-config-provider", SdkVersion.LIVE),
69+
MIDDLEWARE_LOGGER(NORMAL_DEPENDENCY, "@aws-sdk/middleware-logger", SdkVersion.LIVE),
70+
MIDDLEWARE_USER_AGENT("dependencies", "@aws-sdk/middleware-user-agent", SdkVersion.LIVE),
71+
AWS_SDK_UTIL_USER_AGENT_BROWSER(NORMAL_DEPENDENCY, "@aws-sdk/util-user-agent-browser", SdkVersion.LIVE),
72+
AWS_SDK_UTIL_USER_AGENT_NODE(NORMAL_DEPENDENCY, "@aws-sdk/util-user-agent-node", SdkVersion.LIVE),
7273
MIDDLEWARE_ENDPOINT_DISCOVERY(NORMAL_DEPENDENCY, "@aws-sdk/middleware-endpoint-discovery", "3.0.0");
7374

7475
public final String packageName;
@@ -85,4 +86,11 @@ public enum AwsDependency implements SymbolDependencyContainer {
8586
public List<SymbolDependency> getDependencies() {
8687
return Collections.singletonList(dependency);
8788
}
89+
90+
private static final class SdkVersion {
91+
static final String LIVE = IoUtils.readUtf8Url(SdkVersion.class.getResource("sdkVersion.txt")).trim();
92+
93+
private SdkVersion() {}
94+
}
8895
}
96+

0 commit comments

Comments
 (0)