Skip to content

Commit a7b37aa

Browse files
committed
Move SSDK specific validations inside generateService
1 parent 7f2ae93 commit a7b37aa

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/DirectedTypeScriptCodegen.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,11 @@
4545
import software.amazon.smithy.model.shapes.ServiceShape;
4646
import software.amazon.smithy.model.shapes.ShapeId;
4747
import software.amazon.smithy.model.traits.PaginatedTrait;
48+
import software.amazon.smithy.model.validation.ValidationEvent;
4849
import software.amazon.smithy.typescript.codegen.integration.ProtocolGenerator;
4950
import software.amazon.smithy.typescript.codegen.integration.RuntimeClientPlugin;
5051
import software.amazon.smithy.typescript.codegen.integration.TypeScriptIntegration;
52+
import software.amazon.smithy.typescript.codegen.validation.LongValidator;
5153
import software.amazon.smithy.utils.MapUtils;
5254
import software.amazon.smithy.utils.SmithyUnstableApi;
5355
import software.amazon.smithy.waiters.WaitableTrait;
@@ -140,8 +142,19 @@ private ProtocolGenerator resolveProtocolGenerator(
140142
@Override
141143
public void generateService(GenerateServiceDirective<TypeScriptCodegenContext, TypeScriptSettings> directive) {
142144
TypeScriptSettings settings = directive.settings();
145+
Model model = directive.model();
146+
ServiceShape service = directive.shape();
143147
TypeScriptDelegator delegator = directive.context().writerDelegator();
144148

149+
if (settings.generateServerSdk()) {
150+
checkValidationSettings(settings, model, service);
151+
152+
LongValidator validator = new LongValidator(settings);
153+
List<ValidationEvent> events = validator.validate(model);
154+
System.err.println("Model contained SSDK-specific validation events: \n"
155+
+ events.stream().map(ValidationEvent::toString).sorted().collect(Collectors.joining("\n")));
156+
}
157+
145158
if (settings.generateClient()) {
146159
generateClient(directive);
147160
}
@@ -154,8 +167,6 @@ public void generateService(GenerateServiceDirective<TypeScriptCodegenContext, T
154167
}
155168

156169
ProtocolGenerator protocolGenerator = directive.context().protocolGenerator();
157-
ServiceShape service = directive.shape();
158-
Model model = directive.model();
159170
SymbolProvider symbolProvider = directive.symbolProvider();
160171
List<TypeScriptIntegration> integrations = directive.context().integrations();
161172
if (protocolGenerator != null) {
@@ -407,7 +418,6 @@ public void customizeBeforeIntegrations(
407418
directive.context().protocolGenerator());
408419

409420
if (directive.settings().generateServerSdk()) {
410-
checkValidationSettings(directive.settings(), directive.model(), directive.service());
411421
// Generate index for server
412422
IndexGenerator.writeServerIndex(
413423
directive.settings(),

0 commit comments

Comments
 (0)