#!/bin/bash if [ "$(egrep '.*-rc-[0-9]+-SNAPSHOT' pom.xml)" = "" ]; then echo "Project is not been promoted to a release candidate." exit fi mvn clean modifications=$(svn status | egrep '^[\?MA]') if [ "$modifications" != "" ]; then echo "There are local modifications. Aborting." echo $modifications exit fi sed -e 's~-rc-[0-9]*-SNAPSHOT~-rc-1~' blojsom/ant_pom.xml > blojsom/ant_pom.xml.tmp mv blojsom/ant_pom.xml.tmp blojsom/ant_pom.xml find . -name pom.xml | grep -v META-INF | while read pom; do sed -e 's~-rc-[0-9]*-SNAPSHOT~-SNAPSHOT~' $pom > $pom.tmp mv $pom.tmp $pom done svn commit -m 'preparing release' mvn install mvn clean mvn --batch-mode release:prepare -DpreparationGoals="clean install" if [ $? -ne 0 ]; then exit fi #mvn release:perform -DuseReleaseProfile=false #if [ $? -ne 0 ]; then # exit #fi release=$(egrep -- '[0-9]+\.[0-9]+\.[0-9]+' blojsom/ant_pom.xml | sed -e 's~^.*~~' -e 's~.*$~~') nextSnapshot=$(fgrep -- '-SNAPSHOT' pom.xml | sed -e 's~^.*~~' -e 's~.*$~~') sed -e "s~$release~$nextSnapshot~" blojsom/ant_pom.xml > blojsom/ant_pom.xml.tmp mv blojsom/ant_pom.xml.tmp blojsom/ant_pom.xml svn commit -m "adding next snapshot version ($nextSnapshot) after release ($release)" blojsom/ant_pom.xml