|
| 1 | +# Contributing to rides-android-sdk |
| 2 | + |
| 3 | +Uber welcomes contributions of all kinds and sizes. This includes everything from from simple bug reports to large features. |
| 4 | + |
| 5 | +Before we can accept your contributions, we kindly ask you to sign our [Contributor License Agreement](https://cla-assistant.io/uber/rides-android-sdk). |
| 6 | + |
| 7 | +Workflow |
| 8 | +-------- |
| 9 | + |
| 10 | +We love GitHub issues! |
| 11 | + |
| 12 | +For small feature requests, an issue first proposing it for discussion or demo implementation in a PR suffice. |
| 13 | + |
| 14 | +For big features, please open an issue so that we can agree on the direction, and hopefully avoid investing a lot of time on a feature that might need reworking. |
| 15 | + |
| 16 | +Small pull requests for things like typos, bug fixes, etc are always welcome. |
| 17 | + |
| 18 | +### Code style |
| 19 | + |
| 20 | +This project uses kotlin formatting provided via the [spotless](https://github.com/diffplug/spotless) gradle plugin. |
| 21 | + |
| 22 | +If you find that one of your pull reviews does not pass the CI server check due to a code style |
| 23 | +conflict, you can easily fix it by running: `./gradlew spotlessApply`. |
| 24 | + |
| 25 | +Generally speaking - we use ktfmt, vanilla ktlint + 2space indents, and vanilla GJF. You can integrate both of |
| 26 | +these in IntelliJ code style via either [GJF's official plugin](https://plugins.jetbrains.com/plugin/8527-google-java-format) or applying code style from Jetbrains' official style. |
| 27 | + |
| 28 | +No star imports please! |
| 29 | + |
| 30 | +DOs and DON'Ts |
| 31 | +-------------- |
| 32 | + |
| 33 | +* DO follow our [coding style](https://github.com/uber/java-code-styles) |
| 34 | +* DO include tests when adding new features. When fixing bugs, start with adding a test that highlights how the current behavior is broken. |
| 35 | +* DO keep the discussions focused. When a new or related topic comes up it's often better to create new issue than to side track the discussion. |
| 36 | + |
| 37 | +* DON'T submit PRs that alter licensing related files or headers. If you believe there's a problem with them, file an issue and we'll be happy to discuss it. |
| 38 | + |
| 39 | +Guiding Principles |
| 40 | +------------------ |
| 41 | + |
| 42 | +* We allow anyone to participate in our projects. Tasks can be carried out by anyone that demonstrates the capability to complete them |
| 43 | +* Always be respectful of one another. Assume the best in others and act with empathy at all times |
| 44 | +* Collaborate closely with individuals maintaining the project or experienced users. Getting ideas out in the open and seeing a proposal before it's a pull request helps reduce redundancy and ensures we're all connected to the decision making process |
0 commit comments