在某些情况下,我想很快知道某个目标文件是否是最新的,即使用shake 构建它是否会运行任何对目标有影响的规则。
用奶昔实现这一目标的最佳方法是什么?
我的问题与Shake 有点相关:表明是否需要重建任何东西。但是,我不想运行实际的构建,因为我不想接触我的任何构建产品。
在某些情况下,我想很快知道某个目标文件是否是最新的,即使用shake 构建它是否会运行任何对目标有影响的规则。
用奶昔实现这一目标的最佳方法是什么?
我的问题与Shake 有点相关:表明是否需要重建任何东西。但是,我不想运行实际的构建,因为我不想接触我的任何构建产品。
在 Shake 中,很难确定哪些文件是“脏的”。如果您感兴趣的文件依赖于任何预言机(甚至是可传递的),那么该文件被认为是“脏的”,因为预言机总是脏的。但是,如果 Shake 重新运行依赖规则/预言并且它们没有改变,那么此时它再次被认为是干净的。结果,大多数规则在运行之前就被认为是脏的,只有在运行了一些规则之后它才会变得干净。
我提出了一张票,希望能做得更好。一个选项将给出一个目标规则,说明哪些叶子依赖于它并且是脏的 - 这将列出 oracles(您合理地期望不会更改)并且如果它列出任何源文件,您会期望它重建。
(如果有人有任何好的想法,我会欢迎提出建议。)