我怎样才能用Kotlin DSL为Gradle配置Kotlin协程?

在Kotlin-DSL中使用Gradle 4.4.1,我想在我的Kotlin 1.2.20项目中配置实验Kotlin协同程序。 这certificate是非常困难的。

官方的Kotlin文档本身只提到Gradle和Groovy DSL,而不是Kotlin。

Kotlin-DSL项目有一个协程不起作用的例子 。 可能是为了一个较老的Gradle版本(该脚本中的Kotlin版本是1.1.51,本身是可疑的)。

PS:即使IntelliJ的配置Kotlin写不正确的Gradle代码。 降级唯一的选择?


附录:构建脚本在IntelliJ IDEA中非常红 。 IDE始终添加导入语句。 看来,这些徒劳的尝试是使剧本不起作用的。 我禁用了“临时添加unambiguos导入”,即使脚本保持大部分为红色,Gradle也可以执行它。 之后,IntelliJ的错误消息也没有了。

假设您已经将kotlin插件应用于该项目:

 import org.jetbrains.kotlin.gradle.dsl.Coroutines plugins { kotlin("jvm") } kotlin { // type is KotlinJvmProjectExtension experimental.coroutines = Coroutines.ENABLE } 

这对于我来说适用于Gradle 4.4.1和4.5-rc-1,我也应该为之前的版本工作。 如果使用buildscript而不是插件引入Kotlin插件,则可能没有生成的访问器,并且必须使用extensions.getByType(KotlinJvmProjectExtension::class.java).apply {} (或类似的东西)。