26 os.chdir(os.path.join(os.path.dirname(sys.argv[0]),
'../../..'))
29 sys.path.insert(0, os.path.abspath(
'tools/buildgen/plugins'))
30 from expand_version
import Version
33 branch_name = subprocess.check_output(
'git rev-parse --abbrev-ref HEAD',
36 print(
'WARNING: not a git repository')
39 if branch_name
is not None:
40 m = re.match(
r'^release-([0-9]+)_([0-9]+)$', branch_name)
42 print(
'RELEASE branch')
44 check_version =
lambda version: (version.major ==
int(m.group(1))
and
45 version.minor ==
int(m.group(2)))
46 warning =
'Version key "%%s" value "%%s" should have a major version %s and minor version %s' % (
47 m.group(1), m.group(2))
48 elif re.match(
r'^debian/.*$', branch_name):
50 check_version =
lambda version:
True
53 check_version =
lambda version: version.tag ==
'dev'
54 warning =
'Version key "%s" value "%s" should have a -dev tag'
56 check_version =
lambda version:
True
58 with open(
'build_handwritten.yaml',
'r')
as f:
59 build_yaml = yaml.load(f.read())
61 settings = build_yaml[
'settings']
63 top_version =
Version(settings[
'version'])
66 print((warning % (
'version', top_version)))
68 for tag, value
in list(settings.items()):
69 if re.match(
r'^[a-z]+_version$', tag):
71 if tag !=
'core_version':
72 if value.major != top_version.major:
74 print((
'major version mismatch on %s: %d vs %d' %
75 (tag, value.major, top_version.major)))
76 if value.minor != top_version.minor:
78 print((
'minor version mismatch on %s: %d vs %d' %
79 (tag, value.minor, top_version.minor)))
82 print((warning % (tag, value)))