haskell - 震动构建中的“单向”依赖关系?
问题描述
我的大脑现在可能被炸了(已经连续 3 天在这个 Shakefile 上进行黑客攻击),但我就是不知道如何在 Shake 中表达“单向”依赖?
我正在构建(生成)数百个 HTML 文件,为了让它们正常工作,它们需要生成一个通用的 CSS 文件。如果我说类似...
"**.rst" %> \out -> do
need [cssFile, templateFile]
-- compile RST => HTML
...如果通用 CSS 文件发生更改,它会导致所有 HTML 文件被重新构建!
我如何表达以下内容shake
:
- 如果
x
已建成,请确保y
也已建成 - 但是,如果
y
发生更改,x
则不需要重新构建。
解决方案
您可能正在寻找orderOnly
, 从文档中:
定义仅顺序依赖项,这些依赖项总是在继续之前构建,但不是此操作的依赖项。对于定义您认为可能是真正的依赖项的生成依赖项最有用。如果它们被证明是真正的依赖项,则应在之后添加显式依赖项。
它与您所追求的并不完全匹配(您实际上并不需要在规则继续之前构建它),但它应该足够接近您想要的。
推荐阅读
- android - 如何为 ConstraintLayout 中的子视图赋予重力
- java - “有损转换”与“精度损失”
- java - 如何验证地图请求正文中的格式日期?
- r - html_table 将列的值加倍
- c# - 如何找到外部 C# 方法的实现
- swift - Swift 4.1 - 无法将 [Character] 类型的值转换为 [String]
- common-lisp - 在 Common Lisp 中以宏列表作为参数的宏
- applescript - Applescript - 数字不会关闭“无标题”
- animation - 在 React Native 中,我们如何在渲染过程中为 FlatList 项目设置自定义显示动画?
- javascript - 我们可以将谷歌地图静态 URL 字符长度增加到最多五万个字符吗