Files
scripts/device-deps-regenerator/devices.py
razorloves 17c408e625 device-deps-regenerator: End json file with newline
Change-Id: Iabee7120e189c303566c3c3a30dbd11e6d871e02
2021-05-22 01:41:57 -05:00

38 lines
1.2 KiB
Python

import json
with open('out.json') as f:
mapping = json.load(f)
devices = {}
suffixes = {}
blacklist = ['sepolicy', 'devicesettings', 'common', 'atv']
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 blacklist):
continue
codename = repo.split('_', maxsplit=3)[-1]
if codename in devices:
print("warning: dupe: %s"%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')