Skip to content
Snippets Groups Projects
release-startdev.sh 2.23 KiB
Newer Older
  • Learn to ignore specific revisions
  • OZGCloud's avatar
    OZGCloud committed
    #!/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.
    #
    
    
    OZGCloud's avatar
    OZGCloud committed
    
    #set -x
    
    if [ "$#" -ne 1 ]; then
    
    OZGCloud's avatar
    OZGCloud committed
        echo "Aufruf: release-startdev.sh NEWVERSION"
    
    OZGCloud's avatar
    OZGCloud committed
        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
    
    OZGCloud's avatar
    OZGCloud committed
            "
    
    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"