xref: /aosp_15_r20/external/accompanist/CONTRIBUTING.md (revision fa44fe6ae8e729aa3cfe5c03eedbbf98fb44e2c6)
1*fa44fe6aSInna Palant# How to Contribute
2*fa44fe6aSInna Palant
3*fa44fe6aSInna PalantWe'd love to accept your patches and contributions to this project. There are
4*fa44fe6aSInna Palantjust a few small guidelines you need to follow.
5*fa44fe6aSInna Palant
6*fa44fe6aSInna Palant## New Features/Libraries
7*fa44fe6aSInna Palant
8*fa44fe6aSInna PalantBefore contributing large new features and/or libraries please start a discussion
9*fa44fe6aSInna Palantwith us first via GitHub Issues and check that we can support it.
10*fa44fe6aSInna PalantWe are unable to support all new features, even though we wish we could! If we
11*fa44fe6aSInna Palantare unable to support adding your feature, we always encourage you to open source it
12*fa44fe6aSInna Palantin your own repository to help the Compose community grow.
13*fa44fe6aSInna Palant
14*fa44fe6aSInna Palant## Contributor License Agreement
15*fa44fe6aSInna Palant
16*fa44fe6aSInna PalantContributions to this project must be accompanied by a Contributor License
17*fa44fe6aSInna PalantAgreement. You (or your employer) retain the copyright to your contribution,
18*fa44fe6aSInna Palantthis simply gives us permission to use and redistribute your contributions as
19*fa44fe6aSInna Palantpart of the project. Head over to <https://cla.developers.google.com/> to see
20*fa44fe6aSInna Palantyour current agreements on file or to sign a new one.
21*fa44fe6aSInna Palant
22*fa44fe6aSInna PalantYou generally only need to submit a CLA once, so if you've already submitted one
23*fa44fe6aSInna Palant(even if it was for a different project), you probably don't need to do it
24*fa44fe6aSInna Palantagain.
25*fa44fe6aSInna Palant
26*fa44fe6aSInna Palant## Code Reviews
27*fa44fe6aSInna Palant
28*fa44fe6aSInna PalantAll submissions, including submissions by project members, require review. We
29*fa44fe6aSInna Palantuse GitHub pull requests for this purpose. Consult
30*fa44fe6aSInna Palant[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
31*fa44fe6aSInna Palantinformation on using pull requests.
32*fa44fe6aSInna Palant
33*fa44fe6aSInna Palant## API Changes
34*fa44fe6aSInna Palant
35*fa44fe6aSInna PalantIf you are changing any public APIs, you need to run `./gradlew metalavaGenerateSignatureRelease` which will
36*fa44fe6aSInna Palantupdate the API signatures.
37*fa44fe6aSInna Palant
38*fa44fe6aSInna Palant## Formatting
39*fa44fe6aSInna Palant
40*fa44fe6aSInna PalantTo apply formatting, we use spotless. Run `./gradlew :pager:spotlessApply` to format the code according
41*fa44fe6aSInna Palantto the spec.
42