#!/bin/sh
cwd=$(pwd)
declare -A known_files
inotifywait -mr --timefmt '%s' --format '%T %w %f' -e close_write ./cmd |
while read -r time dir file; do
filepath=${dir}${file}
if [[ $filepath =~ "~" ]]; then
continue
fi
if [ ! -z ${known_files[$filepath]} ]; then
if [ ! $time -gt ${known_files[$filepath]} ]; then
continue
fi
fi
known_files[$filepath]=$time
echo "Updated: $filepath"
pkill ergo
echo "Ergo stopped!"
if [[ $filepath =~ "go" ]]; then
echo "Rebuilding Ergo..."
go build -o ./bin/ergo ./cmd/ergo
fi
echo "Starting Ergo..."
./bin/ergo -port 1337 -web-base-dir ./web &
done