Go to file
Russell Cohen f2b3442103
Update README.md
2021-04-22 16:02:22 -04:00
.github/workflows Update Rust version (#276) 2021-04-19 14:21:42 -04:00
aws Doug secretsmanager examples (#318) 2021-04-20 21:12:56 +00:00
codegen Add as_xyz and is_xyz helper methods on Smithy Unions (#321) 2021-04-21 16:54:55 -04:00
codegen-test Update Rust version (#276) 2021-04-19 14:21:42 -04:00
design Add two Amazon Polly examples (#286) 2021-04-01 21:49:57 -04:00
gradle Add pre-commit hooks (#17) 2020-11-04 22:09:00 -05:00
rust-runtime Send Poll::Ready(None) on empty body (#325) 2021-04-22 15:33:13 -04:00
.gitignore Sensitive trait (#229) 2021-02-23 23:09:03 +00:00
.pre-commit-config.yaml Upgrade Smithy & Kotlin to latest (#82) 2020-12-14 10:58:04 -05:00
CODE_OF_CONDUCT.md Initial commit 2020-10-28 06:37:45 -07:00
CONTRIBUTING.md master -> main in Contributing.md (#300) 2021-04-14 14:46:50 +00:00
LICENSE Initial commit 2020-10-28 06:37:45 -07:00
NOTICE Initial commit 2020-10-28 06:37:45 -07:00
README.md Update README.md 2021-04-22 16:02:22 -04:00
build.gradle.kts Run all tests in the same cargo workspace (#28) 2020-11-17 11:35:30 -05:00
gradle.properties Upgrade to Smithy 1.6.1 (#235) 2021-03-03 14:08:03 -05:00
gradlew Add gradle files 2020-10-28 11:01:13 -04:00
gradlew.bat Add gradle files 2020-10-28 11:01:13 -04:00
settings.gradle.kts Add ApiGateway accept header customization (#287) 2021-04-01 17:16:13 +00:00
test.sh Credentials Provider Initial Implementation (#179) 2021-01-28 10:39:05 -05:00

README.md

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 >= 14 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