如何将 Groovy gradle 任务重写为 Kotlin gradle 脚本

How to rewrite Groovy gradle task to Kotlin gradle scripts

我用 groovy 编写了这两个 gradle 任务,但我找不到将它们重写为 Kotlin 的正确方法:

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
    kotlinOptions {
        jvmTarget = "1.8"
    }
}


task clearAppCache(type: Exec) {
    def clearDataCommand = ['adb', 'shell', 'pm', 'clear', 'io.hruska.pocketplay']
    commandLine clearDataCommand
}

我特别不确定如何替换 "commandLine" 方法以及如何向任务添加 "type:Exec" 参数。

我相信以下内容应该可以解决问题:

tasks {

    // will need to import KotlinCompile or use the fully qualified name
    withType<KotlinCompile> {
        kotlinOptions.jvmTarget = "1.8"
    }

    register<Exec>("clearAppCache") {
        commandLine = listOf("adb", "shell", "pm", "clear", "io.hrushka.pocketplay")
    }

}

一些链接:


1.将示例代码块从 Groovy 切换到 Kotlin。