我有以下构建系统
module Main where
import Development.Shake
main :: IO ()
main = shakeArgs shakeOptions $ do
"a" %> \out -> do
need ["a.in"]
cmd_ "sleep" "10"
cmd "touch" [out]
我用它构建stack build
和运行stack exec myShake -- --progress a
。
如果我做了一个干净的构建然后touch a.in
再次运行,shake 会向我显示非常错误的进度预测。有时它会预测 1000 分钟甚至更多。
(因为我每 5 秒在终端的标题栏中得到一个进度预测,如果我理解正确,我在这里只讨论第一个进度预测,因为这是我在这个构建系统示例中得到的唯一一个。)
我将 lts-9.6 与堆栈和摇动版本 0.16 一起使用(通过 git + stack.yaml 中的包中的条目)。