在SBT中,只要源文件发生更改,就可以使用“〜”标记触发操作。例如,
sbt> ~test
将在源更改时运行单元测试。
当源更改或本地依赖项发生更改时,是否有任何良好的方法可以触发操作?当同时开发两个项目时,这将非常有用,其中一个项目取决于另一个项目。
我知道你可以通过手动指定file或the base project的路径来获得此行为,但这很脆弱,而且SBT已经知道它在哪里得到它的本地工件,所以这就是我的意思喜欢避免。
答案 0 :(得分:1)
在Triggered Execution的文档中,您可以在watchSources
任务中添加要监视的其他文件。
从another question开始,managedClasspath
任务提供了来自托管依赖项的类路径部分。
然后,以下定义将托管测试类路径添加到要监视触发执行的文件中:
watchSources <++=
(managedClasspath in Test) map { cp => cp.files }
在每个要触发的项目中定义它。