diff options
author | Harry Youd <harry@harryyoud.co.uk> | 2017-05-19 20:40:14 +0100 |
---|---|---|
committer | Harry Youd <harry@harryyoud.co.uk> | 2017-05-20 13:47:20 +0000 |
commit | 398cf1046e65d190578784876e200c29ca7855f9 (patch) | |
tree | 8ac255dc661319d762b343a55635f2f8f6c11b26 /device-deps-regenerator/device2kernel.py | |
parent | f0ab2a92ae9bad668c58509b6ad2437625fabf95 (diff) | |
download | scripts-398cf1046e65d190578784876e200c29ca7855f9.tar.gz scripts-398cf1046e65d190578784876e200c29ca7855f9.tar.bz2 scripts-398cf1046e65d190578784876e200c29ca7855f9.zip |
Change to dashes to keep inline with maintainers folder
Change-Id: Id49a330106377997ebbeb2d56ed4c623c9f1e978
Diffstat (limited to 'device-deps-regenerator/device2kernel.py')
-rw-r--r-- | device-deps-regenerator/device2kernel.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/device-deps-regenerator/device2kernel.py b/device-deps-regenerator/device2kernel.py new file mode 100644 index 0000000..35d2f03 --- /dev/null +++ b/device-deps-regenerator/device2kernel.py @@ -0,0 +1,46 @@ +import json + +# Define device repos that have repos that depend on them, +# otherwise the script will remove these on the assumption +# they are common repos +COMMON_DEVICE = [ + 'android_device_asus_flo', + 'android_device_asus_grouper', + 'android_device_google_marlin', + 'android_device_samsung_espressowifi', + 'android_device_samsung_n1awifi', + 'android_device_samsung_t0lte', +] + +with open('out.json') as f: + mapping = json.load(f) + +kernels = {} + +reverse_deps = {} + +for device in mapping: + deps = mapping[device] + if device not in reverse_deps: + reverse_deps[device] = [] + for repo in deps: + if repo['repo'] not in reverse_deps: + reverse_deps[repo['repo']] = [] + reverse_deps[repo['repo']].append(device) + +def simplify_reverse_deps(repo): + if len(reverse_deps[repo]) == 0 and '-common' not in repo: + return {repo,} + res = set() + for i in reverse_deps[repo]: + res.update(simplify_reverse_deps(i)) + if repo in COMMON_DEVICE: + res.add(repo) + return res + +for repo in reverse_deps: + if 'kernel' in repo: + kernels[repo] = sorted(list(simplify_reverse_deps(repo))) + +with open('kernels.json', 'w') as f: + json.dump(kernels, f, indent=4, sort_keys=True) |