Courier Android is an open-source project. It is licensed using the MIT License. We appreciate pull requests; here are our guidelines:
-
File an issue (if there isn't one already). If your patch is going to be large it might be a good idea to get the discussion started early. We are happy to discuss it in a new issue beforehand, and you can always email [email protected] about future work.
-
Please also make sure your code compiles by running
./gradlew assembleDebug
-
If you want to test locally you can publish artifacts locally using
./scripts/publishMavenLocal.sh
-
DO follow our coding style (as described below).
-
DO run spotlessApply task (
./gradlew spotlessApply
) before submitting a pull request -
DO include tests when adding new features. When fixing bugs, start with adding a test that highlights how the current behavior is broken.
-
We use the binary-compatibility-validator plugin for tracking the binary compatibility of the APIs we ship. If your change implies changes to any public API, run
./gradlew apiDump
to generate the updated API dumps and commit those changes. -
We ask that you squash all the commits together before pushing and that your commit message references the bug.
-
DON'T surprise us with big pull requests. Instead, file an issue and start a discussion so we can agree on a direction before you invest a large amount of time.
The coding style employed here Kotlin Coding Conventions.
We use Spotless with ktlint for Kotlin code formatting. To make sure the IDE agrees with rules we use, please run ./gradlew ktlintApplyToIdea
to generate IntelliJ IDEA / Android Studio Kotlin style files in the project .idea/ folder.
- Check that the issue has not already been reported.
- Be clear, concise and precise in your description of the problem.
- Open an issue with a descriptive title and a summary in grammatically correct, complete sentences.
- Include any relevant code to the issue summary.
- Please read this how to GitHub blog post.
- Use a topic branch to easily amend a pull request later, if necessary.
- Write good commit messages.
- Use the same coding conventions as the rest of the project.
- Open a pull request that relates to only one subject with a clear title and description in grammatically correct, complete sentences.
Much Thanks! ❤❤❤
GO-JEK Tech