Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3462)

Unified Diff: chrome/browser/resources/chromeos/chromevox/tools/generate_deps.py

Issue 1129893004: Avoid clobbering generated files if the content hasn't changed. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tools/gypv8sh.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/resources/chromeos/chromevox/tools/generate_deps.py
diff --git a/chrome/browser/resources/chromeos/chromevox/tools/generate_deps.py b/chrome/browser/resources/chromeos/chromevox/tools/generate_deps.py
index 42cd6134ced89c381ffa81ffd09f686fd01046cb..4468b7f928ceedf3ce9413d8e8d0d1103599c81e 100755
--- a/chrome/browser/resources/chromeos/chromevox/tools/generate_deps.py
+++ b/chrome/browser/resources/chromeos/chromevox/tools/generate_deps.py
@@ -23,6 +23,16 @@ sys.path.insert(0, os.path.join(
import source
+def _HasSameContent(filename, content):
+ '''Returns true if the given file is readable and has the given content.'''
+ try:
+ with open(filename) as file:
+ return file.read() == content
+ except:
+ # Ignore all errors and fall back on a safe bet.
+ return False
+
+
def main():
parser = optparse.OptionParser(description=__doc__)
parser.add_option('-w', '--rewrite_prefix', action='append', default=[],
@@ -42,15 +52,17 @@ def main():
path_rewriter = PathRewriter(options.prefix_map)
+ content = ''
+ for path in args:
+ js_deps = source.Source(source.GetFileContents(path))
+ path = path_rewriter.RewritePath(path)
+ content += 'goog.addDependency(\'%s\', %s, %s);\n' % (
+ path, sorted(js_deps.provides), sorted(js_deps.requires))
+ if _HasSameContent(options.output_file, content):
+ return
# Write the generated deps file.
with open(options.output_file, 'w') as output:
- for path in args:
- js_deps = source.Source(source.GetFileContents(path))
- path = path_rewriter.RewritePath(path)
- line = 'goog.addDependency(\'%s\', %s, %s);\n' % (
- path, sorted(js_deps.provides), sorted(js_deps.requires))
- output.write(line)
-
+ output.write(content)
if __name__ == '__main__':
main()
« no previous file with comments | « no previous file | tools/gypv8sh.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698