#!/bin/bash

############################################################
# The Imixs Developer Script
# start, build, hot, setup, deploy
# 
############################################################

# Funktion zum Entfernen des '-' Zeichens von einem Parameter
strip_dash() {
    echo "$1" | sed 's/^-//'
}

    echo "     _            _   _          _  "     
    echo "  __| | _____   _(_) | |__   ___| |_ __"  
    echo " / _\` |/ _ \\ \\ / / | | '_ \\ / _ \\ | \'_ \\" 
    echo "| (_| |  __/\ V /| | | | | |  __/ | |_) |"
    echo " \__,_|\___| \_/ |_| |_| |_|\___|_| .__/ "
    echo "                                  |_|  "
    echo "    Imixs Developer Script..."
    echo "_________________________________________"

# Überprüfen, ob der Parameter 'hot' übergeben wurde
if [[ "$(strip_dash $1)" == "setup" ]]; then
    echo " Dev Setup..."
    sudo chmod -R 777 docker/deployments/

    #mvn -f ~/git/imixs-ml/ clean install -Pdocker -DskipTests

    echo " starting dev enrvionment..."
    mvn clean install -Pdebug
    cp ./*-app/target/*.war ./docker/deployments/
    docker-compose -f docker-compose.yml up
fi


if [[ "$(strip_dash $1)" == "start" ]]; then
    echo " Start Dev Environment..."
    docker-compose -f docker-compose.yml up
fi

if [[ "$(strip_dash $1)" == "build" ]]; then
    echo " Build and Autodeploy..."

    mvn clean install -DskipTests
fi

if [[ "$(strip_dash $1)" == "test" ]]; then
    echo " Run JUnit Tests..."

    mvn clean test
fi

if [[ "$(strip_dash $1)" == "hot" ]]; then
    echo "* Hotdeploy..."
    cd *-app
    mvn manik-hotdeploy:hotdeploy
    cd ..
fi

if [[ "$(strip_dash $1)" == "deploy" ]]; then
    echo " Deploy to Imixs-Cloud..."

    mvn clean install -Pkubernetes
fi


# Überprüfen, ob keine Parameter übergeben wurden - standard build
if [[ $# -eq 0 ]]; then

    echo " Run with ./dev.sh -XXX"
    echo " "
    echo "   -start : Docker Container starten "
    echo "   -build : Anwendung neue bauen und deployen "
    echo "   -hot   : Manik Hotdeploy Starten"
    echo "   -test  : Run tests"
    echo "   -deploy: Imixs-Cloud Deployment starten "
    echo "   -setup : Developer Umgebung neu aufbauen und Docker Container starten "
    echo "_________________________________________"
    echo " "

fi