@@ -9,10 +9,8 @@ usage() {
99 echo " '^v[\d]+.[\d]+(-rc[0-9]+)?$'"
1010 echo " "
1111 echo " example:"
12- echo " release.sh v2.1-rc0 # v2.1 release candidate 0 -> sets the project "
13- echo " # version to '1.1' and sets the tag"
14- echo " release.sh v2.1-rc1 # v2.1 release canditate 1 -> only sets the tag"
15- echo " release.sh v2.1 # v2.1 release -> sets the final tag"
12+ echo " release.sh v2.1-rc0 # v2.1 release candidate 0"
13+ echo " release.sh v2.1 # v2.1 release"
1614}
1715
1816VERSION=$1
@@ -22,14 +20,12 @@ if [ -z "$VERSION" ] ; then
2220 exit 1
2321fi
2422
25- new_ver=" "
26- rc=" "
23+ ver=" "
2724
2825re=' ^v([0-9]+\.[0-9]+)(-rc[0-9]+)?$'
2926if [[ " $VERSION " =~ $re ]]; then
3027 echo " Valid version $VERSION string"
31- new_ver=${BASH_REMATCH[1]}
32- rc=${BASH_REMATCH[2]}
28+ ver=${BASH_REMATCH[1]}${BASH_REMATCH[2]}
3329else
3430 echo " Invalid version string $VERSION "
3531 echo " "
5854 exit 1
5955fi
6056
57+ # update meson.build
58+ sed -i -e " 0,/[ \t]version: /s/\([ \t]version: \).*/\1\'$ver \',/" meson.build
59+ git add meson.build
60+ git commit -s -m " build: Update version to $VERSION "
61+
62+ # update documentation
6163./$doc_dir /update-docs.sh
6264git add $doc_dir
63- git commit -s -m " Regenerate all documentation" \
64- -m " Regenerate documentation for $VERSION release"
65-
66- # update meson.build
67- old_ver=$( sed -n " 0,/[ \t]\+version: /s/[ \t]\+version: '\([0-9]\+.[0-9]\+\)',$/\1/p" meson.build)
68- if [ " $old_ver " != " $new_ver " ]; then
69- # Only update project version once, that is either
70- # - for the first RC phase or
71- # - for the release when there was no RC
72- sed -i -e " 0,/[ \t]version: /s/\([ \t]version: \).*/\1\'$new_ver \',/" meson.build
73- git add meson.build
74- fi
65+ git commit -s -m " doc: Regenerate all docs for $VERSION "
7566
76- git commit -s -m " Release $VERSION "
7767git tag -s -m " Release $VERSION " " $VERSION "
7868git push --dry-run origin " $VERSION " ^{}:master tag " $VERSION "
7969
0 commit comments