mirror of
https://github.com/boostorg/build.git
synced 2026-02-15 13:02:11 +00:00
81 lines
2.6 KiB
Python
81 lines
2.6 KiB
Python
#!/usr/bin/python
|
|
|
|
# This script is used to bump version of bjam. It takes a single argument, e.g
|
|
#
|
|
# ./bump_version.py 3.1.9
|
|
#
|
|
# and updates all necessary files. For the time being, it's assumes presense
|
|
# of 'perl' executable and Debian-specific 'dch' executable.
|
|
#
|
|
|
|
|
|
import os
|
|
import os.path
|
|
import re
|
|
import string
|
|
import sys
|
|
|
|
srcdir = os.path.abspath(os.path.dirname(__file__ ))
|
|
docdir = os.path.abspath(os.path.join(srcdir,"..","doc"))
|
|
|
|
def edit(file,replacements):
|
|
print " '%s'..." %(file)
|
|
text = open(file,'r').read()
|
|
while len(replacements) > 0:
|
|
#~ print " '%s' ==> '%s'" % (replacements[0],replacements[1])
|
|
text = re.compile(replacements[0],re.M).subn(replacements[1],text)[0]
|
|
replacements = replacements[2:]
|
|
#~ print text
|
|
open(file,'w').write(text)
|
|
|
|
def make_edits(version):
|
|
edit(os.path.join(srcdir,"boost-jam.spec"), [
|
|
'^Version:.*$','Version: %s' % string.join(version, "."),
|
|
])
|
|
|
|
edit(os.path.join(srcdir,"build.jam"), [
|
|
'^_VERSION_ = .* ;$','_VERSION_ = %s %s %s ;' % (version[0], version[1], version[2]),
|
|
])
|
|
|
|
edit(os.path.join(docdir,"bjam.qbk"), [
|
|
'\[version.*\]','[version: %s]' % string.join(version, '.'),
|
|
'\[def :version:.*\]','[def :version: %s]' % string.join(version, '.'),
|
|
])
|
|
|
|
edit(os.path.join(srcdir,"patchlevel.h"), [
|
|
'^#define VERSION_MAJOR .*$',
|
|
'#define VERSION_MAJOR %s' % (version[0]),
|
|
'^#define VERSION_MINOR .*$',
|
|
'#define VERSION_MINOR %s' % (version[1]),
|
|
'^#define VERSION_PATCH .*$',
|
|
'#define VERSION_PATCH %s' % (version[2]),
|
|
'^#define VERSION_MAJOR_SYM .*$',
|
|
'#define VERSION_MAJOR_SYM "0%s"' % (version[0]),
|
|
'^#define VERSION_MINOR_SYM .*$',
|
|
'#define VERSION_MINOR_SYM "%s"' % (version[1]),
|
|
'^#define VERSION_PATCH_SYM .*$',
|
|
'#define VERSION_PATCH_SYM "%s"' % (version[2]),
|
|
'^#define VERSION .*$',
|
|
'#define VERSION "%s"' % string.join(version, '.'),
|
|
'^#define JAMVERSYM .*$',
|
|
'#define JAMVERSYM "JAMVERSION=%s.%s"' % (version[0],version[1]),
|
|
])
|
|
|
|
def main():
|
|
|
|
if len(sys.argv) < 2:
|
|
print "Expect new version as argument"
|
|
sys.exit(1)
|
|
|
|
version = string.split(sys.argv[1], ".")
|
|
print "Setting version to", version
|
|
make_edits(version)
|
|
|
|
if __name__ == '__main__':
|
|
main()
|
|
|
|
#~ Copyright 2006 Rene Rivera.
|
|
#~ Copyright 2005-2006 Vladimir Prus.
|
|
#~ Distributed under the Boost Software License, Version 1.0.
|
|
#~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|