如何将 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。
我用 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。