diff --git a/release.sh b/release.sh new file mode 100644 index 0000000000000000000000000000000000000000..f93b465cf5cf160a40026dba20faeaf9819a827b --- /dev/null +++ b/release.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +#RELEASE_OPTS="-DskipTests" +RELEASE_OPTS="" + +# Rollback previous release, if need +if [[ -f "pom.xml.releaseBackup" ]]; then + echo "**********************************" + echo "* Rollback previous release..." + echo "**********************************" + result=`mvn release:rollback` + failure=`echo "$result" | grep -m1 -P "\[INFO\] BUILD FAILURE" | grep -oP "BUILD \w+"` + # rollback failed + if [[ ! "_$failure" = "_" ]]; then + echo "$result" | grep -P "\[ERROR\] " + exit 1 + fi + echo "Rollback previous release [OK]" +fi + + +echo "**********************************" +echo "* Preparing release..." +echo "**********************************" +mvn release:prepare --quiet -Darguments="${RELEASE_OPTS}" +if [[ $? -ne 0 ]]; then + exit 1 +fi +echo "Prepare release [OK]" + + +echo "**********************************" +echo "* Performing release..." +echo "**********************************" +mvn release:perform --quiet -Darguments="${RELEASE_OPTS}" +if [[ $? -ne 0 ]]; then + exit 1 +fi +echo "Perform release [OK]" + + + + +mvn release:perform \ No newline at end of file