#!/bin/bash cd "`dirname "$0"`" # Read version number eval `awk '/Vc_VERSION_NUMBER 0x[0-9]+/ { h=$3 } END { major=strtonum(substr(h, 1, 4)) minor=strtonum("0x" substr(h, 5, 2)) patch=strtonum("0x" substr(h, 7, 2)) / 2 printf "oldVersion=\"%d.%d.%d\"\n", major, minor, patch printf "newVersion=\"%d.%d.%d\"\n", major, minor, patch + 1 }' Vc/version.h` echo "current version: $oldVersion" echo -n " new release: " read -e -i "$newVersion" newVersion versionString=$newVersion versionNumber=`echo $newVersion | awk '{ split($0, v, "."); printf "0x%02x%02x%02x", v[1], v[2], v[3] * 2 }'` # Update the version number sed -i \ -e "s/^PROJECT_NUMBER = .*\$/PROJECT_NUMBER = $versionString/" \ -e "s/^HTML_TIMESTAMP = YES/HTML_TIMESTAMP = NO/" \ doc/Doxyfile sed -i \ -e "s/Vc_VERSION_STRING \".*\"\$/Vc_VERSION_STRING \"$versionString\"/" \ -e "s/Vc_VERSION_NUMBER 0x.*\$/Vc_VERSION_NUMBER $versionNumber/" \ Vc/version.h cat Vc/version.h # Modify README.md to link to release docs ed README.md < ../"Vc-$versionString.tar.gz" # Create API docs tarball ./makeApidox.sh # Copy API docs to vcdevel.github.io git clone --depth 2 git@github.com:VcDevel/vcdevel.github.io && \ cp -a doc/html vcdevel.github.io/Vc-$versionString && \ cd vcdevel.github.io && \ git add Vc-$versionString && \ git commit -m "Add Vc $versionString release docs" && \ git push && \ cd .. && \ rm -r vcdevel.github.io # Create API docs tarball mv doc/html/*.qch "../Vc-${versionString}.qch" mv doc/html "Vc-docs-$versionString" && tar -czf "../Vc-docs-$versionString".tar.gz "Vc-docs-$versionString" rm -rf "Vc-docs-$versionString" # Get back to the state before the tag and fix up the version numbers afterwards git revert -n HEAD git reset HEAD README.md && git checkout README.md # Update the version number of the after-release code versionString="$versionString-dev" versionNumber=`echo $versionNumber | awk '{ printf "0x%06x", (strtonum($0) + 1) }'` sed -i \ -e "s/^PROJECT_NUMBER = .*\$/PROJECT_NUMBER = $versionString/" \ -e "s/^HTML_TIMESTAMP = YES/HTML_TIMESTAMP = NO/" \ doc/Doxyfile sed -i \ -e "s/Vc_VERSION_STRING \".*\"\$/Vc_VERSION_STRING \"$versionString\"/" \ -e "s/Vc_VERSION_NUMBER 0x.*\$/Vc_VERSION_NUMBER $versionNumber/" \ Vc/version.h git commit CMakeLists.txt doc/Doxyfile Vc/version.h -s -F- <