xref: /aosp_15_r20/external/bazelbuild-rules_android/CONTRIBUTING.md (revision 9e965d6fece27a77de5377433c2f7e6999b8cc0b)
1*9e965d6fSRomain JobredeauxWant to contribute? Great! First, read this page (including the small print at
2*9e965d6fSRomain Jobredeauxthe end).
3*9e965d6fSRomain Jobredeaux
4*9e965d6fSRomain Jobredeaux### Before you contribute
5*9e965d6fSRomain Jobredeaux**Before we can use your code, you must sign the
6*9e965d6fSRomain Jobredeaux[Google Individual Contributor License Agreement](https://developers.google.com/open-source/cla/individual?csw=1)
7*9e965d6fSRomain Jobredeaux(CLA)**, which you can do online.
8*9e965d6fSRomain Jobredeaux
9*9e965d6fSRomain JobredeauxThe CLA is necessary mainly because you own the copyright to your changes,
10*9e965d6fSRomain Jobredeauxeven after your contribution becomes part of our codebase, so we need your
11*9e965d6fSRomain Jobredeauxpermission to use and distribute your code. We also need to be sure of
12*9e965d6fSRomain Jobredeauxvarious other things — for instance that you'll tell us if you know that
13*9e965d6fSRomain Jobredeauxyour code infringes on other people's patents. You don't have to sign
14*9e965d6fSRomain Jobredeauxthe CLA until after you've submitted your code for review and a member has
15*9e965d6fSRomain Jobredeauxapproved it, but you must do it before we can put your code into our codebase.
16*9e965d6fSRomain Jobredeaux
17*9e965d6fSRomain Jobredeaux### The small print
18*9e965d6fSRomain JobredeauxContributions made by corporations are covered by a different agreement than
19*9e965d6fSRomain Jobredeauxthe one above, the
20*9e965d6fSRomain Jobredeaux[Software Grant and Corporate Contributor License Agreement](https://cla.developers.google.com/about/google-corporate).
21*9e965d6fSRomain Jobredeaux
22*9e965d6fSRomain Jobredeaux### Contribution process
23*9e965d6fSRomain Jobredeaux
24*9e965d6fSRomain Jobredeaux1. Explain your idea and discuss your plan with members of the team. The best
25*9e965d6fSRomain Jobredeaux   way to do this is to create
26*9e965d6fSRomain Jobredeaux   an [issue](https://github.com/bazelbuild/rules_android/issues) or comment on
27*9e965d6fSRomain Jobredeaux   an existing issue.
28*9e965d6fSRomain Jobredeaux1. Prepare a git commit with your change. Don't forget to
29*9e965d6fSRomain Jobredeaux   add [tests](https://github.com/bazelbuild/rules_android/tree/master/tests).
30*9e965d6fSRomain Jobredeaux   Run the existing tests with `bazel test //...`. Update
31*9e965d6fSRomain Jobredeaux   [README.md](https://github.com/bazelbuild/rules_android/blob/master/README.md)
32*9e965d6fSRomain Jobredeaux   if appropriate.
33*9e965d6fSRomain Jobredeaux1. [Create a pull request](https://help.github.com/articles/creating-a-pull-request/).
34*9e965d6fSRomain Jobredeaux   This will start the code review process. **All submissions, including
35*9e965d6fSRomain Jobredeaux   submissions by project members, require review.**
36*9e965d6fSRomain Jobredeaux1. You may be asked to make some changes. You'll also need to sign the CLA at
37*9e965d6fSRomain Jobredeaux   this point, if you haven't done so already. Our continuous integration bots
38*9e965d6fSRomain Jobredeaux   will test your change automatically on supported platforms. Once everything
39*9e965d6fSRomain Jobredeaux   looks good, your change will be merged.
40