#!/bin/bash
set -e

_pkg_venv()
{
	local repo_flags=""

	[[ -n ${VENV_ACTIVATE} ]] && \
	    _abort "Virtual environment is activate. Deactivate and run again"

	if [[ ${TEST_PYPI} -eq 1 ]]; then
	    repo_flags="-i https://test.pypi.org/simple --extra-index-url https://pypi.org/simple/"
	fi
	venv_dir=$(mktemp -d)
	echo "Creating venv at ${venv_dir}"
	python -m venv ${venv_dir}
	source ${venv_dir}/bin/activate
	pip install --upgrade pip

	pip install ${repo_flags} xeet
}

_fini_pkg_env()
{
	deactivate
	[[ -n ${venv_dir} && -d ${venv_dir} ]] && rm -rf ${venv_dir}
}

_venv_activate()
{
	source ${PROJ_ROOT}/.venv/bin/activate
}

PROJ_ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
if [ -z "${PROJ_ROOT}" ]; then
	echo "ERROR: Could not find project root. Are you in the project directory?"
	exit 1
fi

HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
cd ${HERE}

if [[ ${TEST_PKG} -eq 1 ]]; then
	_pkg_venv
else
	_venv_activate
fi

echo "xeet path: $(which xeet)"
cmd="xeet run -c xeet.json $*"
echo "Running: ${cmd}"
${cmd}
ret=$?
[[ ${TEST_PKG} -eq 1 ]] && _fini_pkg_env

exit ${ret}
