rebuild-ontohub revision 4356d89b99a2cc4d4f5b0736cad1b62f437189d2
fa9e4066f08beec538e775443c5be79dd423fcabahrens#!/bin/bash
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensabort_unless_invoker_installed() {
fa9e4066f08beec538e775443c5be79dd423fcabahrens result="$(which invoker 2>&1)"
fa9e4066f08beec538e775443c5be79dd423fcabahrens if [[ "$?" -ne "0" ]]; then
fa9e4066f08beec538e775443c5be79dd423fcabahrens echo ">>> Invoker not installed, please install"
fa9e4066f08beec538e775443c5be79dd423fcabahrens exit 1
fa9e4066f08beec538e775443c5be79dd423fcabahrens fi
fa9e4066f08beec538e775443c5be79dd423fcabahrens}
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensinitialize_new_invoker_instance() {
fa9e4066f08beec538e775443c5be79dd423fcabahrens result="$(invoker list 2>&1)"
fa9e4066f08beec538e775443c5be79dd423fcabahrens if [[ "$?" -eq "0" ]]; then
fa9e4066f08beec538e775443c5be79dd423fcabahrens echo ">>> Invoker running, restarting..."
fa9e4066f08beec538e775443c5be79dd423fcabahrens result=`invoker stop 2>&1`
fa9e4066f08beec538e775443c5be79dd423fcabahrens else
fa9e4066f08beec538e775443c5be79dd423fcabahrens echo ">>> Invoker not running, starting..."
fa9e4066f08beec538e775443c5be79dd423fcabahrens fi
fa9e4066f08beec538e775443c5be79dd423fcabahrens invoker start invoker.ini --daemon
fa9e4066f08beec538e775443c5be79dd423fcabahrens}
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensexecute_or_die() {
fa9e4066f08beec538e775443c5be79dd423fcabahrens cmd="$1"
fa9e4066f08beec538e775443c5be79dd423fcabahrens execute_or_die_unless_match "$cmd" ""
fa9e4066f08beec538e775443c5be79dd423fcabahrens}
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensexecute_or_die_unless_match() {
fa9e4066f08beec538e775443c5be79dd423fcabahrens cmd="$1"
fa9e4066f08beec538e775443c5be79dd423fcabahrens expression="$2"
fa9e4066f08beec538e775443c5be79dd423fcabahrens 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