在SBT中,只要源文件发生更改,就可以使用"〜"标记触发操作.例如,
sbt> ~test
Run Code Online (Sandbox Code Playgroud)
将在源更改时运行单元测试.
当源更改或本地依赖关系发生更改时,是否有任何好的方法可以触发操作?当同时开发两个项目时,这将非常有用,其中一个项目取决于另一个项目.
我知道你可以通过手动指定文件或基础项目的路径来获得这种行为,但这很脆弱,而且SBT已经知道它在哪里得到它的本地工件,所以这是我想要避免的.
根据Triggered Execution的文档,watchSources您可以在该任务中添加要监视的其他文件。
从另一个问题来看,该managedClasspath任务提供了来自托管依赖项的类路径部分。
然后,以下定义将托管测试类路径添加到文件中以监视触发的执行:
watchSources <++=
(managedClasspath in Test) map { cp => cp.files }
Run Code Online (Sandbox Code Playgroud)
在您想要触发的每个项目中定义它。
| 归档时间: |
|
| 查看次数: |
423 次 |
| 最近记录: |