argLine with an explicit memory limit for tests
1 file changed
tree: ec1b521d0e21986159fbbb78313bcd43d63f6a4e
  1. knit/
  2. kotlinx-coroutines-core/
  3. kotlinx-coroutines-javafx/
  4. kotlinx-coroutines-jdk8/
  5. kotlinx-coroutines-nio/
  6. kotlinx-coroutines-rx/
  7. kotlinx-coroutines-rx-example/
  8. kotlinx-coroutines-swing/
  9. license/
  10. .gitignore
  11. CHANGES.md
  12. coroutines-guide.md
  13. pom.xml
  14. README.md
README.md

kotlinx.coroutines

Library support for Kotlin coroutines. This is a companion version for Kotlin 1.1.0-beta-38 release.

Modules and features

  • kotlinx-coroutines-core module with core primitives to work with coroutines. Its functionality is covered by the guide to kotlinx.coroutines.

  • kotlinx-coroutines-jdk8 module with additional libraries for JDK8 (or Android API level 24).

    • future { ... } coroutine builder that returns CompletableFuture and works in CommonPool context by default.
    • .await() suspending function for CompletableFuture.
  • kotlinx-coroutines-nio module with extensions for asynchronous IO on JDK7+.

  • kotlinx-coroutines-swing module with Swing context for Swing UI applications.

  • kotlinx-coroutines-javafx module with JavaFx context for JavaFX UI applications.

  • kotlinx-coroutines-rx module with utilities to build Observable objects from RxJava with imperative coroutines and consume their values from inside coroutines. It is in very basic form now (example-only, not even close to production use)

References and documentation

Using in your projects

Note that these libraries are experimental and are subject to change.

The libraries are published to kotlin-eap-1.1 bintray repository.

These libraries require kotlin compiler version to be at least 1.1.0-beta-38 and require kotlin runtime of the same version as a dependency, which can be obtained from the same repository.

Maven

Add the bintray repository to <repositories> section (and also add pluginRepository to <pluginRepositories>, if you're willing to get kotlin-maven-plugin from there):

<repository>
    <snapshots>
        <enabled>false</enabled>
    </snapshots>
    <id>dl</id>
    <name>bintray</name>
    <url>http://dl.bintray.com/kotlin/kotlin-eap-1.1</url>
</repository>

Add dependencies (you can also add other modules that you need):

<dependency>
    <groupId>org.jetbrains.kotlinx</groupId>
    <artifactId>kotlinx-coroutines-core</artifactId>
    <version>0.7-beta</version>
</dependency>

And make sure that you use the right Kotlin version:

<properties>
    <kotlin.version>1.1.0-beta-38</kotlin.version>
</properties>

Gradle

Add the bintray repository (and also add it to buildScript section, if you're willing to get kotlin-gradle-plugin from there):

repositories {
    maven {
        url "http://dl.bintray.com/kotlin/kotlin-eap-1.1"
    }
}

Add dependencies (you can also add other modules that you need):

compile 'org.jetbrains.kotlinx:kotlinx-coroutines-core:0.7-beta'

And make sure that you use the right Kotlin version:

buildscript {
    ext.kotlin_version = '1.1.0-beta-38'
}