blob: 7312e958ca08381e03669b6374a94e7d8d2dffcf [file] [log] [blame]
#!/usr/bin/env python
"""
sort-module.py
Sort input strings based on the module name in them such that
the module dependencies are resolved. Example:
$ sort-module.py a/regress/b a/svec/b a/array_ops/b
> a/svec/b a/regress/b a/array_opts/b
Note this script assumes to be run at the exact current directory,
so you need change directory first to run it.
"""
import configyml
portspecs = configyml.get_modules("../config")
def find_order(path):
for i, moduleinfo in enumerate(portspecs['modules']):
modname = moduleinfo['name']
if modname in path:
return i
# return as the last if not found.
return len(portspecs['modules'])
def main(args):
print " ".join(sorted(args, key = find_order))
if __name__ == '__main__':
import sys
main(sys.argv[1:])