diff --git a/compiler/tests/org/jetbrains/kotlin/multiplatform/AbstractMultiPlatformIntegrationTest.kt b/compiler/tests/org/jetbrains/kotlin/multiplatform/AbstractMultiPlatformIntegrationTest.kt index 14e3123c51a..c3c58fa4c3f 100644 --- a/compiler/tests/org/jetbrains/kotlin/multiplatform/AbstractMultiPlatformIntegrationTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/multiplatform/AbstractMultiPlatformIntegrationTest.kt @@ -83,7 +83,7 @@ abstract class AbstractMultiPlatformIntegrationTest : KtUsefulTestCase() { val commonLibs = Files.newDirectoryStream(Paths.get(stdlibCommonLibsDir)).use(Iterable::toList) return commonLibs.sorted().findLast { val name = it.toFile().name - !name.endsWith("-javadoc.jar") && !name.endsWith("-sources.jar") + !name.endsWith("-javadoc.jar") && !name.endsWith("-sources.jar") && !name.contains("coroutines") }?.toFile() ?: error("kotlin-stdlib-common is not found in $stdlibCommonLibsDir") } diff --git a/libraries/stdlib/common/build.gradle b/libraries/stdlib/common/build.gradle index a6540b9643d..98cec5a4ce7 100644 --- a/libraries/stdlib/common/build.gradle +++ b/libraries/stdlib/common/build.gradle @@ -31,6 +31,12 @@ sourceSets { srcDir '../unsigned/src' } } + coroutines { + kotlin { + srcDir '../coroutines/common/src' + srcDir '../coroutines/src' + } + } } dependencies { @@ -38,6 +44,7 @@ dependencies { testCompile project(":kotlin-test:kotlin-test-annotations-common") unsignedCompile sourceSets.main.output + coroutinesCompile sourceSets.main.output } compileKotlinCommon { @@ -63,6 +70,15 @@ compileUnsignedKotlinCommon { } } +compileCoroutinesKotlinCommon { + kotlinOptions { + languageVersion = "1.3" + apiVersion = "1.3" + freeCompilerArgs = [ + "-module-name", project.name + ] + } +} kotlin.experimental.coroutines 'enable' @@ -70,6 +86,13 @@ jar { manifestAttributes(manifest, project, 'Main') } +task coroutinesCommonJar(type: Jar) { + classifier = 'coroutines' + version = null + manifestAttributes(manifest, project, 'Main') + project.configure(manifest) { attributes 'Kotlin-Version': '1.3' } + from sourceSets.coroutines.output +} task sourcesJar(type: Jar, dependsOn: classes) { classifier = 'sources' @@ -95,4 +118,11 @@ task distCommon(type: Copy) { dist.dependsOn distCommon +task experimentalCommonJarsDist(type: Copy) { + from coroutinesCommonJar + into distDir +} + +dist.dependsOn experimentalCommonJarsDist + classes.setDependsOn(classes.dependsOn.findAll { it != "compileJava" }) diff --git a/libraries/stdlib/jvm/build.gradle b/libraries/stdlib/jvm/build.gradle index 35f61da1979..768d5cb731f 100644 --- a/libraries/stdlib/jvm/build.gradle +++ b/libraries/stdlib/jvm/build.gradle @@ -40,8 +40,6 @@ sourceSets { coroutines { kotlin { srcDir '../coroutines/jvm/src' - srcDir '../coroutines/common/src' - srcDir '../coroutines/src' } compileClasspath += sourceSets.main.output }