如何检查运行的shake是否会重建目标(而不实际尝试构建它)



在某些情况下,我想非常快速地知道某个目标文件是否是最新的,也就是说,用shake构建它是否会运行任何可传递地为目标做出贡献的规则。

用shake达到这个效果的最好方法是什么?

我的问题有点与Shake: Signal有关,是否有任何东西需要重建。但是,我不想运行实际的构建,因为我不想接触任何构建产品。

在Shake中哪些文件是"脏的"有点难以确定。如果您感兴趣的文件依赖于任何oracle(甚至是传递的),那么该文件被认为是"脏的",因为oracle总是脏的。但是,如果Shake重新运行相关规则/预言,并且它们没有改变,那么此时它就被认为是干净的。因此,大多数规则在运行之前都被认为是脏的,只有在运行了一些规则之后才变得干净。

我已经提出了一个票去做更好的事情。一个选项会给出一个目标规则,说明哪些叶子依赖于它并且是脏的——这将列出oracle(您合理地期望不会更改),如果它列出任何源文件,您将期望它重新构建。

相关内容

最新更新