diff options
author | 2015-08-18 08:35:45 -0700 | |
---|---|---|
committer | 2015-08-18 08:35:45 -0700 | |
commit | bf3dde2716e26aebd789df2e7d41f5435ac928c4 (patch) | |
tree | a949eb223675eb5a3c0e81f805f2d29d74d6efe8 /tools/BUILD_simulator.py | |
parent | 0c263fa9f80b9a20b6f6161a2e9a263c2c586a9b (diff) |
Clean up BUILD_simulator.py
Review URL: https://codereview.chromium.org/1298813002
Diffstat (limited to 'tools/BUILD_simulator.py')
-rwxr-xr-x[-rw-r--r--] | tools/BUILD_simulator.py | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/tools/BUILD_simulator.py b/tools/BUILD_simulator.py index 65e6b7d11e..46d3cd79e7 100644..100755 --- a/tools/BUILD_simulator.py +++ b/tools/BUILD_simulator.py @@ -10,33 +10,34 @@ # We start by adding some symbols to our namespace that BUILD.public calls. -# We don't really care about this, so just no-op it. -def exports_files(files): +import glob +import pprint + +def noop(*args, **kwargs): pass # Simulates BUILD file glob(). -def glob(include, exclude=()): - from glob import glob as python_glob - +def BUILD_glob(include, exclude=()): files = set() for pattern in include: - files.update(python_glob(pattern)) + files.update(glob.glob(pattern)) for pattern in exclude: - files.difference_update(python_glob(pattern)) + files.difference_update(glob.glob(pattern)) return list(sorted(files)) -# We've put enough into our environment now to treat BUILD.public as if it were -# Python code. This pulls its variable definitions (SRCS, HDRS, DEFINES, etc.) -# into our local namespace. -execfile('BUILD.public') +# With these namespaces, we can treat BUILD.public as if it were +# Python code. This pulls its variable definitions (SRCS, HDRS, +# DEFINES, etc.) into local_names. +global_names = { + 'exports_files': noop, + 'glob': BUILD_glob, +} +local_names = {} +execfile('BUILD.public', global_names, local_names) -# Pretty-print every variable whose name is COMPLETELY_UPPERCASE, -# i.e. every variable from BUILD.public. This is obviously quite heuristic. -from pprint import pprint with open('tools/BUILD.public.expected', 'w') as out: print >>out, "This file is auto-generated by tools/BUILD_simulator.py." print >>out, "It expands BUILD.public to make it easy to see changes." - for name, value in sorted(locals().items()): - if name.isupper(): - print >>out, name, '= ', - pprint(value, out) + for name, value in sorted(local_names.items()): + print >>out, name, '= ', + pprint.pprint(value, out) |