blob: 7f5b9d894070cdd4542362bc14501385a2ab5f73 [file] [log] [blame] [view]
Roman Elizarov0c2e25d2017-05-17 14:59:49 +03001# Coroutines integration
Roman Elizarovf76606a2017-05-16 16:49:25 +03002
3This directory contains modules that provide integration with various asynchronous callback- and future-based libraries:
4
5## Modules
6
Roman Elizarov976990e2017-05-17 14:58:10 +03007* [kotlinx-coroutines-jdk8](kotlinx-coroutines-jdk8/README.md) -- integration with JDK8 `CompletableFuture` (Android API level 24).
8* [kotlinx-coroutines-nio](kotlinx-coroutines-nio/README.md) -- integration with asynchronous IO on JDK7+ (Android O Preview).
Roman Elizarovf106ff32017-05-17 12:22:14 +03009* [kotlinx-coroutines-guava](kotlinx-coroutines-guava/README.md) -- integration with Guava [ListenableFuture](https://github.com/google/guava/wiki/ListenableFutureExplained).
Roman Elizarov44e3ba52017-08-01 22:01:31 -070010* [kotlinx-coroutines-quasar](kotlinx-coroutines-quasar/README.md) -- integration with [Quasar](http://docs.paralleluniverse.co/quasar/).
Roman Elizarovfc6461f2017-05-16 18:48:17 +030011
12## Contributing
13
14Follow the following simple guidelines when contributing integration with your favorite library:
15
16* Keep it simple and general. Ideally it should fit into a single file. If it does not fit, then consider
17 a separate GitHub project to host this integration.
Roman Elizarovf106ff32017-05-17 12:22:14 +030018* Follow the example of other modules.
19 Cut-and-paste [kotlinx-coroutines-guava](kotlinx-coroutines-guava) module as a template.
Roman Elizarovf23274a2017-05-17 13:27:30 +030020* Write tests and documentation, include top-level `README.md` with short overview and example.
21* Reference the new module from all the places:
22 * List of modules in this document.
Kirill Timofeeva5186962017-10-25 14:25:47 +030023 * List of modules in top-level [`settings.gradle`](../settings.gradle).
Roman Elizarov3535cee2017-05-17 15:03:40 +030024 * List of modules at the root of documentation site in [`site/docs/index.md`](../site/docs/index.md).
25* Update links to documentation website as explained [here](../knit/README.md#usage).
26* Squash your contribution to a single commit and create pull request to `develop` branch.