Thanks for your interest in this project. Contributions are welcome!
Please refer to the main CONTRIBUTING resource for Eclipse uProtocol to get most of the general overview.
The following is from up-rust
project and is specific to Rust development for uProtocol.
You can use any development environment you like to contribute to up-streamer-rust
. However, it is mandatory to use the Rust linter ('clippy') for any pull requests you do.
To set up VSCode to run clippy per default every time you save your code, have a look here: How to use Clippy in VS Code with rust-analyzer?
Similarly, the project requests that markdown is formatted and linted properly - to help with this, it is recommended to use markdown linters.
During development, before submitting a PR, you can use ./tools/fmt_clippy_doc.sh
to run these checks on the workspace.
There also exists a helper script in ./tools to generate test results and test code coverage reports. These reports are placed in the ./target/tarpaulin
directory. If you use VSCode with the Coverage Gutters extension, you can enable display of code coverage information with these settings:
"coverage-gutters.coverageBaseDir": "**",
"coverage-gutters.coverageFileNames": [
"target/tarpaulin/lcov.info",
],
All of these prerequisites are made available as a VSCode devcontainer, configured at the usual place (.devcontainer
).
Contact the project developers via the project's "dev" list.