Finishing touch: drop experimental coroutines sourcesets from stdlib
#KT-36083
This commit is contained in:
@@ -26,18 +26,11 @@ sourceSets {
|
|||||||
srcDir 'test'
|
srcDir 'test'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
coroutinesExperimental {
|
|
||||||
kotlin {
|
|
||||||
// srcDir '../coroutines-experimental/src'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
testCompile project(":kotlin-test:kotlin-test-common")
|
testCompile project(":kotlin-test:kotlin-test-common")
|
||||||
testCompile project(":kotlin-test:kotlin-test-annotations-common")
|
testCompile project(":kotlin-test:kotlin-test-annotations-common")
|
||||||
|
|
||||||
coroutinesExperimentalCompile sourceSets.main.output
|
|
||||||
}
|
}
|
||||||
|
|
||||||
compileKotlinCommon {
|
compileKotlinCommon {
|
||||||
@@ -60,22 +53,6 @@ compileKotlinCommon {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
compileCoroutinesExperimentalKotlinCommon {
|
|
||||||
kotlinOptions {
|
|
||||||
languageVersion = "1.3"
|
|
||||||
apiVersion = "1.3"
|
|
||||||
freeCompilerArgs = [
|
|
||||||
"-module-name", project.name+"-coroutines",
|
|
||||||
"-Xuse-experimental=kotlin.contracts.ExperimentalContracts",
|
|
||||||
"-Xuse-experimental=kotlin.Experimental",
|
|
||||||
"-Xcoroutines=enable",
|
|
||||||
"-XXLanguage:-ReleaseCoroutines",
|
|
||||||
"-Xallow-kotlin-package",
|
|
||||||
"-Xallow-result-return-type"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
compileTestKotlinCommon {
|
compileTestKotlinCommon {
|
||||||
kotlinOptions {
|
kotlinOptions {
|
||||||
freeCompilerArgs += [
|
freeCompilerArgs += [
|
||||||
@@ -88,13 +65,11 @@ compileTestKotlinCommon {
|
|||||||
|
|
||||||
jar {
|
jar {
|
||||||
manifestAttributes(manifest, project, 'Main')
|
manifestAttributes(manifest, project, 'Main')
|
||||||
from sourceSets.coroutinesExperimental.output
|
|
||||||
}
|
}
|
||||||
|
|
||||||
task sourcesJar(type: Jar, dependsOn: classes) {
|
task sourcesJar(type: Jar, dependsOn: classes) {
|
||||||
classifier = 'sources'
|
classifier = 'sources'
|
||||||
from sourceSets.main.kotlin
|
from sourceSets.main.kotlin
|
||||||
from sourceSets.coroutinesExperimental.kotlin
|
|
||||||
}
|
}
|
||||||
|
|
||||||
configurations {
|
configurations {
|
||||||
|
|||||||
@@ -1,108 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
|
||||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package kotlin.coroutines.experimental
|
|
||||||
|
|
||||||
import kotlin.coroutines.experimental.intrinsics.*
|
|
||||||
|
|
||||||
@JsName("CoroutineImpl")
|
|
||||||
internal abstract class CoroutineImpl(private val resultContinuation: Continuation<Any?>) : Continuation<Any?> {
|
|
||||||
protected var state = 0
|
|
||||||
protected var exceptionState = 0
|
|
||||||
protected var result: Any? = null
|
|
||||||
protected var exception: Throwable? = null
|
|
||||||
protected var finallyPath: Array<Int>? = null
|
|
||||||
|
|
||||||
public override val context: CoroutineContext = resultContinuation.context
|
|
||||||
|
|
||||||
val facade: Continuation<Any?> = context[ContinuationInterceptor]?.interceptContinuation(this) ?: this
|
|
||||||
|
|
||||||
override fun resume(value: Any?) {
|
|
||||||
result = value
|
|
||||||
doResumeWrapper()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun resumeWithException(exception: Throwable) {
|
|
||||||
state = exceptionState
|
|
||||||
this.exception = exception
|
|
||||||
doResumeWrapper()
|
|
||||||
}
|
|
||||||
|
|
||||||
protected fun doResumeWrapper() {
|
|
||||||
processBareContinuationResume(resultContinuation) { doResume() }
|
|
||||||
}
|
|
||||||
|
|
||||||
protected abstract fun doResume(): Any?
|
|
||||||
}
|
|
||||||
|
|
||||||
private val UNDECIDED: Any? = Any()
|
|
||||||
private val RESUMED: Any? = Any()
|
|
||||||
|
|
||||||
private class Fail(val exception: Throwable)
|
|
||||||
|
|
||||||
@PublishedApi
|
|
||||||
internal actual class SafeContinuation<in T>
|
|
||||||
internal actual constructor(
|
|
||||||
private val delegate: Continuation<T>,
|
|
||||||
initialResult: Any?
|
|
||||||
) : Continuation<T> {
|
|
||||||
|
|
||||||
@PublishedApi
|
|
||||||
internal actual constructor(delegate: Continuation<T>) : this(delegate, UNDECIDED)
|
|
||||||
|
|
||||||
public actual override val context: CoroutineContext
|
|
||||||
get() = delegate.context
|
|
||||||
|
|
||||||
private var result: Any? = initialResult
|
|
||||||
|
|
||||||
actual override fun resume(value: T) {
|
|
||||||
when {
|
|
||||||
result === UNDECIDED -> {
|
|
||||||
result = value
|
|
||||||
}
|
|
||||||
result === COROUTINE_SUSPENDED -> {
|
|
||||||
result = RESUMED
|
|
||||||
delegate.resume(value)
|
|
||||||
}
|
|
||||||
else -> {
|
|
||||||
throw IllegalStateException("Already resumed")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
actual override fun resumeWithException(exception: Throwable) {
|
|
||||||
when {
|
|
||||||
result === UNDECIDED -> {
|
|
||||||
result = Fail(exception)
|
|
||||||
}
|
|
||||||
result === COROUTINE_SUSPENDED -> {
|
|
||||||
result = RESUMED
|
|
||||||
delegate.resumeWithException(exception)
|
|
||||||
}
|
|
||||||
else -> {
|
|
||||||
throw IllegalStateException("Already resumed")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@PublishedApi
|
|
||||||
internal actual fun getResult(): Any? {
|
|
||||||
if (result === UNDECIDED) {
|
|
||||||
result = COROUTINE_SUSPENDED
|
|
||||||
}
|
|
||||||
val result = this.result
|
|
||||||
return when {
|
|
||||||
result === RESUMED -> {
|
|
||||||
COROUTINE_SUSPENDED // already called continuation, indicate SUSPENDED upstream
|
|
||||||
}
|
|
||||||
result is Fail -> {
|
|
||||||
throw result.exception
|
|
||||||
}
|
|
||||||
else -> {
|
|
||||||
result // either SUSPENDED or data
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
|
||||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER")
|
|
||||||
|
|
||||||
package kotlin.coroutines.experimental.intrinsics
|
|
||||||
|
|
||||||
import kotlin.coroutines.experimental.Continuation
|
|
||||||
|
|
||||||
@SinceKotlin("1.1")
|
|
||||||
@Suppress("UNCHECKED_CAST")
|
|
||||||
@kotlin.internal.InlineOnly
|
|
||||||
public actual inline fun <T> (suspend () -> T).startCoroutineUninterceptedOrReturn(
|
|
||||||
completion: Continuation<T>
|
|
||||||
): Any? = this.asDynamic()(completion, false)
|
|
||||||
|
|
||||||
@SinceKotlin("1.1")
|
|
||||||
@Suppress("UNCHECKED_CAST")
|
|
||||||
@kotlin.internal.InlineOnly
|
|
||||||
public actual inline fun <R, T> (suspend R.() -> T).startCoroutineUninterceptedOrReturn(
|
|
||||||
receiver: R,
|
|
||||||
completion: Continuation<T>
|
|
||||||
): Any? = this.asDynamic()(receiver, completion, false)
|
|
||||||
|
|
||||||
@SinceKotlin("1.1")
|
|
||||||
public actual fun <R, T> (suspend R.() -> T).createCoroutineUnchecked(
|
|
||||||
receiver: R,
|
|
||||||
completion: Continuation<T>
|
|
||||||
): Continuation<Unit> = this.asDynamic()(receiver, completion, true).facade
|
|
||||||
|
|
||||||
@SinceKotlin("1.1")
|
|
||||||
public actual fun <T> (suspend () -> T).createCoroutineUnchecked(
|
|
||||||
completion: Continuation<T>
|
|
||||||
): Continuation<Unit> = this.asDynamic()(completion, true).facade
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This value is used as a return value of [suspendCoroutineOrReturn] `block` argument to state that
|
|
||||||
* the execution was suspended and will not return any result immediately.
|
|
||||||
*/
|
|
||||||
@SinceKotlin("1.1")
|
|
||||||
public actual val COROUTINE_SUSPENDED: Any = CoroutineSuspendedMarker
|
|
||||||
|
|
||||||
private object CoroutineSuspendedMarker
|
|
||||||
@@ -24,10 +24,8 @@ def commonSrcDir = "${projectDir}/../src/kotlin"
|
|||||||
def commonSrcDir2 = "${projectDir}/../common/src"
|
def commonSrcDir2 = "${projectDir}/../common/src"
|
||||||
def jsCommonDir = "${projectDir}/../js"
|
def jsCommonDir = "${projectDir}/../js"
|
||||||
|
|
||||||
def coroutinesExpJsSrcDir = "${rootDir}/libraries/stdlib/coroutines-experimental/js/src"
|
|
||||||
def builtinsDir = "${rootDir}/core/builtins"
|
def builtinsDir = "${rootDir}/core/builtins"
|
||||||
def unsignedCommonSrcDir = "${rootDir}/libraries/stdlib/unsigned/src"
|
def unsignedCommonSrcDir = "${rootDir}/libraries/stdlib/unsigned/src"
|
||||||
def coroutinesJsModuleName = 'kotlin-stdlib-coroutines'
|
|
||||||
|
|
||||||
def jsSrcDir = "src"
|
def jsSrcDir = "src"
|
||||||
def jsCommonSrcDir = "${jsCommonDir}/src"
|
def jsCommonSrcDir = "${jsCommonDir}/src"
|
||||||
@@ -67,19 +65,12 @@ sourceSets {
|
|||||||
srcDir jsCommonTestSrcDir
|
srcDir jsCommonTestSrcDir
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
coroutinesExperimental {
|
|
||||||
kotlin {
|
|
||||||
// srcDir coroutinesExpJsSrcDir
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
expectedBy project(":kotlin-stdlib-common")
|
expectedBy project(":kotlin-stdlib-common")
|
||||||
commonSources project(path: ":kotlin-stdlib-common", configuration: "sources")
|
commonSources project(path: ":kotlin-stdlib-common", configuration: "sources")
|
||||||
testCompile project(':kotlin-test:kotlin-test-js')
|
testCompile project(':kotlin-test:kotlin-test-js')
|
||||||
coroutinesExperimentalCompile project.files { sourceSets.main.output.files }.builtBy(compileKotlin2Js)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
task prepareComparableSource(type: Copy) {
|
task prepareComparableSource(type: Copy) {
|
||||||
@@ -158,22 +149,6 @@ compileKotlin2Js {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
compileCoroutinesExperimentalKotlin2Js {
|
|
||||||
kotlinOptions {
|
|
||||||
languageVersion = "1.3"
|
|
||||||
apiVersion = "1.3"
|
|
||||||
outputFile = "${buildDir}/classes/coroutinesExperimental/kotlin.js"
|
|
||||||
sourceMap = true
|
|
||||||
sourceMapPrefix = "./"
|
|
||||||
freeCompilerArgs += [
|
|
||||||
"-Xuse-experimental=kotlin.contracts.ExperimentalContracts",
|
|
||||||
"-Xuse-experimental=kotlin.Experimental",
|
|
||||||
"-Xcoroutines=enable",
|
|
||||||
"-XXLanguage:-ReleaseCoroutines"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
compileTestKotlin2Js {
|
compileTestKotlin2Js {
|
||||||
kotlinOptions {
|
kotlinOptions {
|
||||||
moduleKind = "umd"
|
moduleKind = "umd"
|
||||||
@@ -186,10 +161,9 @@ compileTestKotlin2Js {
|
|||||||
}
|
}
|
||||||
|
|
||||||
task compileJs(type: NoDebugJavaExec) {
|
task compileJs(type: NoDebugJavaExec) {
|
||||||
dependsOn compileBuiltinsKotlin2Js, compileKotlin2Js, compileCoroutinesExperimentalKotlin2Js
|
dependsOn compileBuiltinsKotlin2Js, compileKotlin2Js
|
||||||
inputs.files(compileBuiltinsKotlin2Js.outputs.files).withPathSensitivity(PathSensitivity.RELATIVE)
|
inputs.files(compileBuiltinsKotlin2Js.outputs.files).withPathSensitivity(PathSensitivity.RELATIVE)
|
||||||
inputs.files(compileKotlin2Js.outputs.files).withPathSensitivity(PathSensitivity.RELATIVE)
|
inputs.files(compileKotlin2Js.outputs.files).withPathSensitivity(PathSensitivity.RELATIVE)
|
||||||
inputs.files(compileCoroutinesExperimentalKotlin2Js.outputs.files).withPathSensitivity(PathSensitivity.RELATIVE)
|
|
||||||
inputs.dir(jsSrcDir).withPathSensitivity(PathSensitivity.RELATIVE)
|
inputs.dir(jsSrcDir).withPathSensitivity(PathSensitivity.RELATIVE)
|
||||||
inputs.dir(jsCommonSrcDir).withPathSensitivity(PathSensitivity.RELATIVE)
|
inputs.dir(jsCommonSrcDir).withPathSensitivity(PathSensitivity.RELATIVE)
|
||||||
|
|
||||||
@@ -206,8 +180,7 @@ task compileJs(type: NoDebugJavaExec) {
|
|||||||
doFirst {
|
doFirst {
|
||||||
args = [jsOutputFile, rootDir, "$jsSrcDir/wrapper.js"] + inputFiles.collect { it.path }.sort() +
|
args = [jsOutputFile, rootDir, "$jsSrcDir/wrapper.js"] + inputFiles.collect { it.path }.sort() +
|
||||||
(compileBuiltinsKotlin2Js.outputs.files.collect { it.path }.sort() +
|
(compileBuiltinsKotlin2Js.outputs.files.collect { it.path }.sort() +
|
||||||
compileKotlin2Js.outputs.files.collect { it.path }.sort() /*+
|
compileKotlin2Js.outputs.files.collect { it.path }.sort()).findAll {
|
||||||
compileCoroutinesExperimentalKotlin2Js.outputs.files.collect { it.path }.sort()*/).findAll {
|
|
||||||
it.endsWith(".js") && !it.endsWith(".meta.js")
|
it.endsWith(".js") && !it.endsWith(".meta.js")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -253,8 +226,7 @@ task compileJs(type: NoDebugJavaExec) {
|
|||||||
|
|
||||||
sourceMapFile.text = groovy.json.JsonOutput.toJson(sourceMap)
|
sourceMapFile.text = groovy.json.JsonOutput.toJson(sourceMap)
|
||||||
|
|
||||||
file(jsOutputMetaFile).text = file(compileKotlin2Js.outputFile.path.replaceAll('\\.js$', '.meta.js')).text /*+
|
file(jsOutputMetaFile).text = file(compileKotlin2Js.outputFile.path.replaceAll('\\.js$', '.meta.js')).text
|
||||||
file(compileCoroutinesExperimentalKotlin2Js.outputFile.path.replaceAll('\\.js$', '.meta.js')).text*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -283,9 +255,6 @@ task libraryJarWithoutIr(type: Jar, dependsOn: compileJs) {
|
|||||||
from jsOutputMetaFile
|
from jsOutputMetaFile
|
||||||
from "${jsOutputFile}.map"
|
from "${jsOutputFile}.map"
|
||||||
from sourceSets.main.output
|
from sourceSets.main.output
|
||||||
from("${buildDir}/classes/coroutinesExperimental/kotlin") {
|
|
||||||
into coroutinesJsModuleName
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
task libraryJarWithIr(type: Zip, dependsOn: libraryJarWithoutIr) {
|
task libraryJarWithIr(type: Zip, dependsOn: libraryJarWithoutIr) {
|
||||||
@@ -321,9 +290,6 @@ task sourcesJar(type: Jar, dependsOn: compileJs) {
|
|||||||
from(sourceSets.main.allSource) {
|
from(sourceSets.main.allSource) {
|
||||||
include 'org.w3c/**'
|
include 'org.w3c/**'
|
||||||
}
|
}
|
||||||
from(sourceSets.coroutinesExperimental.allSource) {
|
|
||||||
into 'kotlin'
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
task distSourcesJar(type: Jar) {
|
task distSourcesJar(type: Jar) {
|
||||||
@@ -338,10 +304,6 @@ task distSourcesJar(type: Jar) {
|
|||||||
exclude 'META-INF/*'
|
exclude 'META-INF/*'
|
||||||
into 'common'
|
into 'common'
|
||||||
}
|
}
|
||||||
|
|
||||||
from(project(":kotlin-stdlib-common").sourceSets.coroutinesExperimental.allSource) {
|
|
||||||
into 'kotlin'
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
def javadocJar = javadocJar()
|
def javadocJar = javadocJar()
|
||||||
|
|||||||
@@ -24,23 +24,6 @@ sourceSets {
|
|||||||
srcDir 'src'
|
srcDir 'src'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
coroutinesExperimental {
|
|
||||||
kotlin {
|
|
||||||
// srcDir '../coroutines-experimental/jvm/src'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
coroutinesExperimentalTest {
|
|
||||||
kotlin {
|
|
||||||
// srcDir '../coroutines-experimental/jvm/test'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
coroutinesExperimentalMigrationTest {
|
|
||||||
kotlin {
|
|
||||||
if(!BuildPropertiesKt.getKotlinBuildProperties(project).inIdeaSync) {
|
|
||||||
// srcDir '../coroutines-experimental/jvm/test'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
test {
|
test {
|
||||||
kotlin {
|
kotlin {
|
||||||
srcDir 'test'
|
srcDir 'test'
|
||||||
@@ -60,12 +43,9 @@ sourceSets {
|
|||||||
|
|
||||||
configurations {
|
configurations {
|
||||||
commonSources
|
commonSources
|
||||||
coroutinesExperimentalTestCompile.extendsFrom(testCompile)
|
|
||||||
coroutinesExperimentalMigrationTestCompile.extendsFrom(coroutinesExperimentalTestCompile)
|
|
||||||
longRunningTestCompile.extendsFrom(testCompile)
|
longRunningTestCompile.extendsFrom(testCompile)
|
||||||
builtins
|
builtins
|
||||||
compileOnly.extendsFrom(builtins)
|
compileOnly.extendsFrom(builtins)
|
||||||
coroutinesExperimentalCompile.extendsFrom(builtins)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
@@ -76,12 +56,8 @@ dependencies {
|
|||||||
compile group: 'org.jetbrains', name: 'annotations', version:'13.0'
|
compile group: 'org.jetbrains', name: 'annotations', version:'13.0'
|
||||||
|
|
||||||
testCompile project(':kotlin-test:kotlin-test-junit')
|
testCompile project(':kotlin-test:kotlin-test-junit')
|
||||||
testCompile sourceSets.coroutinesExperimental.output
|
|
||||||
testCompile project(':kotlin-coroutines-experimental-compat')
|
testCompile project(':kotlin-coroutines-experimental-compat')
|
||||||
|
|
||||||
coroutinesExperimentalCompile sourceSets.main.output
|
|
||||||
coroutinesExperimentalTestCompile sourceSets.test.output
|
|
||||||
|
|
||||||
builtins project(':core:builtins')
|
builtins project(':core:builtins')
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,14 +67,12 @@ jar {
|
|||||||
from {
|
from {
|
||||||
zipTree(configurations.builtins.singleFile)
|
zipTree(configurations.builtins.singleFile)
|
||||||
}
|
}
|
||||||
from sourceSets.coroutinesExperimental.output
|
|
||||||
// TODO: enable as soon as this doesn't cause D8/DX to crash
|
// TODO: enable as soon as this doesn't cause D8/DX to crash
|
||||||
// from sourceSets.java9.output
|
// from sourceSets.java9.output
|
||||||
}
|
}
|
||||||
|
|
||||||
sourcesJar {
|
sourcesJar {
|
||||||
from "${rootDir}/core/builtins/native"
|
from "${rootDir}/core/builtins/native"
|
||||||
from sourceSets.coroutinesExperimental.kotlin
|
|
||||||
}
|
}
|
||||||
|
|
||||||
task distSourcesJar(type: Jar) {
|
task distSourcesJar(type: Jar) {
|
||||||
@@ -161,58 +135,7 @@ compileKotlin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
compileJava9Sources(project, 'kotlin.stdlib', [sourceSets.main.output, sourceSets.coroutinesExperimental.output])
|
compileJava9Sources(project, 'kotlin.stdlib', [sourceSets.main.output])
|
||||||
|
|
||||||
compileCoroutinesExperimentalKotlin {
|
|
||||||
kotlinOptions {
|
|
||||||
languageVersion = "1.3"
|
|
||||||
apiVersion = "1.3"
|
|
||||||
freeCompilerArgs = [
|
|
||||||
"-version",
|
|
||||||
"-Xallow-kotlin-package",
|
|
||||||
"-Xallow-result-return-type",
|
|
||||||
"-Xmultifile-parts-inherit",
|
|
||||||
"-Xuse-experimental=kotlin.contracts.ExperimentalContracts",
|
|
||||||
"-Xuse-experimental=kotlin.Experimental",
|
|
||||||
"-Xcoroutines=enable",
|
|
||||||
"-XXLanguage:-ReleaseCoroutines",
|
|
||||||
"-Xno-use-ir",
|
|
||||||
"-module-name", "kotlin-stdlib-coroutines"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
compileCoroutinesExperimentalTestKotlin {
|
|
||||||
kotlinOptions {
|
|
||||||
languageVersion = "1.2"
|
|
||||||
apiVersion = "1.2"
|
|
||||||
freeCompilerArgs = [
|
|
||||||
"-Xcoroutines=enable"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
compileCoroutinesExperimentalMigrationTestKotlin {
|
|
||||||
kotlinOptions {
|
|
||||||
languageVersion = "1.3"
|
|
||||||
apiVersion = "1.3"
|
|
||||||
freeCompilerArgs = []
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
task coroutinesExperimentalTest(type: Test, dependsOn: coroutinesExperimentalTestClasses) {
|
|
||||||
group = "verification"
|
|
||||||
testClassesDirs = sourceSets.coroutinesExperimentalTest.output.classesDirs
|
|
||||||
classpath = sourceSets.coroutinesExperimentalTest.runtimeClasspath
|
|
||||||
}
|
|
||||||
task coroutinesExperimentalMigrationTest(type: Test, dependsOn: coroutinesExperimentalMigrationTestClasses) {
|
|
||||||
group = "verification"
|
|
||||||
testClassesDirs = sourceSets.coroutinesExperimentalMigrationTest.output.classesDirs
|
|
||||||
classpath = sourceSets.coroutinesExperimentalMigrationTest.runtimeClasspath
|
|
||||||
}
|
|
||||||
|
|
||||||
check.dependsOn(coroutinesExperimentalTest)
|
|
||||||
check.dependsOn(coroutinesExperimentalMigrationTest)
|
|
||||||
|
|
||||||
compileTestKotlin {
|
compileTestKotlin {
|
||||||
kotlinOptions {
|
kotlinOptions {
|
||||||
|
|||||||
Reference in New Issue
Block a user