#!/bin/bash
set -eu

cd "$(dirname "$0")"
cd .. # git root

if ! command -v sudo; then
    # CI or Docker sometimes doesn't have it, so useful to have a dummy
    function sudo {
        "$@"
    }
fi

if [ -n "${CI-}" ]; then
    # install OS specific stuff here
    # TODO: pyjq is not necessary anymore? will keep CI deps just in case I guess
    PYJQ_DEPS=('autoconf' 'automake' 'libtool') # see https://github.com/mwilliamson/jq.py#installation
    case "$OSTYPE" in
    darwin*) 
        # macos
        brew install "${PYJQ_DEPS[@]}"

        # TODO hmm. this should be in setup.py?
        brew install libmagic # for python-magic
        ;;
    cygwin* | msys* | win*)
        # windows
        :
        ;;
    *)
        # must be linux?
        sudo apt update

        # TODO also need to warn from readme??
        sudo apt install "${PYJQ_DEPS[@]}" python3-dev
        ;;
    esac
fi


PY_BIN="python3"
# some systems might have python pointing to python3
if ! command -v python3 &> /dev/null; then
    PY_BIN="python"
fi

"$PY_BIN" -m pip install --user tox
"$PY_BIN" -m tox
