Skip to content

Commit 0415485

Browse files
authored
track writable/chainwritable promote (#3298)
* track writable/chainwritable promotion * bump codegen
1 parent bdb98c5 commit 0415485

26 files changed

Lines changed: 138 additions & 90 deletions

SMITHY_GO_CODEGEN_VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
7bfe108d0fa9790e554d201e80faa6b8051569d0
1+
708bee3fd23f247fe0b019ae3fbb9dd7837117bc

codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AssembleMiddlewareStack.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
import software.amazon.smithy.go.codegen.GoDelegator;
3030
import software.amazon.smithy.go.codegen.GoSettings;
3131
import software.amazon.smithy.go.codegen.GoWriter;
32+
import software.amazon.smithy.go.codegen.ChainWritable;
33+
import software.amazon.smithy.go.codegen.Writable;
3234
import software.amazon.smithy.go.codegen.SmithyGoDependency;
3335
import software.amazon.smithy.go.codegen.SymbolUtils;
3436
import software.amazon.smithy.go.codegen.integration.GoIntegration;
@@ -225,7 +227,7 @@ public void writeAdditionalFiles(GoSettings settings, Model model, SymbolProvide
225227
});
226228
}
227229

228-
private GoWriter.Writable spanRetryLoopMiddleware() {
230+
private Writable spanRetryLoopMiddleware() {
229231
return new FinalizeStepMiddleware() {
230232
public String getStructName() {
231233
return "spanRetryLoop";
@@ -235,7 +237,7 @@ public Map<String, Symbol> getFields() {
235237
return Map.of("options", buildPackageSymbol("Options"));
236238
}
237239

238-
public GoWriter.Writable getFuncBody() {
240+
public Writable getFuncBody() {
239241
return goTemplate("""
240242
tracer := operationTracer(m.options.TracerProvider)
241243
ctx, span := tracer.StartSpan(ctx, "RetryLoop")
@@ -247,7 +249,7 @@ public GoWriter.Writable getFuncBody() {
247249
};
248250
}
249251

250-
private GoWriter.Writable addMiddleware() {
252+
private Writable addMiddleware() {
251253
return goTemplate("""
252254
$D $D $D
253255
func addClientRequestID(stack *middleware.Stack) error {
@@ -272,7 +274,7 @@ func addSpanRetryLoop(stack *middleware.Stack, options Options) error {
272274
""", SmithyGoDependency.SMITHY_MIDDLEWARE, AwsGoDependency.AWS_MIDDLEWARE, SmithyGoDependency.SMITHY_HTTP_TRANSPORT);
273275
}
274276

275-
private GoWriter.Writable addSigV4XMiddleware() {
277+
private Writable addSigV4XMiddleware() {
276278
return goTemplate("""
277279
$D
278280
func addStreamingEventsPayload(stack *middleware.Stack) error {

codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsClientUserAgent.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
import software.amazon.smithy.go.codegen.GoSettings;
2525
import software.amazon.smithy.go.codegen.GoUniverseTypes;
2626
import software.amazon.smithy.go.codegen.GoWriter;
27+
import software.amazon.smithy.go.codegen.ChainWritable;
28+
import software.amazon.smithy.go.codegen.Writable;
2729
import software.amazon.smithy.go.codegen.SmithyGoDependency;
2830
import software.amazon.smithy.go.codegen.SmithyGoTypes;
2931
import software.amazon.smithy.go.codegen.SymbolUtils;
@@ -74,7 +76,7 @@ public List<RuntimeClientPlugin> getClientPlugins() {
7476
);
7577
}
7678

77-
private GoWriter.Writable addMiddleware(String serviceId) {
79+
private Writable addMiddleware(String serviceId) {
7880
return goTemplate("""
7981
func addClientUserAgent(stack $middlewareStack:P, options Options) error {
8082
ua, err := getOrAddRequestUserAgent(stack)

codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsEndpointConfigTestGenerator.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import software.amazon.smithy.model.Model;
1111
import software.amazon.smithy.utils.MapUtils;
1212
import software.amazon.smithy.go.codegen.GoWriter;
13+
import software.amazon.smithy.go.codegen.ChainWritable;
14+
import software.amazon.smithy.go.codegen.Writable;
1315
import software.amazon.smithy.go.codegen.SmithyGoDependency;
1416
import software.amazon.smithy.go.codegen.SymbolUtils;
1517

@@ -48,7 +50,7 @@ public void writeAdditionalFiles(
4850

4951
}
5052

51-
private GoWriter.Writable generate() {
53+
private Writable generate() {
5254
return (GoWriter w) -> {
5355
w.write(
5456
"""
@@ -62,7 +64,7 @@ private GoWriter.Writable generate() {
6264
};
6365
}
6466

65-
private GoWriter.Writable generateMockProviders() {
67+
private Writable generateMockProviders() {
6668
return goTemplate(
6769
"""
6870
type mockConfigSource struct {
@@ -92,7 +94,7 @@ private GoWriter.Writable generateMockProviders() {
9294
}
9395

9496

95-
private GoWriter.Writable generateTestFunction() {
97+
private Writable generateTestFunction() {
9698
return (GoWriter w) -> {
9799
w.write(
98100
"""
@@ -109,7 +111,7 @@ func TestResolveBaseEndpoint(t $P) {
109111
};
110112
}
111113

112-
private GoWriter.Writable generateCases() {
114+
private Writable generateCases() {
113115
return goTemplate(
114116
"""
115117
cases := map[string]struct {
@@ -174,7 +176,7 @@ private GoWriter.Writable generateCases() {
174176
);
175177
}
176178

177-
private GoWriter.Writable generateTests() {
179+
private Writable generateTests() {
178180
return goTemplate(
179181
"""
180182
for name, c := range cases {

codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsEndpointResolverInitializerGenerator.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
import software.amazon.smithy.codegen.core.SymbolProvider;
2323
import software.amazon.smithy.go.codegen.GoSettings;
2424
import software.amazon.smithy.go.codegen.GoWriter;
25+
import software.amazon.smithy.go.codegen.ChainWritable;
26+
import software.amazon.smithy.go.codegen.Writable;
2527
import software.amazon.smithy.go.codegen.SmithyGoDependency;
2628
import software.amazon.smithy.go.codegen.SymbolUtils;
2729
import software.amazon.smithy.go.codegen.TriConsumer;
@@ -96,7 +98,7 @@ public void writeAdditionalFiles(
9698
});
9799
}
98100

99-
private GoWriter.Writable generateConfigResolverMethod(String sdkId) {
101+
private Writable generateConfigResolverMethod(String sdkId) {
100102
return goTemplate(
101103
"""
102104
func $resolveMethodName:L(cfg $awsConfig:T, o *Options) {
@@ -129,7 +131,7 @@ private GoWriter.Writable generateConfigResolverMethod(String sdkId) {
129131
);
130132
}
131133

132-
private GoWriter.Writable generateResolveMethod() {
134+
private Writable generateResolveMethod() {
133135
return goTemplate(
134136
"""
135137
func $resolveMethodName:L(options *Options) {

codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsHttpPresignURLClientGenerator.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333
import software.amazon.smithy.go.codegen.GoSettings;
3434
import software.amazon.smithy.go.codegen.GoStdlibTypes;
3535
import software.amazon.smithy.go.codegen.GoWriter;
36+
import software.amazon.smithy.go.codegen.ChainWritable;
37+
import software.amazon.smithy.go.codegen.Writable;
3638
import software.amazon.smithy.go.codegen.MiddlewareIdentifier;
3739
import software.amazon.smithy.go.codegen.OperationGenerator;
3840
import software.amazon.smithy.go.codegen.SmithyGoDependency;
@@ -766,7 +768,7 @@ private final boolean isPollyServiceShape(ServiceShape service) {
766768
return service.expectTrait(ServiceTrait.class).getSdkId().equalsIgnoreCase("Polly");
767769
}
768770

769-
private static final class PresignContextPolyfillMiddleware implements GoWriter.Writable {
771+
private static final class PresignContextPolyfillMiddleware implements Writable {
770772
public static final String NAME = "presignContextPolyfillMiddleware";
771773
public static final String ID = "presignContextPolyfill";
772774

@@ -781,12 +783,12 @@ public void accept(GoWriter writer) {
781783
writer.write(generateMiddleware());
782784
}
783785

784-
private GoWriter.Writable generateMiddleware() {
786+
private Writable generateMiddleware() {
785787
return createFinalizeStepMiddleware(NAME, MiddlewareIdentifier.string(ID))
786788
.asWritable(generateBody(), emptyGoTemplate());
787789
}
788790

789-
private GoWriter.Writable generateBody() {
791+
private Writable generateBody() {
790792
return goTemplate("""
791793
rscheme := getResolvedAuthScheme(ctx)
792794
if rscheme == nil {
@@ -825,7 +827,7 @@ private GoWriter.Writable generateBody() {
825827
));
826828
}
827829

828-
private GoWriter.Writable generateSetSignerVersion() {
830+
private Writable generateSetSignerVersion() {
829831
return switch (service.expectTrait(ServiceTrait.class).getSdkId().toLowerCase()) {
830832
case "s3" ->
831833
goTemplate("ctx = $T(ctx, schemeID)", SdkGoTypes.ServiceCustomizations.S3.SetSignerVersion);

codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/ClockSkewGenerator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class ClockSkewGenerator implements GoIntegration {
2727
private static final Symbol TIME_OFFSET_RESOLVER = SymbolUtils.createValueSymbolBuilder(
2828
"initializeTimeOffsetResolver").build();
2929

30-
private static final GoWriter.Writable CLOCK_SKEW_INSERT_TEMPLATE = goTemplate("""
30+
private static final Writable CLOCK_SKEW_INSERT_TEMPLATE = goTemplate("""
3131
$dep:D
3232
func $fn:L(stack $stack:P, c *Client) error {
3333
mw := $depalias:L.$middleware:L{Offset: c.$off:L}
@@ -46,7 +46,7 @@ public class ClockSkewGenerator implements GoIntegration {
4646
"off", TIME_OFFSET,
4747
"dep", INTERNAL_MIDDLEWARE
4848
));
49-
private static final GoWriter.Writable TIME_OFFSET_RESOLVER_TEMPLATE = goTemplate(
49+
private static final Writable TIME_OFFSET_RESOLVER_TEMPLATE = goTemplate(
5050
"""
5151
$import:D
5252
func $fn:L(c *Client) {

codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/EndpointDisableHttps.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
import software.amazon.smithy.go.codegen.GoSettings;
2323
import software.amazon.smithy.go.codegen.GoStdlibTypes;
2424
import software.amazon.smithy.go.codegen.GoWriter;
25+
import software.amazon.smithy.go.codegen.ChainWritable;
26+
import software.amazon.smithy.go.codegen.Writable;
2527
import software.amazon.smithy.go.codegen.MiddlewareIdentifier;
2628
import software.amazon.smithy.go.codegen.SmithyGoTypes;
2729
import software.amazon.smithy.go.codegen.endpoints.EndpointMiddlewareGenerator;
@@ -96,18 +98,18 @@ public void writeAdditionalFiles(
9698
});
9799
}
98100

99-
private GoWriter.Writable generateMiddleware() {
101+
private Writable generateMiddleware() {
100102
return createFinalizeStepMiddleware(MIDDLEWARE_NAME, MiddlewareIdentifier.string(MIDDLEWARE_ID))
101103
.asWritable(generateBody(), generateFields());
102104
}
103105

104-
private GoWriter.Writable generateFields() {
106+
private Writable generateFields() {
105107
return goTemplate("""
106108
DisableHTTPS bool
107109
""");
108110
}
109111

110-
private GoWriter.Writable generateBody() {
112+
private Writable generateBody() {
111113
return goTemplate("""
112114
req, ok := in.Request.($P)
113115
if !ok {

codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/JsonRpcProtocolGenerator.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
import software.amazon.smithy.codegen.core.Symbol;
2727
import software.amazon.smithy.go.codegen.CodegenUtils;
2828
import software.amazon.smithy.go.codegen.GoWriter;
29+
import software.amazon.smithy.go.codegen.ChainWritable;
30+
import software.amazon.smithy.go.codegen.Writable;
2931
import software.amazon.smithy.go.codegen.SmithyGoDependency;
3032
import software.amazon.smithy.go.codegen.integration.HttpRpcProtocolGenerator;
3133
import software.amazon.smithy.go.codegen.integration.ProtocolGenerator;
@@ -192,8 +194,8 @@ protected void writeErrorMessageCodeDeserializer(GenerationContext context) {
192194
193195
""",
194196
MapUtils.of(
195-
"initDecoder", (GoWriter.Writable) writer -> initializeJsonDecoder(writer, "errorBody"),
196-
"handleDecodeError", (GoWriter.Writable) AwsProtocolUtils::handleDecodeError
197+
"initDecoder", (Writable) writer -> initializeJsonDecoder(writer, "errorBody"),
198+
"handleDecodeError", (Writable) AwsProtocolUtils::handleDecodeError
197199
));
198200
context.getWriter().get()
199201
.addUseImports(AwsGoDependency.AWS_REST_JSON_PROTOCOL)

codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/customization/AwsAuthResolution.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
import software.amazon.smithy.go.codegen.GoStdlibTypes;
2323
import software.amazon.smithy.go.codegen.GoSettings;
2424
import software.amazon.smithy.go.codegen.GoWriter;
25+
import software.amazon.smithy.go.codegen.ChainWritable;
26+
import software.amazon.smithy.go.codegen.Writable;
2527
import software.amazon.smithy.go.codegen.SymbolUtils;
2628
import software.amazon.smithy.go.codegen.auth.AuthParameter;
2729
import software.amazon.smithy.go.codegen.auth.AuthParametersGenerator;
@@ -95,7 +97,7 @@ private boolean isSigV4Service(Model model, ServiceShape service) {
9597
return service.hasTrait(SigV4Trait.class);
9698
};
9799

98-
private GoWriter.Writable writeRegionResolver() {
100+
private Writable writeRegionResolver() {
99101
return goTemplate("""
100102
func bindAuthParamsRegion( _ interface{}, params $P, _ interface{}, options Options) error {
101103
params.Region = options.Region
@@ -104,7 +106,7 @@ func bindAuthParamsRegion( _ interface{}, params $P, _ interface{}, options Opti
104106
""", AuthParametersGenerator.STRUCT_SYMBOL);
105107
}
106108

107-
private GoWriter.Writable writeEndpointParamResolver() {
109+
private Writable writeEndpointParamResolver() {
108110
return goTemplate("""
109111
func bindAuthEndpointParams(ctx $P, params $P, input interface{}, options Options) (err error) {
110112
params.endpointParams, err = bindEndpointParams(ctx, input, options)

0 commit comments

Comments
 (0)