gpt4 book ai didi

gradle 将参数传递给 dependsOn 任务

转载 作者:行者123 更新时间:2023-12-03 02:58:59 28 4
gpt4 key购买 nike

我有 3 个 gradle 任务:A、B、C。B依赖于A。C 依赖于 A。

如果在 A 中有一个 if 检查,我希望 B 运行时为真,C 运行时为假。我该怎么做?

为了清楚起见,真正的任务是:

war { // task A
webAppDirName = 'src/main/webapp'

if (flag) {
rootSpec.exclude("**/*.json")
rootSpec.exclude("**/*.xml")
}
}

ospackage { // task B
buildRpm {
dependsOn war
}
}

task localTomcat { // task C
dependsOn war
}

我尝试在 dependsOn 之前在 doFirst 操作中设置 war.flag、war.ext.flag,但没有...

最佳答案

我找到了一个使用 dependsOn 链和 mustRunAfter 的解决方案。

代码:

task war4pkg {
doLast {
war.rootSpec.exclude("**/*.json")
war.rootSpec.exclude("**/*.xml")
}
}

war {
webAppDirName = 'src/main/webapp'
}

ospackage {
buildRpm {
dependsOn war4pkg, war # order doesn't matter
war.mustRunAfter war4pkg # order set here
}
}

task localTomcat {
dependsOn war # nothing here.
}

关于gradle 将参数传递给 dependsOn 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41783321/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com