如何覆盖 gradle kotlin-dsl 中的任务

Xer*_*rus 6 task gradle build.gradle gradle-kotlin-dsl

在 Groovy 中,我覆盖了一个这样的任务:

task jar(overwrite: true) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

我如何使用 Kotlin-dsl 做到这一点?我知道我可以创建这样的任务:

tasks {
     val jar by creating {
          ...
     }
}
Run Code Online (Sandbox Code Playgroud)

但我找不到将其声明为覆盖的等效方法,这会导致错误

Xer*_*rus 5

通过在 kotlin-dsl github 上打开一个问题,我找到了正确的语法:

tasks.replace("jar") {
    ...
}
Run Code Online (Sandbox Code Playgroud)

但是,这是旧方法,在tasks { }块内不起作用,因此将在此处进一步跟踪此问题