Developers Guide
If you want to contribute to the development of rust-code-analysis we have summarized here a series of guidelines that are supposed to help you in your building process.
As prerequisite, you need to install the last available version of Rust. You can learn how to do that here.
Clone Repository
First of all, you need to clone the repository. You can do that:
through HTTPS
git clone -j8 https://github.com/mozilla/rust-code-analysis.git or through SSH
git clone -j8 git@github.com:mozilla/rust-code-analysis.git Building
To build the rust-code-analysis library, you need to run the following command:
cargo build If you want to build the cli:
cargo build -p rust-code-analysis-cli If you want to build the web server:
cargo build -p rust-code-analysis-web If you want to build everything in one fell swoop:
cargo build --workspace Testing
After you have finished changing the code, you should always verify whether all tests pass with the cargo test command.
cargo test --workspace --all-features --verbose Code Formatting
If all previous steps went well, and you want to make a pull request to integrate your invaluable help in the codebase, the last step left is code formatting.
Rustfmt
This tool formats your code according to Rust style guidelines.
To install:
rustup component add rustfmt To format the code:
cargo fmt Clippy
This tool helps developers to write better code catching automatically lots of common mistakes for them. It detects in your code a series of errors and warnings that must be fixed before making a pull request.
To install:
rustup component add clippy To detect errors and warnings:
cargo clippy --workspace --all-targets -- Code Documentation
If you have documented your code, to generate the final documentation, run this command:
cargo doc --open --no-deps Remove the --no-deps option if you also want to build the documentation of each dependency used by rust-code-analysis.
Run your code
You can run rust-code-analysis-cli using:
cargo run -p rust-code-analysis-cli -- [rust-code-analysis-cli-parameters] To know the list of rust-code-analysis-cli parameters, run:
cargo run -p rust-code-analysis-cli -- --help You can run rust-code-analysis-web using:
cargo run -p rust-code-analysis-web -- [rust-code-analysis-web-parameters] To know the list of rust-code-analysis-web parameters, run:
cargo run -p rust-code-analysis-web -- --help Practical advice
- When you add a new feature, add at least one unit or integration test to verify that everything works correctly
- Document public API
- Do not add dead code
- Comment intricate code such that others can comprehend what you have accomplished