Skip to content

Conversation

@jbelkins
Copy link
Contributor

@jbelkins jbelkins commented Nov 15, 2025

Description of changes

Companion PR smithy-lang/smithy-swift#999 creates a build tool plugin for native-Swift code generation.

This PR inserts the new code generator plugin into both internal and public service targets.

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.

// Smithy plugins
static var SmithyCodeGenerator: Self { .plugin(name: "SmithyCodeGenerator", package: "smithy-swift") }
}

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 file is just code-generated from the Package.base.txt above.

rm -rf Sources/Services/*
rm -rf Tests/Services/*
rm -rf SmokeTests/*
rm -rf Sources/Core/AWSIdentity/InternalClients/*
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Remove the internal clients before development codegen & allow them to be regenerated.

extension Target.PluginUsage {
// Smithy plugins
static var SmithyCodeGenerator: Self { .plugin(name: "SmithyCodeGenerator", package: "smithy-swift") }
}
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 extension is a convenience for use when installing the plugin into service clients.

dependencies: internalAWSSTSDependencies,
path: "Sources/Core/AWSSDKIdentity/InternalClients/InternalAWSSTS/Sources/InternalAWSSTS"
path: "Sources/Core/AWSSDKIdentity/InternalClients/InternalAWSSTS/Sources/InternalAWSSTS",
plugins: [.SmithyCodeGenerator]
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, the code generator plugin is added to the 4 internal clients and to all AWS service targets.

.contentsOfDirectory(atPath: "../smithy-swift/Sources")
.sorted()
.filter { $0 != "libxml2" } // Ignore libxml module
.filter { $0 != "SmithyCodegenCLI" } // Ignore codegen component
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Omits non-public codegen components from generated docs.

@jbelkins jbelkins changed the base branch from main to epic/sbs November 16, 2025 16:00
@jbelkins jbelkins marked this pull request as ready for review November 16, 2025 16:01
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.

2 participants