Thanks for your interest in this project. Contributions are welcome!
Information regarding source code management, builds, coding standards, and more.
https://projects.eclipse.org/proposals/eclipse-uprotocol
The project maintains the following source code repositories
https://github.com/eclipse-uprotocol
Before your contribution can be accepted by the project team contributors must electronically sign the Eclipse Contributor Agreement (ECA).
http://www.eclipse.org/legal/ECA.php
Commits that are provided by non-committers must have a Signed-off-by field in the footer indicating that the author is aware of the terms by which the contribution has been provided to the project. The non-committer must additionally have an Eclipse Foundation account and must have a signed Eclipse Contributor Agreement (ECA) on file.
For more information, please see the Eclipse Committer Handbook: https://www.eclipse.org/projects/handbook/#resources-commit
You can use any development environment you like to contribute to the uProtocol Rust SDK. 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.