摇动构建而不为每个输入文件生成文件

时间:2019-03-31 15:05:29

标签: shake-build-system

从一个网站的.html个文件构建.md个文件,我有一些.md个文件不应该产生输出.html(例如,因为尚未准备好发布) 。用shake实现此目标的最佳方法是什么?

我有一个want用于html文件,并且有一条规则搜索相应的.md文件,但是有些规则不产生.html,而shake以 错误Error, rule finished running but did not produce file:

处理此案的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

当前的限制是每个文件都必须产生结果。其他一些构建系统对此稍松一些,但是我的经验是,它几乎总是错误的来源 -尽管在某些情况下很有用(例如您的)。选项是:

  • 如果您可以轻松地检测到文件不需要为其创建输出,则可以在want之前执行此操作-即通过将want转换为一个action need,但仅在部分输出中使用。
  • 如果检测到您不需要创建任何东西很昂贵,则可以有一个始终生成文件的规则,但有时会生成一个空文件,然后有一个依赖于该文件并仅复制具有以下内容的规则的单独规则内容。

不幸的是,这两种情况都不是理想的。一方面,Shake可以选择使创建文件失败失败为有效结果,如果有足够的需求,可以重新引入。