#!/bin/bash

SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
NEEDS="needs to be installed through your distro's package manager"

function fail {
    echo "UnderCover Init Failed!"
    exit 1
}

failed=false

if ! whereis python3 | grep "/" &> /dev/null; then
    echo "python3 $NEEDS"
    failed=true
fi

if ! whereis pip3 | grep "/" &> /dev/null; then
    echo "pip3 $NEEDS"
    failed=true
fi

if ! whereis pdflatex | grep "/" &> /dev/null; then
    echo "texlive $NEEDS"
    failed=true
fi

if ! whereis gs | grep "/" &> /dev/null; then
    echo "ghostscript $NEEDS"
    failed=true
fi

if $failed; then
    fail
fi

commands=(
    "python3 -m venv $SCRIPT_DIR/.venv"
    "source .venv/bin/activate"
    "pip3 install -r requirements.txt"
    "mkdir -p $SCRIPT_DIR/outputs"
)

for com in "${commands[@]}"; do
    if ! $com; then
        fail
    fi
done

echo "UnderCover Init Succeeded!"
touch "$SCRIPT_DIR/.undercover_init_successful"