Index: build/config/mac/prepare_framework_version.py |
diff --git a/build/config/mac/prepare_framework_version.py b/build/config/mac/prepare_framework_version.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5e8a53f20ab7e6fda29012aa871455f75ae99e1a |
--- /dev/null |
+++ b/build/config/mac/prepare_framework_version.py |
@@ -0,0 +1,42 @@ |
+# Copyright 2016 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+import os |
+import shutil |
+import sys |
+ |
+# Ensures that the current version matches the last-produced version, which is |
+# stored in the version_file. If it does not, then the framework_root_dir is |
+# obliterated. |
+# Usage: python prepare_framework_version.py out/obj/version_file \ |
+# out/Framework.framework \ |
+# 'A' |
+ |
+def PrepareFrameworkVersion(version_file, framework_root_dir, version): |
+ # Test what the current framework version is. Stop if it is up-to-date. |
+ try: |
+ with open(version_file, 'r') as f: |
+ current_version = f.read() |
+ if current_version == version: |
+ return |
+ except IOError: |
+ pass |
+ |
+ # The framework version has changed, so clobber the framework. |
+ if os.path.exists(framework_root_dir): |
+ shutil.rmtree(framework_root_dir) |
+ |
+ # Write out the new framework version file, making sure its containing |
+ # directory exists. |
+ dirname = os.path.dirname(version_file) |
+ if not os.path.isdir(dirname): |
+ os.makedirs(dirname, 0700) |
+ |
+ with open(version_file, 'w+') as f: |
+ f.write(version) |
+ |
+ |
+if __name__ == '__main__': |
+ PrepareFrameworkVersion(sys.argv[1], sys.argv[2], sys.argv[3]) |
+ sys.exit(0) |