有没有办法在保留原始条件的同时添加自定义最新条件?

时间:2017-09-19 16:00:30

标签: gradle gradle-task

假设我正在使用定义任务foo的Gradle插件,该插件在特定条件下是最新的。不幸的是,我没有来源,所以我不知道它是什么时候。

如果原始条件为真,并且自定义条件也为真,我想这样做foo是最新的。

我知道我可以像这样添加自定义条件:

foo.outputs.upToDateWhen {
    return myCondition == true
}

但我希望能够做到这样的事情:

foo.outputs.upToDateWhen {
    return super.upToDateWhen && myCondition == true
}

有什么办法可以做我想要的吗?我是否可以添加最新条件,以便保持原始最新状态?

1 个答案:

答案 0 :(得分:1)

您所描述的实际上是默认行为。 the docsupToDateWhen方法的说明是:

  

添加谓词以确定此任务的输出是否是最新的。给定的闭包在任务执行时执行。闭包作为参数传递任务。如果闭包返回false,则任务输出被视为过时,任务将被执行。

     

您可以添加多个此类谓词。当任何谓词返回false时,任务输出被认为是过时的。