diff options
Diffstat (limited to 'build')
-rw-r--r-- | build/android/gyp/util/build_utils.py | 11 | ||||
-rwxr-xr-x | build/android/gyp/write_ordered_libraries.py | 3 |
2 files changed, 12 insertions, 2 deletions
diff --git a/build/android/gyp/util/build_utils.py b/build/android/gyp/util/build_utils.py index 1fac120..b8b9462 100644 --- a/build/android/gyp/util/build_utils.py +++ b/build/android/gyp/util/build_utils.py @@ -61,6 +61,17 @@ def CheckOptions(options, parser, required=[]): if not getattr(options, option_name): parser.error('--%s is required' % option_name.replace('_', '-')) +def WriteJson(obj, path, only_if_changed=False): + old_dump = None + if os.path.exists(path): + with open(path, 'r') as oldfile: + old_dump = oldfile.read() + + new_dump = json.dumps(obj) + + if not only_if_changed or old_dump != new_dump: + with open(path, 'w') as outfile: + outfile.write(new_dump) def ReadJson(path): with open(path, 'r') as jsonfile: diff --git a/build/android/gyp/write_ordered_libraries.py b/build/android/gyp/write_ordered_libraries.py index 338090f..dfa7d20 100755 --- a/build/android/gyp/write_ordered_libraries.py +++ b/build/android/gyp/write_ordered_libraries.py @@ -107,8 +107,7 @@ def main(argv): libraries = GetSortedTransitiveDependencies(libraries) - with open(_options.output, 'w') as outfile: - json.dump(libraries, outfile) + build_utils.WriteJson(libraries, _options.output, only_if_changed=True) if _options.stamp: build_utils.Touch(_options.stamp) |