3 # Find the highest version number used in any component, increment it by one, and update
4 # all components to use the new version number. Then generate a commit and a tag.
6 echo -e '\033[2J\033[H'
7 echo -e '\033[34m\033[1m'
8 echo -e '╔═══════════════════════════════════════════════╗'
9 echo -e '║ UPDATE-O-VERSION-O-MATIC FOR CITADEL ║'
10 echo -e '╚═══════════════════════════════════════════════╝'
13 libcitadel_version=`grep LIBCITADEL_VERSION_NUMBER libcitadel/lib/libcitadel.h | sed s/"[^0-9.]"/""/g`
14 citserver_version=`grep REV_LEVEL citadel/citadel.h | sed s/"[^0-9.]"/""/g`
15 webcit_version=`grep CLIENT_VERSION webcit/webcit.h | sed s/"[^0-9.]"/""/g`
17 NEW_VERSION=${libcitadel_version}
18 if [ ${citserver_version} -gt ${NEW_VERSION} ] ; then
19 NEW_VERSION=${citserver_version}
21 if [ ${webcit_version} -gt ${NEW_VERSION} ] ; then
22 NEW_VERSION=${webcit_version}
24 NEW_VERSION=`expr ${NEW_VERSION} + 1`
26 echo -e '\033[33m\033[1mlibcitadel \033[32m was version \033[33m'$libcitadel_version'\033[0m'
27 echo -e '\033[33m\033[1mcitserver \033[32m was version \033[33m'$citserver_version'\033[0m'
28 echo -e '\033[33m\033[1mwebcit \033[32m was version \033[33m'$webcit_version'\033[0m'
29 echo -e '\033[33m\033[1mnew release\033[32m will be version \033[33m'$NEW_VERSION'\033[0m'
32 echo -e '\033[37m\033[1mUpdating header files to reflect the new version number\033[0m'
35 # Edit libcitadel.h to make it the new version
37 -i s/\#define.\*LIBCITADEL_VERSION_NUMBER.\*${libcitadel_version}/\#define\ LIBCITADEL_VERSION_NUMBER\ ${NEW_VERSION}/g \
38 libcitadel/lib/libcitadel.h
40 # Edit citadel.h to make it the new version
42 -i s/\#define.\*REV_LEVEL.\*${citserver_version}/\#define\ REV_LEVEL\ ${NEW_VERSION}/g \
45 # Edit webcit.h to make it the new version
47 -i s/\#define.\*CLIENT_VERSION.\*${webcit_version}/\#define\ CLIENT_VERSION\ ${NEW_VERSION}/g \
50 libcitadel_version=`grep LIBCITADEL_VERSION_NUMBER libcitadel/lib/libcitadel.h | sed s/"[^0-9.]"/""/g`
51 citserver_version=`grep REV_LEVEL citadel/citadel.h | sed s/"[^0-9.]"/""/g`
52 webcit_version=`grep CLIENT_VERSION webcit/webcit.h | sed s/"[^0-9.]"/""/g`
54 echo -e '\033[33m\033[1mlibcitadel \033[32m is now version \033[33m'$libcitadel_version'\033[0m'
55 echo -e '\033[33m\033[1mcitserver \033[32m is now version \033[33m'$citserver_version'\033[0m'
56 echo -e '\033[33m\033[1mwebcit \033[32m is now version \033[33m'$webcit_version'\033[0m'
58 echo $NEW_VERSION >release_version.txt
59 git add release_version.txt
61 echo -e '\033[37m\033[1mUpdating release_version.txt to indicate version '${NEW_VERSION}'\033[0m'
62 echo -e '\033[37m\033[1mGenerating a commit\033[0m'
64 git commit -a -m "Release version ${NEW_VERSION} generated by do-release.sh"
65 git tag -a v${NEW_VERSION} -m "Version ${NEW_VERSION} release"
68 echo -e '\033[37m\033[1mFinished. Remember to git push --tags\033[0m'