Skip to content

Code generation for the AWS SDK for Rust, as well as server and generic smithy client generation.

License

Notifications You must be signed in to change notification settings

smithy-lang/smithy-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1d00f38 · Apr 27, 2021
Apr 26, 2021
Apr 27, 2021
Apr 19, 2021
Apr 27, 2021
Apr 2, 2021
Nov 5, 2020
Apr 26, 2021
Feb 23, 2021
Dec 14, 2020
Oct 28, 2020
Apr 14, 2021
Oct 28, 2020
Oct 28, 2020
Apr 26, 2021
Nov 17, 2020
Mar 3, 2021
Oct 28, 2020
Oct 28, 2020
Apr 1, 2021
Jan 28, 2021

Repository files navigation

Smithy Rust status

Smithy code generators for Rust

The nightly SDK build can be found under Actions -> CI (take latest run) -> Artifacts

All internal and external interfaces are considered unstable and subject to change without notice.

Setup

  1. ./gradlew will setup gradle for you. JDK 11 is required.
  2. Running tests requires a working Rust installation. See Rust docs for installation instructions on your platform. Minimum supported Rust version is the latest released Rust version, although older versions may work.

Generate an AWS SDK

The generated SDK will be placed in aws/sdk/build/aws-sdk.

./gradlew :aws:sdk:assemble # Generate an SDK. Do not attempt to compile / run tests
./gradlew :aws:sdk:test # Run all the tests
./gradlew :aws:sdk:cargoCheck # only validate that it compiles

Run tests

./test.sh

This will run all the unit tests, codegen example models & Dynamo DB, validate that the generated code compiles, and run any tests targeting the generated code.

Development

For development, pre-commit hooks may be useful. Setup:

brew install pre-commit # (or appropriate for your platform: https://pre-commit.com/)
pre-commit install

Project Layout

  • aws: AWS specific codegen & Rust code (signing, endpoints, customizations, etc.)
  • codegen: Whitelabel Smithy code generation
  • codegen-test: Smithy protocol test generation & integration tests for Smithy whitelabel code