Skip to content

Initial smithy-transformations skeleton with addOperations#1

Merged
kubukoz merged 1 commit into
mainfrom
init
May 7, 2026
Merged

Initial smithy-transformations skeleton with addOperations#1
kubukoz merged 1 commit into
mainfrom
init

Conversation

@kubukoz
Copy link
Copy Markdown
Member

@kubukoz kubukoz commented May 7, 2026

Summary

  • Adds the transformation module: a Java ProjectionTransformer (addOperations) plus its @addOperations Smithy trait, packaged in one publishable jar.
  • Adds a tests module (Scala 3 + munit) that runs the transformer against input.smithy / expected.smithy fixtures using ModelDiff.
  • Adds a smithy4sExample module that wires smithy4sModelTransformers := List(\"addOperations\") to demonstrate end-to-end use during smithy4s codegen.

This is a workaround for smithy-lang/smithy#3105.

Test plan

  • sbt tests/test — basic and apply-concatenation cases pass
  • sbt smithy4sExample/test — generated MyServiceGen.endpoints contains both A and Another

🤖 Generated with Claude Code

A reusable Smithy ProjectionTransformer module that downstream projects
(e.g. smithy4s users) can apply via smithy4sModelTransformers. Ships with
the @addOperations trait that appends the listed operations to the
service it's applied to.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@kubukoz kubukoz merged commit 3312567 into main May 7, 2026
11 of 12 checks passed
@kubukoz kubukoz deleted the init branch May 7, 2026 18:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant