<NME> CONTRIBUTING.md
<BEF> # Contributing to Rusoto

### General information

Any contribution intentionally submitted for inclusion in the work by you shall be licensed under the MIT license, without any additional terms or conditions.

Pull requests (PRs) should follow these guidelines:
* Include an entry in the [CHANGELOG](CHANGELOG.md).
* Generated code should be included in the PR.  Putting the codegen changes in a separate commit is preferred.
* Tests are highly encouraged.


1.  Run `brew link --force openssl`.
2.  Run:
    ``` bash
    export OPENSSL_INCLUDE_DIR=`brew --prefix openssl`/include
    export OPENSSL_LIB_DIR=`brew --prefix openssl`/lib

Check out code from GitHub.

Set up AWS credentials: environment variables (export AWS_ACCESS_KEY_ID and
AWS_SECRET_ACCESS_KEY), populate the ~/.aws/credentials file, or use an
IAM instance profile on an EC2 instance.

Rusoto codegen depends on botocore.  Update the git submodule via:

``` bash
cd rusoto
git submodule init
git submodule update
```

You are now ready to build the project with `cargo build`.
Remember to include the appropriate feature flags for the AWS services you want to use.
See [rusoto.org](https://www.rusoto.org/supported-aws-services.html) for a table of available services and their Cargo feature names.

### Building after initial setup

Build the project with `cargo build`.

Integration tests can be executed by running `cargo test --features FEATURE`, where FEATURE is one or more space-separated Cargo features to test as defined in `Cargo.toml`.
Each AWS service has a Cargo feature to enable it.
The feature "all" can be used to test all supported services.
The integration tests will create real AWS resources and you may be charged.
To run only the in-crate unit tests, which don't call out to AWS, include the `--lib` option to `cargo test`.

For more verbose test output, you can run `cargo test --verbose --features FEATURE -- --nocapture`.

### Rust code generation from boto core service definitions:

See the [README](service_crategen/README.md) in the service_crategen subcrate.

## Clippy

Instructions on [clippy's homepage](https://github.com/Manishearth/rust-clippy) have details on how to install and run.

To run clippy:

`cargo clippy`

[discord-invite]: https://discordapp.com/invite/WMJ4DWp "Discord channel invite"

<MSG> Fix Markdown formatting. [ci skip]

<DFF> @@ -12,6 +12,7 @@ Do one of the following to make rust-openssl see the Homebrew-installed OpenSSL:
 
 1.  Run `brew link --force openssl`.
 2.  Run:
+
     ``` bash
     export OPENSSL_INCLUDE_DIR=`brew --prefix openssl`/include
     export OPENSSL_LIB_DIR=`brew --prefix openssl`/lib

{'addition_count': 1, 'commit_subject': 'Fix Markdown formatting. [ci skip]', 'deletion_count': 0, 'file_extension': '.md', 'lang': 'md', 'license': 'mit', 'repo_name': 'rusoto/rusoto'}