#!/bin/sh ############################################################################## # Name: misc/scripts/inc_release # Purpose: increments the release version number in all files mentioned in # docs/contributing/about-version-numbers.md # Created: 2007-01-07 # Copyright: (c) 2007 Vadim Zeitlin # Licence: wxWindows licence ############################################################################## error() { echo "$progname: $*" >&2 } msg() { echo "$progname: $*" } msgn() { echo -n "$progname: $*" } msgc() { echo "$*" } run_sed() { filename=$1 shift cmd= while [ $# -gt 0 ]; do cmd="$cmd-e \"$1\" " shift done msgn " processing $filename ... " eval "sed $cmd $filename" > $filename.$$ if cmp -s $filename $filename.$$; then rm $filename.$$ msgc "unchanged" else mv $filename.$$ $filename msgc "done" fi } progname=`basename $0` # we must be run from wx directory if [ ! -f wxwin.m4 ]; then error "must be ran from root wx directory" exit 1 fi # exit on any error set -e # the primary source of information is wx/version.h ver_string=`grep '#define wxVERSION_STRING ' include/wx/version.h | sed 's/^.*"wxWidgets \(.*\)")/\1/'` ver_major=`echo $ver_string | sed 's/\([0-9]\{1,\}\)\..*/\1/'` ver_minor=`echo $ver_string | sed 's/.*\.\([0-9]\{1,\}\)\..*/\1/'` ver_release=`echo $ver_string | sed 's/.*\.\([0-9]\{1,\}\)$/\1/'` msg "Original version is $ver_major.$ver_minor.$ver_release" ver_release_new=$(($ver_release + 1)) ver_string_new=$ver_major.$ver_minor.$ver_release_new msg "Updating version to $ver_string_new" ver_for_sed="$ver_major\.$ver_minor\.$ver_release" run_sed configure.in \ "/^AC_INIT/s/$ver_for_sed/$ver_string_new/" \ "s/^wx_release_number=$ver_release/wx_release_number=$ver_release_new/" \ "s/^wx_subrelease_number=.*$/wx_subrelease_number=0/" run_sed build/osx/wxvers.xcconfig \ "/DYLIB_.* = /s/$ver_for_sed/$ver_string_new/" run_sed docs/readme.txt \ "/wxWidgets /s/$ver_for_sed/$ver_string_new/" \ "/\//s/$ver_for_sed/$ver_string_new/" \ "/naming: while/s/$ver_for_sed/$ver_string_new/" run_sed docs/msw/install.txt \ "/^wxWidgets\/releases\//s/$ver_for_sed/$ver_string_new/" run_sed docs/doxygen/Doxyfile \ "/^PROJECT_NUMBER/s/$ver_for_sed/$ver_string_new/" run_sed include/wx/version.h \ "s/^\(#define wxRELEASE_NUMBER *\) $ver_release$/\1 $ver_release_new/" \ "s/^\(#define wxSUBRELEASE_NUMBER *\) [0-9]\{1,\}$/\1 0/" \ "/^#define wxVERSION_STRING/s/$ver_for_sed/$ver_string_new/" run_sed include/wx/osx/config_xcode.h \ "/^#define PACKAGE/s/$ver_for_sed/$ver_string_new/" run_sed samples/Info.plist \ "/version/s/$ver_for_sed/$ver_string_new/" \ "//s/$ver_for_sed/$ver_string_new/" run_sed samples/minimal/Info_cocoa.plist \ "//s/$ver_for_sed/$ver_string_new/" run_sed samples/docview/Info.plist \ "/versionon/s/$ver_for_sed/$ver_string_new/" \ "//s/$ver_for_sed/$ver_string_new/" run_sed build/msw/wx_setup.props \ "//s/\($ver_major$ver_minor\)$ver_release/\1$ver_release_new/" run_sed build/tools/msvs/getversion.bat \ "/wxRELEASE_NUMBER=/s/$ver_release/$ver_release_new/" msg "Don't forget to change the C:R:A triplet in build/bakefiles/version.bkl now!"