Skip to content

Commit

Permalink
codegen: Upgrade to Smithy IDL 2.0 (#1806)
Browse files Browse the repository at this point in the history
- Upgrade `smithyVersion` to 1.23.1
- Extract Smithy Gradle Plugin to `smithyGradleVersion` to 0.6.0
- Add support for `jsonName` serialization/deserialization for union shapes
  • Loading branch information
syall authored Aug 23, 2022
1 parent 4714d7c commit 1719564
Show file tree
Hide file tree
Showing 16 changed files with 736 additions and 237 deletions.
3 changes: 2 additions & 1 deletion codegen/gradle.properties
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
smithyVersion=1.21.0
smithyVersion=1.23.1
smithyGradleVersion=0.6.0
3 changes: 2 additions & 1 deletion codegen/protocol-test-codegen/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ buildscript {
}

plugins {
id("software.amazon.smithy") version "0.5.3"
val smithyGradleVersion: String by project
id("software.amazon.smithy") version smithyGradleVersion
}

dependencies {
Expand Down
3 changes: 2 additions & 1 deletion codegen/sdk-codegen/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ buildscript {
}

plugins {
id("software.amazon.smithy") version "0.5.3"
val smithyGradleVersion: String by project
id("software.amazon.smithy") version smithyGradleVersion
}

dependencies {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -231,8 +231,9 @@ protected void deserializeUnion(GenerationContext context, UnionShape shape) {
symbolProvider.toMemberName(member),
symbol.getNamespace()
).build();
String serializedMemberName = getSerializedMemberName(member);

writer.openBlock("case $S:", "", member.getMemberName(), () -> {
writer.openBlock("case $S:", "", serializedMemberName, () -> {
writer.write("var mv $P", targetSymbol);
target.accept(getMemberDeserVisitor(member, "mv"));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -235,9 +235,10 @@ protected void serializeUnion(GenerationContext context, UnionShape shape) {
symbolProvider.toMemberName(member),
symbol.getNamespace()
).build();
String serializedMemberName = getSerializedMemberName(member);

writer.openBlock("case *$T:", "", memberSymbol, () -> {
writer.write("av := object.Key($S)", member.getMemberName());
writer.write("av := object.Key($S)", serializedMemberName);
target.accept(getMemberSerVisitor(member, "uv.Value", "av"));
});
}
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 1719564

Please sign in to comment.