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