rebuild-ontohub revision 4356d89b99a2cc4d4f5b0736cad1b62f437189d2
c60f0e1a81c07f23a42f2fdfaebf747bcdd30ae7Tim Reddehase#!/bin/bash
c60f0e1a81c07f23a42f2fdfaebf747bcdd30ae7Tim Reddehase
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehaseabort_unless_invoker_installed() {
d731d2608b96a59e2dbef7cdd0cd8f3d7eed955aTim Reddehase result="$(which invoker 2>&1)"
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehase if [[ "$?" -ne "0" ]]; then
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehase echo ">>> Invoker not installed, please install"
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehase exit 1
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehase fi
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehase}
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehase
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehaseinitialize_new_invoker_instance() {
d731d2608b96a59e2dbef7cdd0cd8f3d7eed955aTim Reddehase result="$(invoker list 2>&1)"
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehase if [[ "$?" -eq "0" ]]; then
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehase echo ">>> Invoker running, restarting..."
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehase result=`invoker stop 2>&1`
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehase else
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehase echo ">>> Invoker not running, starting..."
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehase fi
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehase invoker start invoker.ini --daemon
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehase}
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehase
c60f0e1a81c07f23a42f2fdfaebf747bcdd30ae7Tim Reddehaseexecute_or_die() {
c60f0e1a81c07f23a42f2fdfaebf747bcdd30ae7Tim Reddehase cmd="$1"
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase execute_or_die_unless_match "$cmd" ""
c60f0e1a81c07f23a42f2fdfaebf747bcdd30ae7Tim Reddehase}
c60f0e1a81c07f23a42f2fdfaebf747bcdd30ae7Tim Reddehase
996c28c2e9f755a6831378e9bc4c4513bc5e45caTim Reddehaseexecute_or_die_unless_match() {
996c28c2e9f755a6831378e9bc4c4513bc5e45caTim Reddehase cmd="$1"
996c28c2e9f755a6831378e9bc4c4513bc5e45caTim Reddehase expression="$2"
996c28c2e9f755a6831378e9bc4c4513bc5e45caTim Reddehase echo ">>> Executing '$cmd'"
996c28c2e9f755a6831378e9bc4c4513bc5e45caTim Reddehase result="$($cmd 2>&1)"
996c28c2e9f755a6831378e9bc4c4513bc5e45caTim Reddehase state="$?"
996c28c2e9f755a6831378e9bc4c4513bc5e45caTim Reddehase if [[ "$state" -ne "0" ]]; then
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase if [[ -n "$expression" ]]; then
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase check_and_handle_result_text "$result" "$expression" "$cmd"
996c28c2e9f755a6831378e9bc4c4513bc5e45caTim Reddehase else
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase abort_cmd "$cmd"
996c28c2e9f755a6831378e9bc4c4513bc5e45caTim Reddehase fi
996c28c2e9f755a6831378e9bc4c4513bc5e45caTim Reddehase fi
996c28c2e9f755a6831378e9bc4c4513bc5e45caTim Reddehase}
996c28c2e9f755a6831378e9bc4c4513bc5e45caTim Reddehase
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehasecheck_and_handle_result_text() {
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase result="$1"
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase expression="$2"
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase cmd="$3"
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase echo "$result" | grep -q "$expression"
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase matchstate="$?"
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase if [[ "$matchstate" -ne "0" ]]; then
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase abort_cmd "$cmd"
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase else
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase echo ">>> Failed to execute '$cmd', but ignoring the result."
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase fi
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase}
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehaseabort_cmd() {
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase cmd="$1"
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase echo ">>> Failed to execute '$cmd', aborting further commands."
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase exit 1
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase}
4356d89b99a2cc4d4f5b0736cad1b62f437189d2Tim Reddehase
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehaseabort_unless_invoker_installed
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehaseinitialize_new_invoker_instance
cb09f778ad6878e2a08030d75410c130c737ba41Tim Reddehase
37cc69ff6c896d2259221d7f912c3a4113cbfccbEugen Kuksafor i in "$@"; do
0e9a600d7b5b2bf21d7105b4513b9b5d6e85ba03Eugen Kuksacase $i in
0e9a600d7b5b2bf21d7105b4513b9b5d6e85ba03Eugen Kuksa -d|--download-fixtures)
0e9a600d7b5b2bf21d7105b4513b9b5d6e85ba03Eugen Kuksa export DOWNLOAD_FIXTURES=true
0e9a600d7b5b2bf21d7105b4513b9b5d6e85ba03Eugen Kuksa ;;
6f6f5298a9d018416275e6e664bf7a8d7c40016eEugen Kuksa -r|--restart)
6f6f5298a9d018416275e6e664bf7a8d7c40016eEugen Kuksa RESTART_INVOKER_ONLY=true
37f8751b279b9fbe3033dfdc2b08a67083878afbEugen Kuksa ;;
0e9a600d7b5b2bf21d7105b4513b9b5d6e85ba03Eugen Kuksa *)
0e9a600d7b5b2bf21d7105b4513b9b5d6e85ba03Eugen Kuksa # unknown option
0e9a600d7b5b2bf21d7105b4513b9b5d6e85ba03Eugen Kuksa ;;
0e9a600d7b5b2bf21d7105b4513b9b5d6e85ba03Eugen Kuksa esac
0e9a600d7b5b2bf21d7105b4513b9b5d6e85ba03Eugen Kuksa shift
0e9a600d7b5b2bf21d7105b4513b9b5d6e85ba03Eugen Kuksadone
0e9a600d7b5b2bf21d7105b4513b9b5d6e85ba03Eugen Kuksa
37cc69ff6c896d2259221d7f912c3a4113cbfccbEugen Kuksaif [[ !($RESTART_INVOKER_ONLY) ]]; then
996c28c2e9f755a6831378e9bc4c4513bc5e45caTim Reddehase execute_or_die_unless_match "bundle exec rake elasticsearch:wipe" "Elasticsearch::Transport::Transport::Errors::NotFound"
37f8751b279b9fbe3033dfdc2b08a67083878afbEugen Kuksa execute_or_die "bundle exec rake db:migrate:clean"
37f8751b279b9fbe3033dfdc2b08a67083878afbEugen Kuksa execute_or_die "redis-cli flushdb"
37f8751b279b9fbe3033dfdc2b08a67083878afbEugen Kuksa execute_or_die "bundle exec rake git:compile_cp_keys"
37f8751b279b9fbe3033dfdc2b08a67083878afbEugen Kuksa execute_or_die "bundle exec rake db:seed"
37f8751b279b9fbe3033dfdc2b08a67083878afbEugen Kuksafi