Add scripts for automating more parts of the release process
Update dates in various files before the release automatically. Also automatically update SHA-1 of the release files both before the release (to zero them) and afterwards (to use the correct values). Closes https://github.com/wxWidgets/wxWidgets/pull/443
This commit is contained in:
committed by
Vadim Zeitlin
parent
9b65905c4b
commit
45c33d2a17
58
build/tools/pre-release.sh
Executable file
58
build/tools/pre-release.sh
Executable file
@@ -0,0 +1,58 @@
|
||||
#!/bin/sh
|
||||
|
||||
# build a list of English locales
|
||||
declare -a locale_list=("en_GB" "en_US")
|
||||
# get available en locales (including .utf8 and .UTF-8 ones)
|
||||
declare -a en_locales=(`locale -a | grep '^C\|^POSIX\|^en_'`)
|
||||
locale_list+=("${en_locales[@]}")
|
||||
|
||||
found=0
|
||||
|
||||
# set an English locale to get the month name
|
||||
for i in "${locale_list[@]}"
|
||||
do
|
||||
LC_ALL="$i"
|
||||
|
||||
# check that setting the locale succeeded
|
||||
# if it failed then LC_TIME would be empty
|
||||
my_locale=`locale | grep LC_TIME | sed 's/.*"\(.*\)".*/\1/'`
|
||||
if [ "$my_locale" = "$i" ]
|
||||
then
|
||||
echo Locale set to $i
|
||||
found=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ $found = 0 ]
|
||||
then
|
||||
echo Could not set an appropriate locale
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Exit immediately if a command exits with a non-zero status.
|
||||
set -e
|
||||
|
||||
# get the month name and the year, see $(date +'%B %Y')
|
||||
# then use it in the relevant line (one before last)
|
||||
sed -i "/^The wxWidgets Team, / s/.*/The wxWidgets Team, $(date +'%B %Y')/" ./../../docs/readme.txt
|
||||
echo Updated date in docs/readme.txt
|
||||
|
||||
# reset checksums to a string of 40 0-s, see $(printf '%.40d' 0)
|
||||
sed -i -E "/^\s*[0-9a-f]{40}\s{1,2}wx/ s/(\s*)[0-9a-f]{40}(\s{1,2}wx)/\1$(printf '%.40d' 0)\2/" ./../../docs/release.md
|
||||
echo Reset checksums in docs/release.md
|
||||
|
||||
# get current date, see $(date +'%Y-%m-%d')
|
||||
# then use it in the line containing "X.X.X: (not released yet)"
|
||||
sed -i "/^[3-9]\.[0-9]\.[0-9]: (not released yet)$/ s/not released yet/released $(date +'%Y-%m-%d')/" ./../../docs/changes.txt
|
||||
echo Updated release date in docs/changes.txt
|
||||
|
||||
# get current date, see $(date +'%B %d, %Y')
|
||||
# then use it in the line starting with @date
|
||||
sed -i "/^@date / s/.*/@date $(date +'%B %d, %Y')/" ./../../docs/doxygen/mainpages/manual.h
|
||||
echo Updated date in docs/doxygen/mainpages/manual.h
|
||||
|
||||
# get current date, see $(date +'%B %d, %Y')
|
||||
# then use it in the first line
|
||||
sed -i "1s/^.* -- /$(date +'%B %d, %Y') -- /" ./../../docs/publicity/announce.txt
|
||||
echo Updated date in docs/publicity/announce.txt
|
Reference in New Issue
Block a user