1
0
Fork 0
arangodb/Installation/release.sh

64 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
TAG=1
if [ "$1" == "--no-tag" ]; then
TAG=0
shift
fi
if [ "$#" -ne 1 ]; then
echo "usage: $0 <major>.<minor>.<patchlevel>"
exit 1
fi
VERSION="$1"
git tag | grep -q "^v$VERSION$"
if [ "$?" == 0 ]; then
echo "$0: version $VERSION already defined"
exit 1
fi
fgrep -q "v$VERSION" CHANGELOG
if [ "$?" != 0 ]; then
echo "$0: version $VERSION not defined in CHANGELOG"
exit 1
fi
echo "$VERSION" > VERSION
cat configure.ac \
| sed -e 's~AC_INIT(\[\(.*\)\], \[.*\..*\..*\], \[\(.*\)\], \[\(.*\)\], \[\(.*\)\])~AC_INIT([\1], ['$VERSION'], [\2], [\3], [\4\])~' \
> configure.ac.tmp \
|| exit 1
mv configure.ac.tmp configure.ac
./configure --enable-maintainer-mode || exit 1
make built-sources || exit 1
make add-maintainer || exit 1
make add-automagic || exit 1
make || exit 1
make examples || exit 1
make swagger || exit 1
git add -f Documentation/Examples/*.generated
case "$TAG" in
*-alpha*|*-beta*|devel)
git rm -f EXPERIMENTAL
;;
esac
if [ "$TAG" == "1" ]; then
git commit -m "release version $VERSION" -a
git push
git tag "v$VERSION"
git push --tags
fi