aboutsummaryrefslogtreecommitdiffstats
path: root/dev-scripts
diff options
context:
space:
mode:
authorSergio Martins <smartins@kde.org>2018-03-03 15:54:49 +0000
committerSergio Martins <smartins@kde.org>2018-03-03 17:12:14 +0000
commit2459bd24114d71258b29ec29b1976d147fd803d8 (patch)
tree580ea6a1870a8e9d46f5e7d84a66f2b6d99df2e5 /dev-scripts
parenta47b96124602324f3ee777ef97eadd84e6279a82 (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-xdev-scripts/generate.py16
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