Set of common utility classes for Kotlin projects, primarily based on Kotlin coroutines.
-
Add Jitpack to your
build.gradle
's maven repositoriesmaven { url 'https://jitpack.io' }
-
Add modules to your
build.gradle
's dependencies.
Replace X.Y.Z
with latest version. Check out changelog to see what is the latest version. For simplicity's sake, every module has the same version number.
Some Kotlinova modules are either native JVM (can be used in all JVM applications), while others are Android-only.
implementation "com.github.inovait.kotlinova:core:X.Y.Z"
Core module is the main dependency all other modules depend on. It mostly contains unit-testing helpers for Kotlin's coroutines and some utility classes.
implementation "com.github.inovait.kotlinova:rx:X.Y.Z"
RxJava Utilities.
implementation "com.github.inovait.kotlinova:retrofit:X.Y.Z"
Utilities for consuimg REST APIs via Retrofit and Moshi
implementation "com.github.inovait.kotlinova:android:X.Y.Z"
Utilities for integrating Android architecture components (ViewModel, LiveData) with Kotlin's coroutines and common UI components (such as Loading spinners, recycler adapters etc.)
implementation "com.github.inovait.kotlinova:gms:X.Y.Z"
Utilities for integrating Google Play Services with Kotlin's coroutines
implementation "com.github.inovait.kotlinova:gms:X.Y.Z"
Utilities for integrating Firebase with Kotlin's coroutines, Firestore mocks for testing and helpers for routing Firestore data into standard Observables.
This library uses Semantic Versioning. Version number is updated automatically whenever new release is built.
When updating, it is recommended that you check out changelog first to see the changes, especially if there was major version change.
To contribute to this set of libraries:
- Checkout
master
- Create new branch for your contribution
- Commit your work. While commiting use semantic commit messages. Scope tag should be the name of the module you are updating.
- Try to avoid breaking changes, but if it cannot be avoided, you must put
BREAKING CHANGE
in the footer of the commit mesasage and explain the change. - Create merge request
- When your MR is merged, new release will be generated automatically
Please import included Style.xml
into your Android Studio / IntelliJ before contributing to conform to the project's code style. Pull Requests will be checked for style before merging. You can perform the check yourself by running ktlint
gradle task.