diff options
author | Sergio Martins <smartins@kde.org> | 2018-03-03 15:54:49 +0000 |
---|---|---|
committer | Sergio Martins <smartins@kde.org> | 2018-03-03 17:12:14 +0000 |
commit | 2459bd24114d71258b29ec29b1976d147fd803d8 (patch) | |
tree | 580ea6a1870a8e9d46f5e7d84a66f2b6d99df2e5 /dev-scripts | |
parent | a47b96124602324f3ee777ef97eadd84e6279a82 (diff) |
generate.py: Allow to specify which checks to generate
This is useful to decrease build times while developing a new check
, as touching Utils*h classes will trigger long rebuilds.
By doing ./generate.py --generate <my-check>
only my check will be built.
Diffstat (limited to 'dev-scripts')
-rwxr-xr-x | dev-scripts/generate.py | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/dev-scripts/generate.py b/dev-scripts/generate.py index c3097c99..0746f963 100755 --- a/dev-scripts/generate.py +++ b/dev-scripts/generate.py @@ -29,6 +29,7 @@ from shutil import copyfile CHECKS_FILENAME = 'checks.json' _checks = [] +_specified_check_names = [] _available_categories = [] def checkSortKey(check): @@ -178,7 +179,8 @@ def load_json(filename): checks = decodedJson['checks'] - global _available_categories, _checks + global _available_categories, _checks, _specified_check_names + if 'available_categories' in decodedJson: _available_categories = decodedJson['available_categories'] @@ -197,6 +199,9 @@ def load_json(filename): print("Missing mandatory field while processing " + str(check)) return False + if _specified_check_names and c.name not in _specified_check_names: + continue + if 'class_name' in check: c.class_name = check['class_name'] @@ -440,13 +445,18 @@ if not os.path.exists(complete_json_filename): print("File doesn't exist: " + complete_json_filename) exit(1) -if not load_json(complete_json_filename): - exit(1) + parser = argparse.ArgumentParser() parser.add_argument("--generate", action='store_true', help="Generate src/Checks.h, CheckSources.cmake and README.md") +parser.add_argument("checks", nargs='*', help="Optional check names to build. Useful to speedup builds during development, by building only the specified checks. Default is to build all checks.") args = parser.parse_args() +_specified_check_names = args.checks + +if not load_json(complete_json_filename): + exit(1) + if args.generate: generated = False generated = generate_register_checks(_checks) or generated |