#!/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 "_________________________________________"

# Verify params
if [[ "$(strip_dash $1)" == "setup" ]]; then
    echo " Dev Setup..."
    sudo chmod -R 777 docker/deployments/
    echo " starting dev enrvionment..."
    mvn clean install -Pdebug
    cp ./*-app/target/*.war ./docker/deployments/
    docker compose -f ./docker/docker-compose-dev.yaml up
fi


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

if [[ "$(strip_dash $1)" == "docker" ]]; then
    echo " Buld Docker Image..."
    mvn clean install -Pdebug
fi



if [[ "$(strip_dash $1)" == "build" ]]; then
    echo " Build app..."
    mvn clean install
fi



if [[ "$(strip_dash $1)" == "deploy" ]]; then
    echo " Deploy to Imixs-Cloud..."
    mvn clean install -Pimixs-cloud -DskipTests
fi


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

    echo " Run with ./dev.sh -XXX"
    echo " "
    echo "   -start  : start Docker Containers"
    echo "   -build : build war file"    
    echo "   -docker : build the Docker image for debugging"    
    echo "   -deploy: Imixs-Cloud Deployment starten "    
    echo "   -setup  : setup dev environment - rebuild docker containers "
    echo "_________________________________________"
    echo " "

fi