假设我正在使用定义任务foo
的Gradle插件,该插件在特定条件下是最新的。不幸的是,我没有来源,所以我不知道它是什么时候。
如果原始条件为真,并且自定义条件也为真,我想这样做foo
是最新的。
我知道我可以像这样添加自定义条件:
foo.outputs.upToDateWhen {
return myCondition == true
}
但我希望能够做到这样的事情:
foo.outputs.upToDateWhen {
return super.upToDateWhen && myCondition == true
}
有什么办法可以做我想要的吗?我是否可以添加最新条件,以便保持原始最新状态?
答案 0 :(得分:1)
您所描述的实际上是默认行为。 the docs中upToDateWhen
方法的说明是:
添加谓词以确定此任务的输出是否是最新的。给定的闭包在任务执行时执行。闭包作为参数传递任务。如果闭包返回false,则任务输出被视为过时,任务将被执行。
您可以添加多个此类谓词。当任何谓词返回false时,任务输出被认为是过时的。