annotations: dump all the structure as JSON if no argument is specified
authorAndrea Righi <andrea.righi@canonical.com>
Mon, 4 Dec 2023 11:02:43 +0000 (12:02 +0100)
committerAndrea Righi <andrea.righi@canonical.com>
Mon, 11 Dec 2023 10:00:49 +0000 (11:00 +0100)
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
kconfig/run.py

index 27431d5cc442938edb5c378d9af4ff9982c39b51..743ae7989cae3e720c04200dc28c9fc8e37c1479 100644 (file)
@@ -129,8 +129,8 @@ _ARGPARSER = make_parser()
 
 
 def print_result(config, res):
-    if res is not None and config not in res:
-        res = {config or "*": res}
+    if res is not None and config is not None and config not in res:
+        res = {config: res}
     print(json.dumps(res, indent=4))
 
 
@@ -139,6 +139,14 @@ def do_query(args):
         arg_fail(_ARGPARSER, "error: --flavour requires --arch")
     a = Annotation(args.file)
     res = a.search_config(config=args.config, arch=args.arch, flavour=args.flavour)
+    # If no arguments are specified dump the whole annotations structure
+    if args.config is None and args.arch is None and args.flavour is None:
+        res = {
+            "arch": a.arch,
+            "flavour": a.flavour,
+            "flavour_dep": a.flavour_dep,
+            "config": res,
+        }
     print_result(args.config, res)