31 lines
512 B
Bash
31 lines
512 B
Bash
#!/usr/bin/env bash
|
|
|
|
# TODO: enumerate directories with shell
|
|
WATCH="db/ env/ fonts/ lib/ lightning/ pages/ public/ server/"
|
|
BINARY=magicwallet
|
|
PID=
|
|
|
|
set -e
|
|
|
|
function restart() {
|
|
date +%s.%N > public/__hotreload__
|
|
set +e
|
|
[[ -z "$PID" ]] || kill -15 $PID
|
|
make build -B
|
|
set -e
|
|
./$BINARY 2>&1 &
|
|
PID=$(pidof $BINARY)
|
|
}
|
|
|
|
function cleanup() {
|
|
rm -f public/__hotreload__
|
|
[[ -z "$PID" ]] || kill -15 $PID
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
restart
|
|
while inotifywait -r -e modify $WATCH; do
|
|
echo
|
|
restart
|
|
done
|