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