规则项:如何检查是否必须重新运行?

时间:2017-10-12 07:41:04

标签: qbs

在我的情况下,必须在环境变化(工作目录的svn修订版)而不是输入文件的更改时调用Rule。因此,根据alwaysRun,我的规则将被调用(从不构建)或总是(强制重建依赖项)。

我需要的是:

  1. 检查是否必须运行Rule的方法
  2. 以某种方式缓存规则输出的方法,仅在必要时重建依赖项

1 个答案:

答案 0 :(得分:1)

规则和命令不仅由于输入更改而重新运行,而且还会在其中使用的属性发生更改时重新运行。因此,在您的情况下,您将需要定义与svn存储库状态对应的属性,并在规则和/或命令中引用它。然后,当且仅当有必要时才会重新执行。 请注意,在qbs 1.10中,这样的属性是通过vcs模块自动提供的:http://doc-snapshots.qt.io/qbs/vcs-module.html