我有两个任务,task_1应该压缩png文件,task_2不应该压缩png文件,所以我想添加一个参数来控制它。
project.ext.set("compressPngs", 1);
task taskCompressPngs(type:Exec){
commandLine "myshell.sh"
args compressPngs
}
task task_1(dependsOn:'taskCompressPngs'){}
task task_2(dependsOn:'taskCompressPngs'){}
gradle.taskGraph.whenReady { taskGraph ->
if (taskGraph.hasTask(task_1))
{
compressPngs=1
}
if (taskGraph.hasTask(task_2))
{
compressPngs=0
}
}
但是当我运行task_1或task_2时,在任务'taskCompressPngs'中,传递给我的脚本'myshell.sh'的'compressPngs'总是1,为什么?怎么解决?
最佳答案
taskCompressPngs
在配置值更改之前进行配置。条件配置很少是一个好的解决方案。更好的方法是声明两个 Exec
任务。
关于jenkins - Gradle - 不同的任务使用不同的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21774301/