forked from p15670423/monkey
44 lines
855 B
Bash
44 lines
855 B
Bash
#!/bin/bash
|
|
|
|
sources_path=/mnt/sources
|
|
build_path=/home/user/Code/chaos_monkey
|
|
out_path=/mnt/binaries
|
|
out_name=$1
|
|
shift
|
|
sha=0
|
|
update_sha() {
|
|
sha=`ls -lR --time-style=full-iso $sources_path | sha1sum`
|
|
}
|
|
update_sha
|
|
previous_sha=$sha
|
|
build() {
|
|
echo -en " building...\n\n"
|
|
rm -fR "$build_path"
|
|
mkdir "$build_path"
|
|
cp -R "$sources_path/." "$build_path"
|
|
pushd "$build_path"
|
|
chmod +x build_linux.sh
|
|
./build_linux.sh
|
|
popd
|
|
cp -f "$build_path/dist/monkey" "$out_path/$out_name"
|
|
echo -en "\n--> resumed watching."
|
|
}
|
|
compare() {
|
|
update_sha
|
|
if [[ $sha != $previous_sha ]] ; then
|
|
echo -n "change detected,"
|
|
build
|
|
previous_sha=$sha
|
|
else
|
|
echo -n .
|
|
fi
|
|
}
|
|
trap build SIGINT
|
|
trap exit SIGQUIT
|
|
|
|
echo -e "--> Press Ctrl+C to force build, Ctrl+\\ to exit."
|
|
echo -en "--> watching \"$path\"."
|
|
while true; do
|
|
compare
|
|
sleep 1
|
|
done |