在我的情况下,Rule
必须在环境更改(工作目录的 svn 修订版)而不是输入文件的更改时调用。因此,根据alwaysRun
,我的规则要么从不(构建失败)要么总是(强制依赖重新构建)被调用。
我需要的是:
- 一种检查是否
Rule
必须运行的方法 - 一种以某种方式缓存规则输出的方法,仅在必要时重建依赖项
在我的情况下,Rule
必须在环境更改(工作目录的 svn 修订版)而不是输入文件的更改时调用。因此,根据alwaysRun
,我的规则要么从不(构建失败)要么总是(强制依赖重新构建)被调用。
我需要的是:
Rule
必须运行的方法规则和命令会重新运行,不仅因为输入更改,而且如果其中使用的属性发生更改。因此,在您的情况下,您需要定义一个与 svn 存储库状态相对应的属性,并在您的规则和/或命令中引用它。然后当且仅当有必要时才会重新执行。请注意,在 qbs 1.10 中,此类属性是通过 vcs 模块自动提供的:http: //doc-snapshots.qt.io/qbs/vcs-module.html