xref: /aosp_15_r20/external/bazelbuild-kotlin-rules/CONTRIBUTING.md (revision 3a22c0a33dd99bcca39a024d43e6fbcc55c2806e)
1*3a22c0a3SAlix<!--
2*3a22c0a3SAlix Copyright 2022 Google LLC. All rights reserved.
3*3a22c0a3SAlix
4*3a22c0a3SAlix Licensed under the Apache License, Version 2.0 (the License);
5*3a22c0a3SAlix you may not use this file except in compliance with the License.
6*3a22c0a3SAlix You may obtain a copy of the License at
7*3a22c0a3SAlix
8*3a22c0a3SAlix     http://www.apache.org/licenses/LICENSE-2.0
9*3a22c0a3SAlix
10*3a22c0a3SAlix Unless required by applicable law or agreed to in writing, software
11*3a22c0a3SAlix distributed under the License is distributed on an "AS IS" BASIS,
12*3a22c0a3SAlix WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*3a22c0a3SAlix See the License for the specific language governing permissions and
14*3a22c0a3SAlix limitations under the License.
15*3a22c0a3SAlix-->
16*3a22c0a3SAlix
17*3a22c0a3SAlixWant to contribute? Great! First, read this page (including the small print at
18*3a22c0a3SAlixthe end).
19*3a22c0a3SAlix
20*3a22c0a3SAlix### Before you contribute
21*3a22c0a3SAlix**Before we can use your code, you must sign the
22*3a22c0a3SAlix[Google Individual Contributor License Agreement](https://developers.google.com/open-source/cla/individual?csw=1)
23*3a22c0a3SAlix(CLA)**, which you can do online.
24*3a22c0a3SAlix
25*3a22c0a3SAlixThe CLA is necessary mainly because you own the copyright to your changes,
26*3a22c0a3SAlixeven after your contribution becomes part of our codebase, so we need your
27*3a22c0a3SAlixpermission to use and distribute your code. We also need to be sure of
28*3a22c0a3SAlixvarious other things — for instance that you'll tell us if you know that
29*3a22c0a3SAlixyour code infringes on other people's patents. You don't have to sign
30*3a22c0a3SAlixthe CLA until after you've submitted your code for review and a member has
31*3a22c0a3SAlixapproved it, but you must do it before we can put your code into our codebase.
32*3a22c0a3SAlix
33*3a22c0a3SAlix### The small print
34*3a22c0a3SAlixContributions made by corporations are covered by a different agreement than
35*3a22c0a3SAlixthe one above, the
36*3a22c0a3SAlix[Software Grant and Corporate Contributor License Agreement](https://cla.developers.google.com/about/google-corporate).
37*3a22c0a3SAlix
38*3a22c0a3SAlix### Contribution process
39*3a22c0a3SAlix
40*3a22c0a3SAlix1. Explain your idea and discuss your plan with members of the team. The best
41*3a22c0a3SAlix   way to do this is to create
42*3a22c0a3SAlix   an [issue](https://github.com/bazelbuild/rules_kotlin/issues) or comment on
43*3a22c0a3SAlix   an existing issue.
44*3a22c0a3SAlix1. Prepare a git commit with your change. Don't forget to
45*3a22c0a3SAlix   add [tests](https://github.com/bazelbuild/rules_kotlin/tree/main/tests).
46*3a22c0a3SAlix   Run the existing tests with `bazel test //...`. Update
47*3a22c0a3SAlix   [README.md](https://github.com/bazelbuild/rules_kotlin/blob/main/README.md)
48*3a22c0a3SAlix   if appropriate.
49*3a22c0a3SAlix1. [Create a pull request](https://help.github.com/articles/creating-a-pull-request/).
50*3a22c0a3SAlix   This will start the code review process. **All submissions, including
51*3a22c0a3SAlix   submissions by project members, require review.**
52*3a22c0a3SAlix1. You may be asked to make some changes. You'll also need to sign the CLA at
53*3a22c0a3SAlix   this point, if you haven't done so already. Our continuous integration bots
54*3a22c0a3SAlix   will test your change automatically on supported platforms. Once everything
55*3a22c0a3SAlix   looks good, your change will be merged.
56