【发布时间】:2020-11-21 04:27:17
【问题描述】:
我想创建一个 build.gradle 文件,它将加载另一个文件。
第二个文件应该有“defaulttasks”,这意味着它们应该在第一个文件中不存在任务时执行。
文件一:
apply from ("..otherfile.gradle")
task "hello"(overwrite: true) {
doFirst{
println "hello from here"
}
}
第二个文件:
task "hello" {
doFirst{
println "i am the old one"
}
}
当我运行它时,它失败了
原因:java.lang.IllegalStateException:不支持替换可能已被其他插件使用的现有任务。为此任务使用不同的名称('hello')。
所以我尝试将第二个文件而不是任务更改为 "tasks.register("hello")
之后它不会失败,但它也会执行第二个。 如何覆盖任务以使默认任务不再运行?
【问题讨论】:
标签: gradle groovy overriding overwrite