mirror of
https://github.com/brl/mutter.git
synced 2024-11-21 07:30:42 -05:00
build: Check NEWS for version
I don't think this ever happened to me, but it can't hurt enforcing that every release has a corresponding NEWS entry. (The script has been copied from Polari, thus the metainfo support) Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1980>
This commit is contained in:
parent
70f2eb7bfa
commit
36d908f220
@ -538,6 +538,7 @@ subdir('po')
|
|||||||
subdir('doc/man')
|
subdir('doc/man')
|
||||||
|
|
||||||
meson.add_install_script('meson/meson-postinstall.sh')
|
meson.add_install_script('meson/meson-postinstall.sh')
|
||||||
|
meson.add_dist_script('meson/check-version.py', meson.project_version(), 'NEWS')
|
||||||
|
|
||||||
summary('prefix', prefix)
|
summary('prefix', prefix)
|
||||||
summary('libexecdir', libexecdir)
|
summary('libexecdir', libexecdir)
|
||||||
|
32
meson/check-version.py
Executable file
32
meson/check-version.py
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import os, sys
|
||||||
|
from pathlib import Path
|
||||||
|
import argparse, subprocess
|
||||||
|
|
||||||
|
def check_version(version, file, type='news'):
|
||||||
|
if type == 'news':
|
||||||
|
line = file.open().readline()
|
||||||
|
ok = line.startswith(version)
|
||||||
|
print("{}: {}".format(file, "OK" if ok else "FAILED"))
|
||||||
|
if not ok:
|
||||||
|
raise Exception("{} does not start with {}".format(file, version))
|
||||||
|
elif type == 'metainfo':
|
||||||
|
subprocess.run(['appstream-util', 'validate-version', file, version],
|
||||||
|
check=True)
|
||||||
|
else:
|
||||||
|
raise Exception('Not implemented')
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser(description='Check release version information.')
|
||||||
|
parser.add_argument('--type', choices=['metainfo','news'], default='news')
|
||||||
|
parser.add_argument('version', help='the version to check for')
|
||||||
|
parser.add_argument('files', nargs='+', help='files to check')
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
distroot = os.environ.get('MESON_DIST_ROOT', './')
|
||||||
|
|
||||||
|
try:
|
||||||
|
for file in args.files:
|
||||||
|
check_version(args.version, Path(distroot, file), args.type)
|
||||||
|
except:
|
||||||
|
sys.exit(1)
|
Loading…
Reference in New Issue
Block a user