Skip to content

Latest commit

 

History

History
26 lines (15 loc) · 1.14 KB

README.md

File metadata and controls

26 lines (15 loc) · 1.14 KB

devrun

A program to build, run, and restart a Go program on code change. It also supports watching all your Go imports too. So if you change the code of a library, your app will recompile.

This is not thoroughly tested. Report any issues you have.

Notes

The watch subcommand will run whatever commands you pass in its own shell. What it does behind the scenes is run sh -c "your commands here". For example, devrun watch go test will run sh -c "go test". This means you can use any one liner shell script in here. This also means that if you have a long running process (the process doesn't exit in a short amount of time) such as a webserver or other service, you must use "exec" if you want devrun to be able to kill it and restart the process.

Examples

devrun watch --exclude-files "^(.*_test\.go)$" --include-files "^(.*\.go|.*\.yaml|.*\.conf)$" "godep go build && exec ./prog run"

devrun watch go test

devrun watch -- go test -run="TestFunc"

devrun watch exec ./webserver

TODO

Would be neat to incorporate https://github.com/daviddengcn/go-diff and only recompile when the Go code semantically changes.