Skip to content

Commit

Permalink
chore(smithy): Codegen improvements (#3439)
Browse files Browse the repository at this point in the history
* chore(smithy): Codegen improvements

- Adds further override capabilities for shapes
- Aligns `@default` and `@required` behavior more closely to the spec
- Only generates `_init` if necessary

* chore(aft): Don't generate V1 models for `custom` service

Since this tests very specific V2 features, the V1 transformation doesn't provide any value and prevents certain usages.

* test(goldens): Add default value tests

* fix(aft): SDK models are V2

* chore(repo): Regenerate SDK

* chore(repo): Clean up
  • Loading branch information
dnys1 authored Jul 20, 2023
1 parent cc20f57 commit e33b25c
Show file tree
Hide file tree
Showing 4,941 changed files with 7,125 additions and 29,433 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
14 changes: 0 additions & 14 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1033,20 +1033,6 @@ updates:
- dependency-name: "amplify_lints"
- dependency-name: "smithy_aws"
- dependency-name: "aws_signature_v4"
- package-ecosystem: "pub"
directory: "packages/smithy/goldens/lib/custom"
schedule:
interval: "daily"
ignore:
# Ignore patch version bumps
- dependency-name: "*"
update-types:
- "version-update:semver-patch"
- dependency-name: "smithy"
- dependency-name: "aws_common"
- dependency-name: "amplify_lints"
- dependency-name: "smithy_aws"
- dependency-name: "aws_signature_v4"
- package-ecosystem: "pub"
directory: "packages/smithy/goldens/lib/restJson1"
schedule:
Expand Down
60 changes: 0 additions & 60 deletions .github/workflows/custom_v1.yaml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ const awsProtocols = [
'restXml',
'restXmlWithNamespace',
];
// Skip generating V1 since we use V2-specific traits and test descriptions.
const skipV1 = [
'custom',
];

/// Command for generating the AWS SDK for a given package and `sdk.yaml` file.
class GenerateGoldensCommand extends AmplifyCommand {
Expand Down Expand Up @@ -311,6 +315,9 @@ override_platforms:
continue;
}
for (final version in SmithyVersion.values) {
if (version == SmithyVersion.v1 && skipV1.contains(protocolName)) {
continue;
}
final ast = await _transform(
version,
modelPath,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,9 @@ class GenerateSdkCommand extends AmplifyCommand with GlobOptions {
await outputDir.create(recursive: true);
}

final smithyModel = SmithyAstBuilder();
final smithyModel = SmithyAstBuilder()
..version = SmithyVersion.v2
..shapes = ShapeMap({});

final modelsDir = await _modelsDirForRef(config.ref);
final models = modelsDir.list().whereType<File>();
Expand All @@ -178,7 +180,6 @@ class GenerateSdkCommand extends AmplifyCommand with GlobOptions {
final astJson = await model.readAsString();
final ast = parseAstJson(astJson);

smithyModel.shapes ??= ShapeMap({});
smithyModel.shapes!.addAll(ast.shapes);
}

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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 e33b25c

Please sign in to comment.