[llvm] [Runtimes] Merge 'compile_commands.json' files from runtimes build (PR #116303)

Michael Kruse via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 17 02:16:34 PST 2024


================
@@ -0,0 +1,48 @@
+#!/usr/bin/env python
+"""A command line utility to merge two JSON files.
+
+This is a python program that merges two JSON files into a single one. The
+intended use for this is to combine generated 'compile_commands.json' files
+created by CMake when performing an LLVM runtime build.
+"""
+
+import argparse
+import json
+import sys
+
+
+def main():
+    parser = argparse.ArgumentParser(description=__doc__)
+    parser.add_argument(
+        "-o",
+        type=str,
+        help="The output file to write JSON data to",
+        default=None,
+        nargs="?",
+    )
+    parser.add_argument(
+        "json_files", type=str, nargs="+", help="Input JSON files to merge"
+    )
+    args = parser.parse_args()
+
+    merged_data = []
+
+    for json_file in args.json_files:
+        try:
+            with open(json_file, "r") as f:
+                data = json.load(f)
+                merged_data.extend(data)
+        except (IOError, json.JSONDecodeError) as e:
+            print("Failed to parse {json_file}: {e}", file=sys.stderr)
----------------
Meinersbur wrote:

```suggestion
         print(f"Failed to parse {json_file}: {e}", file=sys.stderr)
```

https://github.com/llvm/llvm-project/pull/116303


More information about the llvm-commits mailing list