#!/bin/sh

# In-place setup script for PALM-meteo

# Copyright 2018-2025 Institute of Computer Science of the Czech Academy of
# Sciences, Prague, Czech Republic. Authors: Pavel Krc
#
# This file is part of PALM-METEO.
#
# PALM-METEO is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation, either version 3 of the License, or (at your option) any later
# version.
#
# PALM-METEO is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along with
# PALM-METEO. If not, see <https://www.gnu.org/licenses/>.

set -e
cd "$(dirname "$(which "$1")")"

if [ -e .venv ]; then
    echo "Virtual environment directory already present, skipping creation."
else
    echo "Creating virtual environment."
    python3 -m venv --without-pip --system-site-packages --prompt pmeteo .venv
fi

echo "Activating virtual environment."
. .venv/bin/activate

echo "Installing PALM-meteo in-place."
python3 -m pip install --upgrade --editable .

if [ -e pmeteo ]; then
    echo "Launcher script pmeteo is already present."
else
    echo "Linking launcher script pmeteo from the virtual environment."
    ln -s .venv/bin/pmeteo .
fi

echo "Setup finished successfully."

read -p "Would you like to run the tests now? [y] " ans
if [ -z "$ans" -o "$ans" = y ]; then
    tests/integration_tests/all_tests.sh
fi
