1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
#!/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)
|