xref: /aosp_15_r20/developers/build/prebuilts/androidtv/visual-game-controller/CONTRIBUTING.md (revision d353a188ca6ec4b5eba25b5fbd7bcb8ce61322fb)
1*d353a188SXin Li# How to become a contributor and submit your own code
2*d353a188SXin Li
3*d353a188SXin Li## Contributor License Agreements
4*d353a188SXin Li
5*d353a188SXin LiWe'd love to accept your sample apps and patches! Before we can take them, we
6*d353a188SXin Lihave to jump a couple of legal hurdles.
7*d353a188SXin Li
8*d353a188SXin LiPlease fill out either the individual or corporate Contributor License Agreement
9*d353a188SXin Li(CLA).
10*d353a188SXin Li
11*d353a188SXin Li  * If you are an individual writing original source code and you're sure you
12*d353a188SXin Li    own the intellectual property, then you'll need to sign an [individual CLA]
13*d353a188SXin Li    (http://code.google.com/legal/individual-cla-v1.0.html).
14*d353a188SXin Li  * If you work for a company that wants to allow you to contribute your work,
15*d353a188SXin Li    then you'll need to sign a [corporate CLA]
16*d353a188SXin Li    (http://code.google.com/legal/corporate-cla-v1.0.html).
17*d353a188SXin Li
18*d353a188SXin LiFollow either of the two links above to access the appropriate CLA and
19*d353a188SXin Liinstructions for how to sign and return it. Once we receive it, we'll be able to
20*d353a188SXin Liaccept your pull requests.
21*d353a188SXin Li
22*d353a188SXin Li## Contributing a Patch
23*d353a188SXin Li
24*d353a188SXin Li1. Sign a Contributor License Agreement, if you have not yet done so (see
25*d353a188SXin Li   details above).
26*d353a188SXin Li1. Create your change to the repo in question.
27*d353a188SXin Li    * Fork the desired repo, develop and test your code changes.
28*d353a188SXin Li    * Ensure that your code is clear and comprehensible.
29*d353a188SXin Li    * Ensure that your code has an appropriate set of unit tests which all pass.
30*d353a188SXin Li1. Submit a pull request.
31*d353a188SXin Li1. The repo owner will review your request. If it is approved, the change will
32*d353a188SXin Li   be merged. If it needs additional work, the repo owner will respond with
33*d353a188SXin Li   useful comments.
34*d353a188SXin Li
35*d353a188SXin Li## Contributing a New Sample App
36*d353a188SXin Li
37*d353a188SXin Li1. Sign a Contributor License Agreement, if you have not yet done so (see
38*d353a188SXin Li   details above).
39*d353a188SXin Li1. Create your own repo for your app following this naming convention:
40*d353a188SXin Li    * mirror-{app-name}-{language or plaform}
41*d353a188SXin Li    * apps: quickstart, photohunt-server, photohunt-client
42*d353a188SXin Li    * example:  mirror-quickstart-android
43*d353a188SXin Li    * For multi-language apps, concatenate the primary languages like this:
44*d353a188SXin Li      mirror-photohunt-server-java-python.
45*d353a188SXin Li
46*d353a188SXin Li1. Create your sample app in this repo.
47*d353a188SXin Li    * Be sure to clone the README.md, CONTRIBUTING.md and LICENSE files from the
48*d353a188SXin Li      googlecast repo.
49*d353a188SXin Li    * Ensure that your code is clear and comprehensible.
50*d353a188SXin Li    * Ensure that your code has an appropriate set of unit tests which all pass.
51*d353a188SXin Li    * Instructional value is the top priority when evaluating new app proposals for
52*d353a188SXin Li      this collection of repos.
53*d353a188SXin Li1. Submit a request to fork your repo in googlecast organization.
54*d353a188SXin Li1. The repo owner will review your request. If it is approved, the sample will
55*d353a188SXin Li   be merged. If it needs additional work, the repo owner will respond with
56*d353a188SXin Li   useful comments.
57