为什么在Gradle中无法将属性声明为输出?

Xel*_*ian 5 properties input task gradle output

在此处输入图片说明

如果我的任务更改了某些属性,并且在执行该属性时两次无法完成增量构建。并且每次必须再次执行此任务。我可以使用upToDateWhen()方法对属性进行一些检查吗?

不能将属性声明为任务输出是否有某些目的?

该图像来自:(Muschko,Benjamin。“进入构建生命周期。” Gradle in Action。NP:NP,2014年)

chi*_*son 6

任务的输入和输出声明用于确定任务自上次构建以来是否“最新”,因此可以在当前构建中安全地跳过。没有任何输出声明意味着任务在构建开始时总是过时的。由于属性不会跨构建持久化,因此输出属性的任务将始终过时并需要运行,这相当于不指定属性作为任务的输出。