Firstly, thanks for your interest in contributing! We hope that this will be a pleasant first experience for you, and that you will return to continue contributing.
The Apache software Foundation's Code of Conduct governs this project, and everyone participating in it. By participating, you are expected to adhere to this code. If you are aware of unacceptable behavior, please visit the Reporting Guidelines page and follow the instructions there.
Most of the contributions that we receive are code contributions, but you can also contribute to the documentation or report solid bugs for us to fix.
Ensure no one did report the bug by searching on GitHub under Issues.
If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
Before making any significant changes, please open an issue. Discussing your proposed changes ahead of time will make the contribution process smooth for everyone.
Once we‘ve discussed your changes and you’ve got your code ready, make sure that tests are passing and open your pull request. Your PR is most likely to be accepted if it:
Clone the source code and run make build
in the source directory, which will build the default binary file in <sub_project>/build/bin/
.
make build
Please refer to installation for more details.
Test your changes before submitting them by
make test
We have some rules for the code style and please lint your codes locally before opening a pull request.
make lint
If you found some errors in the output of the above command, try make format
to fix some obvious style issues. As for the complicated errors, please correct them manually.
We have a series of checking tests to verify your changes by
make pre-push
Please fix any errors raised by the above command.
If you import new dependencies or upgrade an existing one, trigger the licenses generator to update the license files.
make license-dep