rebuild-ontohub revision 4356d89b99a2cc4d4f5b0736cad1b62f437189d2
#!/bin/bash
abort_unless_invoker_installed() {
result="$(which invoker 2>&1)"
if [[ "$?" -ne "0" ]]; then
echo ">>> Invoker not installed, please install"
exit 1
fi
}
initialize_new_invoker_instance() {
result="$(invoker list 2>&1)"
if [[ "$?" -eq "0" ]]; then
echo ">>> Invoker running, restarting..."
result=`invoker stop 2>&1`
else
echo ">>> Invoker not running, starting..."
fi
invoker start invoker.ini --daemon
}
execute_or_die() {
cmd="$1"
execute_or_die_unless_match "$cmd" ""
}
execute_or_die_unless_match() {
cmd="$1"
expression="$2"
echo ">>> Executing '$cmd'"
result="$($cmd 2>&1)"
state="$?"
if [[ "$state" -ne "0" ]]; then
if [[ -n "$expression" ]]; then
check_and_handle_result_text "$result" "$expression" "$cmd"
else
abort_cmd "$cmd"
fi
fi
}
check_and_handle_result_text() {
result="$1"
expression="$2"
cmd="$3"
echo "$result" | grep -q "$expression"
matchstate="$?"
if [[ "$matchstate" -ne "0" ]]; then
abort_cmd "$cmd"
else
echo ">>> Failed to execute '$cmd', but ignoring the result."
fi
}
abort_cmd() {
cmd="$1"
echo ">>> Failed to execute '$cmd', aborting further commands."
exit 1
}
abort_unless_invoker_installed
initialize_new_invoker_instance
for i in "$@"; do
case $i in
-d|--download-fixtures)
export DOWNLOAD_FIXTURES=true
;;
-r|--restart)
RESTART_INVOKER_ONLY=true
;;
*)
# unknown option
;;
esac
shift
done
if [[ !($RESTART_INVOKER_ONLY) ]]; then
execute_or_die_unless_match "bundle exec rake elasticsearch:wipe" "Elasticsearch::Transport::Transport::Errors::NotFound"
execute_or_die "bundle exec rake db:migrate:clean"
execute_or_die "redis-cli flushdb"
execute_or_die "bundle exec rake git:compile_cp_keys"
execute_or_die "bundle exec rake db:seed"
fi