#!/usr/bin/env bash
set -euo pipefail
root="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
if [[ "${1:-}" == --update ]]; then
    shift
    exec python3 "$root/scripts/update.py" "$@"
fi
# Resolve once: one invocation uses one complete release even during an update.
if [[ -L "$root/.runtime/current" ]]; then
    release="$(readlink -f -- "$root/.runtime/current")"
    export JR_EINVOICE_MUSTANG_JAR="$release/Mustang-CLI.jar"
    python="$release/venv/bin/python"
else
    python="$root/.venv/bin/python"
fi
export JR_EINVOICE_HOME="${JR_EINVOICE_HOME:-$root/private}"
export JR_EINVOICE_PRESETS="${JR_EINVOICE_PRESETS:-$root/private/presets}"
if [[ "$(basename -- "$0")" == jr-einvoice ]]; then
    exec "$python" -I -c 'from jr_einvoice.cli import app; app()' "$@"
fi
exec "$python" -I -m jr_einvoice.quick_cli "$@"
