# Coroutines integration 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. ## Modules * [kotlinx-coroutines-jdk8](kotlinx-coroutines-jdk8/README.md) -- integration with JDK8 `CompletableFuture` (Android API level 24). * [kotlinx-coroutines-guava](kotlinx-coroutines-guava/README.md) -- integration with Guava [ListenableFuture](https://github.com/google/guava/wiki/ListenableFutureExplained). * [kotlinx-coroutines-slf4j](kotlinx-coroutines-slf4j/README.md) -- integration with SLF4J [MDC](https://logback.qos.ch/manual/mdc.html). * [kotlinx-coroutines-play-services](kotlinx-coroutines-play-services) -- integration with Google Play Services [Tasks API](https://developers.google.com/android/guides/tasks). ## Contributing 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](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`](../settings.gradle). * List of modules at the root of documentation site in [`site/docs/index.md`](../site/docs/index.md). * List of integrations in the root [README.md](../README.md). * Update links to documentation website as explained [here](../knit/README.md#usage). * Squash your contribution to a single commit and create pull request to `develop` branch.