CircleCI branch Maven Central DUB

Kovenant

Promises for Kotlin

The easy asynchronous library for Kotlin. With extensions for Android, RxJava, JavaFX and much more.

task {
    //some (long running) operation, or just:
    1 + 1
} then { 
    i -> "result: $i"   
} success { 
    msg -> println(msg)
}

Developed with the following goals in mind.

Getting started

Build against Kotlin: 1.0.3. Source and target compatibility is 1.6

Gradle

dependencies {
    compile 'nl.komponents.kovenant:kovenant:3.3.0'
}

Maven

<dependency>
    <groupId>nl.komponents.kovenant</groupId>
    <artifactId>kovenant</artifactId>
    <version>3.3.0</version>
</dependency>

Android Demo app

Checkout the Android Demo App on Github.

Artifacts

Kovenant has been structured in sub projects so you can cherry pick what you need.

artifact description
kovenant Container artifact that consists of kovenant-core, kovenant-combine, kovenant-jvm and kovenant-functional
kovenant-core The core of kovenant. Provides the API and default implementations
kovenant-combine Adds combine functionality that keep everything strongly typed
kovenant-jvm Support for converting between Executors and Dispatchers
kovenant-ui Support for UI frameworks that need UI work to operate on a specific process
kovenant-rx Add promise support to Rx
kovenant-android Extensions for Android specific needs
kovenant-jfx Extensions for JavaFX specific needs
kovenant-disruptor LMAX Disruptor work queues
kovenant-progress Progress configuration helper
kovenant-functional Functional Programming idiomatic additions

Issues

Issues are tracked in Youtrack

Release notes

See Changelog for release notes

Slack

Join the #kovenant channel on Kotlin Slack.

More Kotlin libraries

Check out Awesome Kotlin