Scala SBT:在本地依赖关系发生变化时触发操作

时间:2013-03-22 03:37:45

标签: scala sbt

在SBT中,只要源文件发生更改,就可以使用“〜”标记触发操作。例如,

sbt> ~test

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

当源更改本地依赖项发生更改时,是否有任何良好的方法可以触发操作?当同时开发两个项目时,这将非常有用,其中一个项目取决于另一个项目。

我知道你可以通过手动指定filethe base project的路径来获得此行为,但这很脆弱,而且SBT已经知道它在哪里得到它的本地工件,所以这就是我的意思喜欢避免。

1 个答案:

答案 0 :(得分:1)

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

another question开始,managedClasspath任务提供了来自托管依赖项的类路径部分。

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

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

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