|
| 1 | +# Contributing to Eclipse uProtocol |
| 2 | + |
| 3 | +Thanks for your interest in this project. Contributions are welcome! |
| 4 | + |
| 5 | +## Developer resources |
| 6 | + |
| 7 | +Information regarding source code management, builds, coding standards, and |
| 8 | +more. |
| 9 | + |
| 10 | +<https://projects.eclipse.org/proposals/eclipse-uprotocol> |
| 11 | + |
| 12 | +The project maintains the following source code repositories |
| 13 | + |
| 14 | +<https://github.com/eclipse-uprotocol> |
| 15 | + |
| 16 | +## Eclipse Contributor Agreement |
| 17 | + |
| 18 | +Before your contribution can be accepted by the project team contributors must |
| 19 | +electronically sign the Eclipse Contributor Agreement (ECA). |
| 20 | + |
| 21 | +<http://www.eclipse.org/legal/ECA.php> |
| 22 | + |
| 23 | +Commits that are provided by non-committers must have a Signed-off-by field in |
| 24 | +the footer indicating that the author is aware of the terms by which the |
| 25 | +contribution has been provided to the project. The non-committer must |
| 26 | +additionally have an Eclipse Foundation account and must have a signed Eclipse |
| 27 | +Contributor Agreement (ECA) on file. |
| 28 | + |
| 29 | +For more information, please see the Eclipse Committer Handbook: |
| 30 | +<https://www.eclipse.org/projects/handbook/#resources-commit> |
| 31 | + |
| 32 | +## Setting up a development environment |
| 33 | + |
| 34 | +You can use any development environment you like to contribute to the uSubscription Rust. However, it is mandatory to use the Rust linter ('[clippy](<https://github.com/rust-lang/rust-clippy>)') for any pull requests you do. |
| 35 | +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?](https://users.rust-lang.org/t/how-to-use-clippy-in-vs-code-with-rust-analyzer/41881) |
| 36 | + |
| 37 | +Similarly, the project requests that markdown is formatted and linted properly - to help with this, it is recommended to use [markdown linters](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint). |
| 38 | + |
| 39 | +During development, before submitting a PR, you can use `./tools/fmt_clippy_doc.sh` to run these checks on the workspace. |
| 40 | + |
| 41 | +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](https://marketplace.visualstudio.com/items?itemName=ryanluker.vscode-coverage-gutters) extension, you can enable display of code coverage information with these settings: |
| 42 | + |
| 43 | +``` json |
| 44 | + "coverage-gutters.coverageBaseDir": "**", |
| 45 | + "coverage-gutters.coverageFileNames": [ |
| 46 | + "target/tarpaulin/lcov.info", |
| 47 | + ], |
| 48 | +``` |
| 49 | + |
| 50 | +## Contact |
| 51 | + |
| 52 | +Contact the project developers via the project's "dev" list. |
| 53 | + |
| 54 | +<https://accounts.eclipse.org/mailing-list/uprotocol-dev> |
0 commit comments