Skip to content

Commit dbed2af

Browse files
authored
fix: enforce consistent plugin additional parameter ordering (#1355)
1 parent 354d175 commit dbed2af

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/RuntimeClientPlugin.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.util.Objects;
2222
import java.util.Optional;
2323
import java.util.Set;
24+
import java.util.TreeMap;
2425
import java.util.function.BiPredicate;
2526
import software.amazon.smithy.codegen.core.Symbol;
2627
import software.amazon.smithy.codegen.core.SymbolDependency;
@@ -798,7 +799,8 @@ public Builder servicePredicate(BiPredicate<Model, ServiceShape> servicePredicat
798799
* Enables access to the writer for adding imports/dependencies.
799800
*/
800801
public Builder withAdditionalClientParams(Map<String, ClientWriterConsumer> writeAdditionalClientParams) {
801-
this.writeAdditionalClientParams = writeAdditionalClientParams;
802+
// enforce consistent sorting during codegen.
803+
this.writeAdditionalClientParams = new TreeMap<>(writeAdditionalClientParams);
802804
return this;
803805
}
804806

@@ -808,7 +810,8 @@ public Builder withAdditionalClientParams(Map<String, ClientWriterConsumer> writ
808810
public Builder withAdditionalOperationParams(
809811
Map<String, CommandWriterConsumer> writeAdditionalOperationParams
810812
) {
811-
this.writeAdditionalOperationParams = writeAdditionalOperationParams;
813+
// enforce consistent sorting during codegen.
814+
this.writeAdditionalOperationParams = new TreeMap<>(writeAdditionalOperationParams);
812815
return this;
813816
}
814817

0 commit comments

Comments
 (0)