Skip to content

Conversation

@alextwoods
Copy link
Contributor

Description of changes:
Previously we collected ConfigProperty in a list, however, multiple integrations/runtime plugins may need to independently register and depend on the same configuration properties - an example of this is sigv4 auth and regional endpoints - they both depend on the region config and could potentially be used independently of each other, so should both register the config properties they need without trying to inspect or understand what other integrations/runtime plugins are being used.

This PR changes the data structure used to collect ConfigProperties during generation from a List to a TreeSet which uses the properties name to de-dupe it.

Currently, the first registered config value with a specific name will be preserved, which does not allow runtime plugins to override base config properties (eg: with this ordering, its not possible for a runtime plugin to override the the http_client).

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@alextwoods alextwoods requested a review from a team as a code owner March 11, 2025 16:06
Copy link
Contributor

@nateprewitt nateprewitt left a comment

Choose a reason for hiding this comment

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

🚀

@alextwoods alextwoods merged commit b1c3752 into smithy-lang:develop Mar 11, 2025
2 checks passed
@alextwoods alextwoods deleted the duplicate_config branch March 11, 2025 16:35
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