blob: deb0cb266662e3b10f4addf6d770fd7a511916d7 [file] [log] [blame]
#!/usr/bin/env python3
"""Merges multiple modules_mapping.json files into a single file."""
import argparse
import json
from pathlib import Path
def merge_modules_mappings(input_files: list[Path], output_file: Path) -> None:
"""Merge multiple modules_mapping.json files into one.
Args:
input_files: List of paths to input JSON files to merge
output_file: Path where the merged output should be written
"""
merged_mapping = {}
for input_file in input_files:
mapping = json.loads(input_file.read_text())
# Merge the mappings, with later files overwriting earlier ones
# if there are conflicts
merged_mapping.update(mapping)
output_file.write_text(json.dumps(merged_mapping))
if __name__ == "__main__":
parser = argparse.ArgumentParser(
description="Merge multiple modules_mapping.json files"
)
parser.add_argument(
"--output",
required=True,
type=Path,
help="Output file path for merged mapping",
)
parser.add_argument(
"--inputs",
required=True,
nargs="+",
type=Path,
help="Input JSON files to merge",
)
args = parser.parse_args()
merge_modules_mappings(args.inputs, args.output)