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

How do I overwrite a task in gradle kotlin-dsl

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

task jar(overwrite: true) {
    ...
}

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

tasks {
     val jar by creating {
          ...
     }
}

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

通过打开 an issue on the kotlin-dsl github 我找到了正确的语法:

tasks.replace("jar") {
    ...
}

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