我想清理gradle的所有项目,现在我在根项目build.gradle中使用此任务:
task clean {
subprojects.each {
it.afterEvaluate {
def cleanTask = it.tasks.findByName('clean')
if (cleanTask) {
dependsOn(cleanTask)
}
}
}
}
给我提示这个干净的任务已经存在,还有其他方法可以完成此任务吗?我不想写很多代码:
./gradlew clean projectA
./gradlew clean projectB
./gradlew clean projectC
现在我有30多个项目。
答案 0 :(得分:3)
Gradle中有一个功能,其中:
因此,通常,您的子项目将包含“干净”任务,而您的根项目则不会。因此,在根项目上调用“ clean”实际上会在所有子项目上调用“ clean”。我认为这是您想要的行为?
如果这没有发生,则可能是您已在根项目中创建了一个具有不同行为的“干净”任务(也许您已将“基本”插件应用于根项目?)。我建议您从根项目中删除“清理”任务