Unverified Commit 849f849b authored by Russell Cohen's avatar Russell Cohen Committed by GitHub
Browse files

Filter out EventStream operations from the model (#322)

parent b7821e23
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -26,11 +26,11 @@ class IntegrationTestDecorator : RustCodegenDecorator {
        protocolConfig: ProtocolConfig,
        baseCustomizations: List<LibRsCustomization>
    ): List<LibRsCustomization> = baseCustomizations.letIf(TestedServices.contains(protocolConfig.moduleName)) {
        it + AwsHyperDevDep(protocolConfig.runtimeConfig)
        it + IntegrationTestDependencies(protocolConfig.runtimeConfig)
    }
}

class AwsHyperDevDep(private val runtimeConfig: RuntimeConfig) : LibRsCustomization() {
class IntegrationTestDependencies(private val runtimeConfig: RuntimeConfig) : LibRsCustomization() {
    override fun section(section: LibRsSection) = when (section) {
        LibRsSection.Body -> writable {
            addDependency(runtimeConfig.awsHyper().copy(scope = DependencyScope.Dev))
+1 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ buildscript {
    val smithyVersion: String by project
    dependencies {
        classpath("software.amazon.smithy:smithy-aws-traits:$smithyVersion")
        classpath("software.amazon.smithy:smithy-cli:$smithyVersion")
    }
}

+8 −2
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@ class CodegenVisitor(context: PluginContext, private val codegenDecorator: RustC
        httpGenerator = protocolGenerator.buildProtocolGenerator(protocolConfig)
    }

    private fun baselineTransform(model: Model) = RecursiveShapeBoxer.transform(model)
    private fun baselineTransform(model: Model) = model.let(RecursiveShapeBoxer::transform)

    fun execute() {
        logger.info("generating Rust client...")
@@ -128,6 +128,12 @@ class CodegenVisitor(context: PluginContext, private val codegenDecorator: RustC
    }

    override fun serviceShape(shape: ServiceShape) {
        ServiceGenerator(rustCrate, httpGenerator, protocolGenerator.support(), protocolConfig, codegenDecorator).render()
        ServiceGenerator(
            rustCrate,
            httpGenerator,
            protocolGenerator.support(),
            protocolConfig,
            codegenDecorator
        ).render()
    }
}
+2 −1
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import software.amazon.smithy.rust.codegen.smithy.traits.InputBodyTrait
import software.amazon.smithy.rust.codegen.smithy.traits.OutputBodyTrait
import software.amazon.smithy.rust.codegen.smithy.traits.SyntheticOutputTrait
import software.amazon.smithy.rust.codegen.smithy.transformers.OperationNormalizer
import software.amazon.smithy.rust.codegen.smithy.transformers.RemoveEventStreamOperations
import software.amazon.smithy.rust.codegen.smithy.transformers.StructureModifier
import software.amazon.smithy.rust.codegen.util.dq
import software.amazon.smithy.rust.codegen.util.outputShape
@@ -71,7 +72,7 @@ class BasicAwsJsonFactory(private val version: AwsJsonVersion) : ProtocolGenerat
        return OperationNormalizer(model).transformModel(
            inputBodyFactory = shapeIfHasMembers,
            outputBodyFactory = shapeIfHasMembers
        )
        ).let(RemoveEventStreamOperations::transform)
    }

    override fun symbolProvider(model: Model, base: RustSymbolProvider): RustSymbolProvider {
+2 −1
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ import software.amazon.smithy.rust.codegen.smithy.generators.setterName
import software.amazon.smithy.rust.codegen.smithy.isOptional
import software.amazon.smithy.rust.codegen.smithy.traits.SyntheticOutputTrait
import software.amazon.smithy.rust.codegen.smithy.transformers.OperationNormalizer
import software.amazon.smithy.rust.codegen.smithy.transformers.RemoveEventStreamOperations
import software.amazon.smithy.rust.codegen.util.dq
import software.amazon.smithy.rust.codegen.util.expectMember
import software.amazon.smithy.rust.codegen.util.outputShape
@@ -76,7 +77,7 @@ class AwsRestJsonFactory : ProtocolGeneratorFactory<AwsRestJsonGenerator> {
        return OperationNormalizer(model).transformModel(
            inputBodyFactory = { op, input -> restJsonBody(input, httpIndex.getRequestBindings(op)) },
            outputBodyFactory = { op, output -> restJsonBody(output, httpIndex.getResponseBindings(op)) },
        )
        ).let(RemoveEventStreamOperations::transform)
    }

    override fun support(): ProtocolSupport {
Loading