Using the ~run
command sbt will re-run an executable target for me whenever a source file changes. This is nice, but if the target is a long-running server process, sbt is suspended until the child terminates, so source changes have no effect.
I'd like to have sbt monitor and recompile my sources even while the target code is running, and restart the process on a successful build. Has anybody tried to set this up?
(Sorry for the post-mortem reply)
https://github.com/spray/sbt-revolver has been created just to solve this problem.
This is not possible via the built in "~" functionality. The problem is, that the "~"-prefixed task has to complete. If it is a server application listening on some ports, you have stop it first.
Maybe you could create your own task or modify the run
task, to kill/quit the running application (e.g. sending a magic exit-string on the listening port?). See this for more information:
http://code.google.com/p/simple-build-tool/wiki/CustomActions
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With