Skip to content

ksenchy/kotlinova

 
 

Repository files navigation

KOTLINOVA

Set of common utility classes for Kotlin projects, primarily based on Kotlin coroutines.

Installation

  1. Add Jitpack to your build.gradle's maven repositories

    maven { url 'https://jitpack.io' }
    
  2. Add modules to your build.gradle's dependencies.

Modules

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.

Core Java Module

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.

Rx Java Module

implementation "com.github.inovait.kotlinova:rx:X.Y.Z"

RxJava Utilities.

Retrofit Java Module

implementation "com.github.inovait.kotlinova:retrofit:X.Y.Z"

Utilities for consuimg REST APIs via Retrofit and Moshi

Android Android Module

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.)

Gms Android Module

implementation "com.github.inovait.kotlinova:gms:X.Y.Z"

Utilities for integrating Google Play Services with Kotlin's coroutines

Firebase Android Module

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.

Versioning

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.

Contributing

To contribute to this set of libraries:

  1. Checkout master
  2. Create new branch for your contribution
  3. Commit your work. While commiting use semantic commit messages. Scope tag should be the name of the module you are updating.
  4. 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.
  5. Create merge request
  6. When your MR is merged, new release will be generated automatically

Code Style

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 98.4%
  • Groovy 1.2%
  • Other 0.4%