Files
scripts/device-deps-regenerator/devices.py
LuK1337 073919298f device-deps-regenerator: Use f-strings everywhere
Change-Id: I1798f05ba258fd1cf32ccfa524ffcdc314d05595
2023-04-01 23:40:01 +02:00

52 lines
1.3 KiB
Python

import json
with open("out.json") as f:
mapping = json.load(f)
devices = {}
suffixes = {}
ignorelist = [
"sepolicy",
"devicesettings",
"common",
"atv",
"redbull",
"raviole",
"gs101",
"pantah",
"gs201",
]
def simplify_reverse_deps(repo, device):
# repo['branch'] = cm-14.1 or cm-14.1-caf or cm-14.1-sony
if "branch" in repo and repo["branch"].count("-") > 1: # get suffix
if repo["repo"] not in suffixes:
suffixes[repo["repo"]] = {}
suffixes[repo["repo"]][device] = "-" + repo["branch"].split("-", 2)[2]
if repo["repo"] not in mapping or len(mapping[repo["repo"]]) == 0:
return [repo["repo"]]
res = []
for i in mapping[repo["repo"]]:
res += simplify_reverse_deps(i, device)
res.append(repo["repo"])
return res
for repo in mapping:
if "device" not in repo or any(x in repo for x in ignorelist):
continue
codename = repo.split("_", maxsplit=3)[-1]
if codename in devices:
print(f"warning: dupe: {codename}")
devices[codename] = sorted(
list(set(simplify_reverse_deps({"repo": repo}, codename)))
)
with open("device_deps.json", "w") as f:
out = {"devices": devices, "suffixes": suffixes}
out = devices
json.dump(out, f, indent=4, sort_keys=True)
f.write("\n")