5

在 SBT 中,您可以使用“~”标记在源文件更改时触发操作。例如,

sbt> ~test

将在源更改时运行单元测试。

每当源更改或本地依赖项更改时,是否有任何好的方法来触发操作?这在同时开发两个项目时很有用,其中一个项目依赖于另一个项目。

我知道您可以通过手动指定文件基础项目的路径来获得这种行为,但这很脆弱,而且 SBT 已经知道它从哪里获取本地工件,所以我想避免这种情况。

4

1 回答 1

1

Triggered Execution的文档中,您可以在该watchSources任务中添加要监视的其他文件。

另一个问题来看,该managedClasspath任务提供了来自托管依赖项的类路径部分。

然后,以下定义将托管测试类路径添加到文件以监视触发执行:

watchSources <++=
  (managedClasspath in Test) map { cp => cp.files }

在您要触发的每个项目中定义它。

于 2013-03-22T19:17:37.713 回答