#!/bin/bash
#
# Copyright (C) 2023 Das Land Schleswig-Holstein vertreten durch den
# Ministerpräsidenten des Landes Schleswig-Holstein
# Staatskanzlei
# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
#
# Lizenziert unter der EUPL, Version 1.2 oder - sobald
# diese von der Europäischen Kommission genehmigt wurden -
# Folgeversionen der EUPL ("Lizenz");
# Sie dürfen dieses Werk ausschließlich gemäß
# dieser Lizenz nutzen.
# Eine Kopie der Lizenz finden Sie hier:
#
# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
#
# Sofern nicht durch anwendbare Rechtsvorschriften
# gefordert oder in schriftlicher Form vereinbart, wird
# die unter der Lizenz verbreitete Software "so wie sie
# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
# ausdrücklich oder stillschweigend - verbreitet.
# Die sprachspezifischen Genehmigungen und Beschränkungen
# unter der Lizenz sind dem Lizenztext zu entnehmen.
#


#set -x

if [ "$#" -ne 1 ]; then
    echo "Aufruf: release-startdev.sh NEWVERSION"
    exit 1
fi

NEWVERSION=$1

echo

# pom.xml:main -> project.version setzen
# projectname/pom.xml:parent -> project.parent.version setzen
# projectname/pom.xml:parent,main -> project.parent.version und project.version setzen
#
PROJECTS="pom.xml:main 
        ozgcloud-keycloak-operator/pom.xml:parent
        ozgcloud-elasticsearch-operator/pom.xml:parent
        "

for PROJECT in $PROJECTS;
do
  POMFILE=$(echo $PROJECT | cut -d':' -f1)
  ACTIONS=$(echo $PROJECT | cut -d':' -f2)

  ## Auf SNAPSHOT Versionen testen
  if fgrep -q "SNAPSHOT" $POMFILE; then
    RED='\033[0;31m'
    NC='\033[0m'
    echo "${RED}ERROR: Datei "$POMFILE" enthält noch SNAPSHOT Versionen, das sollte hier nicht passieren.${NC}"
    exit 1
  fi
echo $ACTIONS
  ## Versionen setzen
  if [[ $ACTIONS == "main" ]] ; then
    xmlstarlet ed --pf -L -N w="http://maven.apache.org/POM/4.0.0" -u '//w:project/w:version' -v $NEWVERSION $POMFILE
  fi

  if [[ $ACTIONS == "parent" ]]; then
    xmlstarlet ed --pf -L -N w="http://maven.apache.org/POM/4.0.0" -u '//w:project/w:parent/w:version' -v $NEWVERSION $POMFILE
  fi
done



echo
echo "NEXT STEPS:"
echo "***********"
echo "Änderungen prüfen"
echo "git commit -a -m 'start development "$NEWVERSION"'"
echo "git push"