Skip to content

feat: Add operation and type registry codegen#2113

Open
jbelkins wants to merge 3 commits intoepic/sbsfrom
jbe/operations_and_type_registry
Open

feat: Add operation and type registry codegen#2113
jbelkins wants to merge 3 commits intoepic/sbsfrom
jbe/operations_and_type_registry

Conversation

@jbelkins
Copy link
Contributor

@jbelkins jbelkins commented Feb 26, 2026

Description of changes

This PR is a companion to smithy-lang/smithy-swift#1033. I recommend reviewing that PR before this one.

Changes:

  • Protocol tests always merge models
  • Adjust for simplified middleware interface
  • Committed the swift-settings.json file for internal clients.

New/existing dependencies impact assessment, if applicable

No new dependencies were added to this change.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

"rootProject": true
},
"mergeModels": false,
"mergeModels": true,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Models for protocol tests will be merged into a single Models.swift file.
This provides faster performance on the larger protocol test suites.

// we always need to have an InputBodyMiddleware
operationMiddleware.removeMiddleware(operation, "OperationInputBodyMiddleware")
operationMiddleware.appendMiddleware(operation, OperationInputBodyMiddleware(ctx.model, ctx.symbolProvider, true))
operationMiddleware.appendMiddleware(operation, OperationInputBodyMiddleware(ctx, true))
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This middleware's interface was simplified in the companion smithy-swift PR.

@@ -0,0 +1,12 @@
{
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here & below, you can see the new swift-settings.json file that is replacing smithy-model-info.json.

swift-settings.json is committed here only for the internal services.

@jbelkins jbelkins marked this pull request as ready for review February 26, 2026 20:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant