strolch/li.strolch.dev/setVersion.sh

97 lines
3.6 KiB
Bash
Raw Normal View History

2014-09-19 20:38:54 +02:00
#!/bin/bash
2014-09-20 00:14:12 +02:00
if [ "$#" != "2" ] ; then
echo "ERROR: Wrong arguments!"
echo "Usage: $0 <old_version> <new_version>"
2014-09-19 20:38:54 +02:00
exit 1
fi
2014-09-19 22:36:59 +02:00
2014-09-22 21:04:18 +02:00
if [ ! $(which xmlstarlet) ] ; then
2014-09-22 21:04:38 +02:00
echo "ERROR: xmlstarlet is missing!"
2014-09-22 21:04:18 +02:00
exit 1
fi
2014-09-20 00:14:12 +02:00
#if ! mvn -f pom.xml versions:set -DnewVersion="${1}" -DallowSnapshots=true -DgenerateBackupPoms=false ; then
# echo "ERROR: Failed to change version in root!"
# exit 1
#fi
#if ! mvn -f versioning_eitchnet_pom.xml versions:set -DnewVersion="${1}" -DallowSnapshots=true -DgenerateBackupPoms=false ; then
# echo "ERROR: Failed to change version in submodule!"
# exit 1
#fi
2014-09-20 00:15:26 +02:00
old_version="$1"
new_version="$2"
2014-09-20 00:14:12 +02:00
2014-09-22 20:55:32 +02:00
declare SCRIPT_NAME="${0##*/}"
declare SCRIPT_DIR="$(cd ${0%/*} ; pwd)"
2014-09-22 21:04:18 +02:00
root="$(cd ${SCRIPT_DIR}/.. ; pwd)"
2014-09-22 21:52:49 +02:00
echo "old_version=${old_version}"
echo "new_version=${new_version}"
echo "root=${root}"
2014-09-20 00:14:12 +02:00
2014-09-20 00:28:42 +02:00
function fail() {
2014-09-20 12:27:20 +02:00
echo -e "\nERROR: Failed to set version of $1"
2014-09-20 00:28:42 +02:00
exit 1
}
2014-09-20 01:05:06 +02:00
2014-09-20 00:20:10 +02:00
cd "${root}"
2014-09-22 21:43:29 +02:00
if ! xmlstarlet ed --ps -L -N my=http://maven.apache.org/POM/4.0.0 -u "/my:project/my:version" -v ${new_version} pom.xml ; then
2014-09-20 00:28:42 +02:00
fail "${root}/pom.xml"
fi
2014-09-20 01:05:06 +02:00
if ! xmlstarlet ed --ps -L -N my=http://maven.apache.org/POM/4.0.0 -u "/my:project/my:parent/my:version" -v ${new_version} pom.xml 2>/dev/null ; then
2014-09-20 00:28:42 +02:00
fail "${root}/pom.xml"
fi
2014-09-20 01:05:06 +02:00
if ! xmlstarlet ed --ps -L -N my=http://maven.apache.org/POM/4.0.0 -u "/my:project/my:properties/my:strolch.version" -v ${new_version} pom.xml 2>/dev/null ; then
fail "${root}/pom.xml"
fi
if ! xmlstarlet ed --ps -L -N my=http://maven.apache.org/POM/4.0.0 -u "/my:project/my:properties/my:eitchnet.xmlpers.version" -v ${new_version} pom.xml 2>/dev/null ; then
2014-09-20 00:28:42 +02:00
fail "${root}/pom.xml"
fi
2014-09-20 01:05:06 +02:00
if ! xmlstarlet ed --ps -L -N my=http://maven.apache.org/POM/4.0.0 -u "/my:project/my:properties/my:eitchnet.utils.version" -v ${new_version} pom.xml 2>/dev/null ; then
fail "${root}/pom.xml"
fi
if ! xmlstarlet ed --ps -L -N my=http://maven.apache.org/POM/4.0.0 -u "/my:project/my:properties/my:eitchnet.privilege.version" -v ${new_version} pom.xml 2>/dev/null ; then
fail "${root}/pom.xml"
fi
2014-09-20 00:58:22 +02:00
cd "${root}"
2014-09-20 00:18:41 +02:00
for project in li.* ; do
2014-09-20 00:14:12 +02:00
cd "${root}/${project}"
2014-09-20 00:28:42 +02:00
if ! xmlstarlet ed --ps -L -N my=http://maven.apache.org/POM/4.0.0 -u "/my:project/my:version" -v ${new_version} pom.xml 2>/dev/null ; then
fail "${root}/${project}/pom.xml"
fi
if ! xmlstarlet ed --ps -L -N my=http://maven.apache.org/POM/4.0.0 -u "/my:project/my:properties/my:strolch.version/my:version" -v ${new_version} pom.xml 2>/dev/null ; then
fail "${root}/${project}/pom.xml"
fi
if ! xmlstarlet ed --ps -L -N my=http://maven.apache.org/POM/4.0.0 -u "/my:project/my:parent/my:version" -v ${new_version} pom.xml 2>/dev/null ; then
fail "${root}/${project}/pom.xml"
fi
2014-09-20 00:14:12 +02:00
done
2014-09-20 00:20:10 +02:00
2014-09-22 20:55:32 +02:00
2014-09-20 00:20:10 +02:00
cd "${root}"
2014-09-20 00:18:41 +02:00
for project in ch.* ; do
2014-09-20 00:14:12 +02:00
cd "${root}/${project}"
2014-09-20 00:28:42 +02:00
if ! xmlstarlet ed --ps -L -N my=http://maven.apache.org/POM/4.0.0 -u "/my:project/my:version" -v ${new_version} pom.xml 2>/dev/null ; then
fail "${root}/${project}/pom.xml"
fi
if ! xmlstarlet ed --ps -L -N my=http://maven.apache.org/POM/4.0.0 -u "/my:project/my:properties/my:strolch.version/my:version" -v ${new_version} pom.xml 2>/dev/null ; then
fail "${root}/${project}/pom.xml"
fi
if ! xmlstarlet ed --ps -L -N my=http://maven.apache.org/POM/4.0.0 -u "/my:project/my:parent/my:version" -v ${new_version} pom.xml 2>/dev/null ; then
fail "${root}/${project}/pom.xml"
fi
2014-09-20 00:14:12 +02:00
done
2014-09-19 22:36:59 +02:00
2014-09-22 20:55:32 +02:00
2014-09-20 00:20:10 +02:00
cd "${root}"
2014-09-22 22:13:50 +02:00
if ! sed -i.bck "s/${old_version}/${new_version}/" "li.strolch.dev/createBundle.sh" 2>/dev/null ; then
2014-09-20 00:28:42 +02:00
fail "${root}/li.strolch.dev/createBundle.sh"
fi
2014-09-20 12:27:20 +02:00
2014-09-22 20:55:32 +02:00
2014-09-20 12:27:20 +02:00
echo -e "\nINFO: Bumped version from ${old_version} to ${new_version}"
exit 0