48 lines
2.3 KiB
Markdown
48 lines
2.3 KiB
Markdown
# How to contribute
|
|
|
|
We'd love to accept your patches and contributions to this project. There are a
|
|
just a few small guidelines you need to follow.
|
|
|
|
## Contributor License Agreement
|
|
|
|
Contributions to any Google project must be accompanied by a Contributor License
|
|
Agreement. This is not a copyright **assignment**, it simply gives Google
|
|
permission to use and redistribute your contributions as part of the project.
|
|
|
|
When submitting a pull request, if you have not already signed the
|
|
[Contributor License Agreement (CLA)][CLA], then a bot will remind you.
|
|
Code cannot even be evaluated without this step.
|
|
|
|
## Submitting a patch
|
|
|
|
1. It's generally best to start by opening a new issue describing the bug or
|
|
feature you're intending to fix. Even if you think it's relatively minor,
|
|
it's helpful to know what people are working on. Mention in the initial
|
|
issue that you are planning to work on that bug or feature so that it can be
|
|
assigned to you.
|
|
|
|
2. Follow the normal process of [forking] the project, and setup a new branch
|
|
to work in. It's important that each group of changes be done in separate
|
|
branches in order to ensure that a pull request only includes the commits
|
|
related to that bug or feature.
|
|
|
|
3. Any significant changes should almost always be accompanied by tests. The
|
|
project already has good test coverage, so look at some of the existing
|
|
tests if you're unsure how to go about it.
|
|
|
|
4. All contributions must be licensed Apache 2.0 and all files must have a copy
|
|
of the boilerplate licence comment (can be copied from an existing file).
|
|
Files should be formatted according to Google's [java style guide].
|
|
|
|
5. Do your best to have [well-formed commit messages] for each change. This
|
|
provides consistency throughout the project, and ensures that commit
|
|
messages are able to be formatted properly by various git tools.
|
|
|
|
6. Finally, push the commits to your fork and submit a [pull request].
|
|
|
|
[CLA]: https://cla.developers.google.com
|
|
[forking]: https://help.github.com/articles/fork-a-repo
|
|
[java style guide]: https://google.github.io/styleguide/javaguide.html
|
|
[well-formed commit messages]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
|
|
[pull request]: https://help.github.com/articles/creating-a-pull-request
|