SBT:如何在两个单独的子项目中更改文件时触发单独的操作

Li *_*oyi 7 scala sbt

build.sbt看起来像这样:

val client = project.in(file("client"))

val server = project.in(file("server"))
Run Code Online (Sandbox Code Playgroud)

主项目包括两个独立的项目,客户端和服务器.我想同时开发它们:我需要在我工作时构建它们并运行服务器.每个项目都有自己的额外构建步骤:client需要一个packageJS编译后,server需要一个container:restart.

但是,~; restartServer; restartClient从根目录执行操作并不能执行我想要的操作,因为它会侦听任一子项目并始终重新启动它们,并且在我的情况下会导致重新启动循环,因为一个子项目会将文件转储到另一个子项目中以供其使用.

有没有在两个子项目中同时执行"~re restartXXX",所以我可以编辑其中任何一个,它只会重新启动已编辑的项目?

jsu*_*eth 2

你有没有尝试过:~ all restartServer restartClient

在 sbt 0.13.2-M2 中(我认为是 sbt 0.13.1,但不确定),有一个新all命令将并行运行指定的任务。与 ~ 结合使用,您可以确保在一项更改上运行多个任务。