56 lines
2.2 KiB
Markdown
56 lines
2.2 KiB
Markdown
|
# How to become a contributor and submit your own code
|
||
|
|
||
|
## Contributor License Agreements
|
||
|
|
||
|
We'd love to accept your patches! Before we can take them, we
|
||
|
have to jump a couple of legal hurdles.
|
||
|
|
||
|
Please fill out either the individual or corporate Contributor License Agreement
|
||
|
(CLA).
|
||
|
|
||
|
* If you are an individual writing original source code and you're sure you
|
||
|
own the intellectual property, then you'll need to sign an
|
||
|
[individual CLA](https://developers.google.com/open-source/cla/individual).
|
||
|
* If you work for a company that wants to allow you to contribute your work,
|
||
|
then you'll need to sign a
|
||
|
[corporate CLA](https://developers.google.com/open-source/cla/corporate).
|
||
|
|
||
|
Follow either of the two links above to access the appropriate CLA and
|
||
|
instructions for how to sign and return it. Once we receive it, we'll be able to
|
||
|
accept your pull requests.
|
||
|
|
||
|
## Contributing A Patch
|
||
|
|
||
|
1. Submit an issue describing your proposed change to the repo in question.
|
||
|
1. The repo owner will respond to your issue promptly.
|
||
|
1. If your proposed change is accepted, and you haven't already done so, sign a
|
||
|
Contributor License Agreement (see details above).
|
||
|
1. Fork the desired repo, develop and test your code changes.
|
||
|
1. Ensure that your code adheres to the existing style in the sample to which
|
||
|
you are contributing.
|
||
|
1. Ensure that your code has an appropriate set of unit tests which all pass.
|
||
|
1. Submit a pull request.
|
||
|
|
||
|
## Style
|
||
|
|
||
|
This repository follow the [Google C++ Style Guide](
|
||
|
https://google.github.io/styleguide/cppguide.html).
|
||
|
Please make sure your contributions adhere to the style guide.
|
||
|
|
||
|
### Formatting
|
||
|
|
||
|
The code in this project is formatted with `clang-format(1)`, and our CI builds
|
||
|
will check that the code matches the format generated by this tool before
|
||
|
accepting a pull request. Please configure your editor or IDE to use the Google
|
||
|
style for indentation and other whitespace. If you need to reformat one or more
|
||
|
files, you can simply run `clang-format` manually:
|
||
|
|
||
|
```console
|
||
|
$ clang-format -i <file>....
|
||
|
```
|
||
|
|
||
|
If you need to reformat one of the files to match the Google style. Please be
|
||
|
advised that `clang-format` has been known to generate slightly different
|
||
|
formatting in different versions. We use version 7; use the same version if you
|
||
|
run into problems.
|