如果我的任务更改某些属性,并且执行两次增量构建无法完成。每次必须再次执行此任务。我可以使用upToDateWhen()方法对属性进行一些检查吗?
是否存在无法将属性声明为任务输出的目的?
图片来自: (Muschko,Benjamin。“陷入构建生命周期。”Gradle in Action.N.p。:n.p.,2014)
答案 0 :(得分:4)
任务的输入和输出声明用于确定任务是否是最新的"自上次构建以来,因此可以在当前构建中安全地跳过。没有任何输出声明意味着任务在构建开始时总是过时的。由于属性不是跨构建持久化的,因此输出属性的任务总是过时且需要运行,这相当于不将属性指定为任务的输出。