摇动构建而不为每个输入文件生成一个文件
shake build without producing a file for every input file
从网站的 .md
文件构建 .html
文件,我有一些 .md
文件不应产生输出 .html
(例如,因为还没有准备好出版物)。使用 shake
实现此目标的最佳方法是什么?
我有 html 文件的 want
和搜索相应 .md
文件的规则,但有些规则不会生成 .html
和 shake
停止
错误 Error, rule finished running but did not produce file:
.
处理这种情况的最佳方法是什么?
目前的限制是每个文件都必须产生一个结果。其他一些构建系统对此稍微宽松一些,但我的经验是它几乎总是错误的来源
- 虽然在某些情况下它很有用(例如你的)。选项是:
- 如果您可以轻松检测到文件不需要为其创建输出,则可以在
want
之前执行此操作 - 即通过将 want
转换为 action
调用 need
,但仅针对输出的子集。
- 如果检测到您不需要创建任何东西是昂贵的,您可以有一个规则总是生成一个文件,但有时会生成一个空文件,然后一个单独的规则依赖于该文件并只复制有内容的。
不幸的是,这两种情况都不理想。在某一时刻,Shake 可以选择将创建文件失败作为有效结果,如果有足够的需求,可以重新引入。
从网站的 .md
文件构建 .html
文件,我有一些 .md
文件不应产生输出 .html
(例如,因为还没有准备好出版物)。使用 shake
实现此目标的最佳方法是什么?
我有 html 文件的 want
和搜索相应 .md
文件的规则,但有些规则不会生成 .html
和 shake
停止
错误 Error, rule finished running but did not produce file:
.
处理这种情况的最佳方法是什么?
目前的限制是每个文件都必须产生一个结果。其他一些构建系统对此稍微宽松一些,但我的经验是它几乎总是错误的来源 - 虽然在某些情况下它很有用(例如你的)。选项是:
- 如果您可以轻松检测到文件不需要为其创建输出,则可以在
want
之前执行此操作 - 即通过将want
转换为action
调用need
,但仅针对输出的子集。 - 如果检测到您不需要创建任何东西是昂贵的,您可以有一个规则总是生成一个文件,但有时会生成一个空文件,然后一个单独的规则依赖于该文件并只复制有内容的。
不幸的是,这两种情况都不理想。在某一时刻,Shake 可以选择将创建文件失败作为有效结果,如果有足够的需求,可以重新引入。