inc_release 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. #!/bin/sh
  2. ##############################################################################
  3. # Name: misc/scripts/inc_release
  4. # Purpose: increments the release version number in all files mentioned in
  5. # docs/tech/tn0011.txt
  6. # Created: 2007-01-07
  7. # Copyright: (c) 2007 Vadim Zeitlin <vadim@wxwindows.org>
  8. # Licence: wxWindows licence
  9. ##############################################################################
  10. error() {
  11. echo "$progname: $*" >&2
  12. }
  13. msg() {
  14. echo "$progname: $*"
  15. }
  16. msgn() {
  17. echo -n "$progname: $*"
  18. }
  19. msgc() {
  20. echo "$*"
  21. }
  22. run_sed() {
  23. filename=$1
  24. shift
  25. cmd=
  26. while [ $# -gt 0 ]; do
  27. cmd="$cmd-e \"$1\" "
  28. shift
  29. done
  30. msgn " processing $filename ... "
  31. eval "sed $cmd $filename" > $filename.$$
  32. if cmp -s $filename $filename.$$; then
  33. rm $filename.$$
  34. msgc "unchanged"
  35. else
  36. mv $filename.$$ $filename
  37. msgc "done"
  38. fi
  39. }
  40. progname=`basename $0`
  41. # we must be run from wx directory
  42. if [ ! -f wxwin.m4 ]; then
  43. error "must be ran from root wx directory"
  44. exit 1
  45. fi
  46. # exit on any error
  47. set -e
  48. # the primary source of information is wx/version.h
  49. ver_string=`grep '#define wxVERSION_STRING ' include/wx/version.h | sed 's/^.*"wxWidgets \(.*\)")/\1/'`
  50. ver_major=`echo $ver_string | sed 's/\([0-9]\{1,\}\)\..*/\1/'`
  51. ver_minor=`echo $ver_string | sed 's/.*\.\([0-9]\{1,\}\)\..*/\1/'`
  52. ver_release=`echo $ver_string | sed 's/.*\.\([0-9]\{1,\}\)$/\1/'`
  53. msg "Original version is $ver_major.$ver_minor.$ver_release"
  54. ver_release_new=$(($ver_release + 1))
  55. ver_string_new=$ver_major.$ver_minor.$ver_release_new
  56. msg "Updating version to $ver_string_new"
  57. ver_for_sed="$ver_major\.$ver_minor\.$ver_release"
  58. run_sed configure.in \
  59. "/^AC_INIT/s/$ver_for_sed/$ver_string_new/" \
  60. "s/^wx_release_number=$ver_release/wx_release_number=$ver_release_new/" \
  61. "s/^wx_subrelease_number=.*$/wx_subrelease_number=0/"
  62. run_sed build/osx/wxvers.xcconfig \
  63. "/DYLIB_.* = /s/$ver_for_sed/$ver_string_new/"
  64. run_sed build/tools/bld_chm_exe.bat \
  65. "/^SET WXW_VER=/s/$ver_for_sed/$ver_string_new/"
  66. run_sed docs/readme.txt \
  67. "/wxWidgets /s/$ver_for_sed/$ver_string_new/" \
  68. "/\//s/$ver_for_sed/$ver_string_new/" \
  69. "/naming: while/s/$ver_for_sed/$ver_string_new/"
  70. run_sed docs/doxygen/Doxyfile \
  71. "/^PROJECT_NUMBER/s/$ver_for_sed/$ver_string_new/"
  72. run_sed docs/doxygen/latexdocstart.inc \
  73. "/\\large Version/s/$ver_for_sed/$ver_string_new/"
  74. run_sed include/wx/version.h \
  75. "s/^\(#define wxRELEASE_NUMBER *\) $ver_release$/\1 $ver_release_new/" \
  76. "s/^\(#define wxSUBRELEASE_NUMBER *\) [0-9]\{1,\}$/\1 0/" \
  77. "/^#define wxVERSION_STRING/s/$ver_for_sed/$ver_string_new/"
  78. run_sed include/wx/osx/config_xcode.h \
  79. "/^#define PACKAGE/s/$ver_for_sed/$ver_string_new/"
  80. run_sed samples/Info.plist \
  81. "/version/s/$ver_for_sed/$ver_string_new/" \
  82. "/<string>/s/$ver_for_sed/$ver_string_new/"
  83. run_sed samples/minimal/Info_carbon.plist \
  84. "/<string>/s/$ver_for_sed/$ver_string_new/"
  85. run_sed samples/minimal/Info_cocoa.plist \
  86. "/<string>/s/$ver_for_sed/$ver_string_new/"
  87. run_sed samples/docview/Info.plist \
  88. "/versionon/s/$ver_for_sed/$ver_string_new/" \
  89. "/<string>/s/$ver_for_sed/$ver_string_new/"
  90. msg "Don't forget to change the C:R:A triplet in build/bakefiles/version.bkl now!"