我用 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
}
我特别不确定如何替换"命令行"方法以及如何向任务添加"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")
}
}
一些链接:
- 编写自定义 Gradle 任务1
- Gradle Kotlin DSL Primer
1. 将示例代码块从 Groovy 切换到 Kotlin。