| OLD | NEW |
| (Empty) |
| 1 #!/usr/bin/env python | |
| 2 # | |
| 3 # Copyright 2012 Google Inc. All Rights Reserved. | |
| 4 | |
| 5 import os | |
| 6 import re | |
| 7 import shutil | |
| 8 import subprocess | |
| 9 import sys | |
| 10 import update_patched_files | |
| 11 import urllib | |
| 12 | |
| 13 | |
| 14 def GetLkgr(): | |
| 15 f = urllib.urlopen('http://chromium-status.appspot.com/lkgr') | |
| 16 try: | |
| 17 return int(f.read()) | |
| 18 finally: | |
| 19 f.close() | |
| 20 | |
| 21 | |
| 22 def ReadDepsVars(path): | |
| 23 exec_globals = { | |
| 24 'Var': lambda name: exec_globals['vars'][name], | |
| 25 } | |
| 26 execfile(path, exec_globals) | |
| 27 return exec_globals['vars'] | |
| 28 | |
| 29 | |
| 30 def GetRevision(path, name): | |
| 31 return int(ReadDepsVars(path)[name]) | |
| 32 | |
| 33 | |
| 34 def main(argv): | |
| 35 CHROMIUM_DEPS_FILE = 'DEPS' | |
| 36 DARTIUM_DEPS_FILE = '../dartium.deps/DEPS' | |
| 37 CHROMIUM_DEPS_COPY = '../dartium.deps/DEPS.chromium' | |
| 38 REV_PATTERN = '"chromium_revision": "(\d+)",' | |
| 39 | |
| 40 deps = file(DARTIUM_DEPS_FILE).read() | |
| 41 current_chrome_rev = int(re.search(REV_PATTERN, deps).group(1)) | |
| 42 | |
| 43 if len(argv) < 2: | |
| 44 next_chrome_rev = GetLkgr() | |
| 45 else: | |
| 46 next_chrome_rev = int(argv[1]) | |
| 47 | |
| 48 print 'Chromium roll: %d -> %d' % (current_chrome_rev, next_chrome_rev) | |
| 49 | |
| 50 if current_chrome_rev == next_chrome_rev: | |
| 51 return | |
| 52 | |
| 53 # Update patched files. | |
| 54 os.chdir('..') | |
| 55 update_patched_files.update_overridden_files(current_chrome_rev, next_chrome_r
ev) | |
| 56 os.chdir('src') | |
| 57 | |
| 58 # Update DEPS. | |
| 59 subprocess.check_call(['svn', 'up', '-r', str(current_chrome_rev), CHROMIUM_DE
PS_FILE]) | |
| 60 current_webkit_rev = GetRevision(CHROMIUM_DEPS_FILE, 'webkit_revision') | |
| 61 subprocess.check_call(['svn', 'up', '-r', str(next_chrome_rev), CHROMIUM_DEPS_
FILE]) | |
| 62 next_webkit_rev = GetRevision(CHROMIUM_DEPS_FILE, 'webkit_revision') | |
| 63 | |
| 64 shutil.copyfile(CHROMIUM_DEPS_FILE, CHROMIUM_DEPS_COPY) | |
| 65 deps = deps.replace('"chromium_revision": "%d",' % current_chrome_rev, '"chrom
ium_revision": "%d",' % next_chrome_rev) | |
| 66 file(DARTIUM_DEPS_FILE, 'w').write(deps) | |
| 67 | |
| 68 # Do webkit roll. | |
| 69 WEBKIT_DIR = 'third_party/WebKit' | |
| 70 subprocess.check_call(['git', 'svn', 'rebase'], cwd=WEBKIT_DIR) | |
| 71 print 'WebKit roll: %d -> %d' % (current_webkit_rev, next_webkit_rev) | |
| 72 | |
| 73 if current_webkit_rev < next_webkit_rev: | |
| 74 subprocess.check_call(['bash', | |
| 75 '../../dartium_tools/roll_webkit.sh', | |
| 76 str(current_webkit_rev), str(next_webkit_rev)], cwd=WEBKIT_DIR) | |
| 77 | |
| 78 # Update the checkout. | |
| 79 subprocess.check_call(['gclient', 'sync', '-j17']) | |
| 80 | |
| 81 | |
| 82 | |
| 83 if __name__ == '__main__': | |
| 84 sys.exit(main(sys.argv)) | |
| OLD | NEW |