This directory contains modules that provide integration with various asynchronous callback- and future-based libraries. Module name below corresponds to the artifact name in Maven/Gradle.
- kotlinx-coroutines-jdk8 -- integration with JDK8
CompletableFuture
(Android API level 24). - kotlinx-coroutines-nio -- integration with asynchronous IO on JDK7+ (Android O Preview).
- kotlinx-coroutines-guava -- integration with Guava ListenableFuture.
- kotlinx-coroutines-quasar -- integration with Quasar.
Follow the following simple guidelines when contributing integration with your favorite library:
- Keep it simple and general. Ideally it should fit into a single file. If it does not fit, then consider a separate GitHub project to host this integration.
- Follow the example of other modules. Cut-and-paste kotlinx-coroutines-guava module as a template.
- Write tests and documentation, include top-level
README.md
with short overview and example. - Reference the new module from all the places:
- List of modules in this document.
- List of modules in top-level
settings.gradle
. - List of modules at the root of documentation site in
site/docs/index.md
.
- Update links to documentation website as explained here.
- Squash your contribution to a single commit and create pull request to
develop
branch.