From 4b00f5eaac8f580d2b1297647d4358fcab545581 Mon Sep 17 00:00:00 2001 From: Michael Dowling Date: Fri, 21 Nov 2025 13:52:39 -0600 Subject: [PATCH] Add ability to register default plugins in codegen Closes #918 --- .../amazon/smithy/java/codegen/JavaCodegenSettings.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/codegen/codegen-core/src/main/java/software/amazon/smithy/java/codegen/JavaCodegenSettings.java b/codegen/codegen-core/src/main/java/software/amazon/smithy/java/codegen/JavaCodegenSettings.java index 4f14f4c58..949c71da3 100644 --- a/codegen/codegen-core/src/main/java/software/amazon/smithy/java/codegen/JavaCodegenSettings.java +++ b/codegen/codegen-core/src/main/java/software/amazon/smithy/java/codegen/JavaCodegenSettings.java @@ -93,7 +93,7 @@ private JavaCodegenSettings(Builder builder) { this.defaultProtocol = builder.defaultProtocol; this.transportName = builder.transportName; this.transportSettings = builder.transportSettings; - this.defaultPlugins = Collections.unmodifiableList(builder.defaultPlugins); + this.defaultPlugins = new ArrayList<>(builder.defaultPlugins); this.defaultSettings = Collections.unmodifiableList(builder.defaultSettings); this.relativeDate = builder.relativeDate; this.relativeVersion = builder.relativeVersion; @@ -166,7 +166,11 @@ public ObjectNode transportSettings() { } public List defaultPlugins() { - return defaultPlugins; + return Collections.unmodifiableList(defaultPlugins); + } + + public void addDefaultPlugin(String pluginClass) { + defaultPlugins.add(pluginClass); } public List defaultSettings() {