157028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com#!/usr/bin/python 257028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 3df8224662e615bd36cf8bebae8e58c017201f998sgk@chromium.org# Copyright (c) 2009 Google Inc. All rights reserved. 4df8224662e615bd36cf8bebae8e58c017201f998sgk@chromium.org# Use of this source code is governed by a BSD-style license that can be 5df8224662e615bd36cf8bebae8e58c017201f998sgk@chromium.org# found in the LICENSE file. 657028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 757028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.comimport os.path 857028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.comimport shutil 957028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.comimport sys 1057028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 1157028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 1257028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.comgyps = [ 13a54384dfdb2cacc542c1dcf30a72f548ba80d0adthomasvl@chromium.org 'app/app.gyp', 1457028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 'base/base.gyp', 158d02884d1515a0c3cd7b85fe9508dd3d136cb0b3mark@chromium.org 'build/temp_gyp/googleurl.gyp', 163fde2488abc530fb8710d9e81cb8b19807572a84mark@chromium.org 'build/all.gyp', 1735d23def8cd397d452a491a0ac7aa8bc1720c7d9mark@chromium.org 'build/common.gypi', 18eeda268b0dcd55c0333740df3a8511b950063bf6bradnelson@google.com 'build/external_code.gypi', 1957028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 'chrome/test/security_tests/security_tests.gyp', 20ecefc6f1ed2da8765151ed024b9a59021b94f2bbmark@chromium.org 'chrome/third_party/hunspell/hunspell.gyp', 21319d3c023a3deceaf03a4b8e51ebeb58c4e2a934mark@chromium.org 'chrome/chrome.gyp', 22ab773da890e47ba36f26964b86b18cddb9475508mark@chromium.org 'media/media.gyp', 2357028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 'net/net.gyp', 24ecefc6f1ed2da8765151ed024b9a59021b94f2bbmark@chromium.org 'printing/printing.gyp', 2557028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 'sdch/sdch.gyp', 2657028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 'skia/skia.gyp', 27a54384dfdb2cacc542c1dcf30a72f548ba80d0adthomasvl@chromium.org 'testing/gmock.gyp', 2857028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 'testing/gtest.gyp', 2957028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 'third_party/bzip2/bzip2.gyp', 3057028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 'third_party/icu38/icu38.gyp', 3157028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 'third_party/libevent/libevent.gyp', 3257028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 'third_party/libjpeg/libjpeg.gyp', 3357028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 'third_party/libpng/libpng.gyp', 3406eed23395b2c2b14d9382c88bcc797ac7c434c5mark@chromium.org 'third_party/libxml/libxml.gyp', 350e25ba5409181515ead0800bc1c8ba39c150f08dbradnelson@google.com 'third_party/libxslt/libxslt.gyp', 36a54384dfdb2cacc542c1dcf30a72f548ba80d0adthomasvl@chromium.org 'third_party/lzma_sdk/lzma_sdk.gyp', 3757028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 'third_party/modp_b64/modp_b64.gyp', 387ad16d026cdadc19c2ac11224a5e801dd4529f7dbradnelson@google.com 'third_party/npapi/npapi.gyp', 39e46823aa00cc87e3b05d2799b71babca752962d4mark@chromium.org 'third_party/sqlite/sqlite.gyp', 4057028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 'third_party/zlib/zlib.gyp', 41a54384dfdb2cacc542c1dcf30a72f548ba80d0adthomasvl@chromium.org 'v8/tools/gyp/v8.gyp', 427ad16d026cdadc19c2ac11224a5e801dd4529f7dbradnelson@google.com 'webkit/activex_shim/activex_shim.gyp', 4343722c1275b97717bcc6d643b19ff7af26cf1eebbradnelson@google.com 'webkit/activex_shim_dll/activex_shim_dll.gyp', 441c0743d1fa47781cd00ea01626e7192909c91c5cmark@chromium.org 'webkit/build/action_csspropertynames.py', 451c0743d1fa47781cd00ea01626e7192909c91c5cmark@chromium.org 'webkit/build/action_cssvaluekeywords.py', 461c0743d1fa47781cd00ea01626e7192909c91c5cmark@chromium.org 'webkit/build/action_jsconfig.py', 471c0743d1fa47781cd00ea01626e7192909c91c5cmark@chromium.org 'webkit/build/action_makenames.py', 481c0743d1fa47781cd00ea01626e7192909c91c5cmark@chromium.org 'webkit/build/action_maketokenizer.py', 491c0743d1fa47781cd00ea01626e7192909c91c5cmark@chromium.org 'webkit/build/action_useragentstylesheets.py', 501c0743d1fa47781cd00ea01626e7192909c91c5cmark@chromium.org 'webkit/build/rule_binding.py', 511c0743d1fa47781cd00ea01626e7192909c91c5cmark@chromium.org 'webkit/build/rule_bison.py', 521c0743d1fa47781cd00ea01626e7192909c91c5cmark@chromium.org 'webkit/build/rule_gperf.py', 538b4944e416d8646dce9639a729c91e0212a4b304mark@chromium.org 'webkit/tools/test_shell/test_shell.gyp', 54166455c3ec39d9de6717f2389f33d28536b0a89bbradnelson@google.com 'webkit/webkit.gyp', 5557028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com] 5657028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 5757028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 5857028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.comdef Main(argv): 5957028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com if len(argv) != 3 or argv[1] not in ['push', 'pull']: 6057028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com print 'Usage: %s push/pull PATH_TO_CHROME' % argv[0] 6157028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com return 1 6257028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 6357028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com path_to_chrome = argv[2] 6457028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 6557028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com for g in gyps: 6657028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com chrome_file = os.path.join(path_to_chrome, g) 679353fdef0b7573fa1eae4a53b02ac3474665e57emark@chromium.org local_file = os.path.join(os.path.dirname(argv[0]), os.path.split(g)[1]) 6857028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com if argv[1] == 'push': 6957028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com print 'Copying %s to %s' % (local_file, chrome_file) 7057028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com shutil.copyfile(local_file, chrome_file) 7157028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com elif argv[1] == 'pull': 7257028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com print 'Copying %s to %s' % (chrome_file, local_file) 7357028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com shutil.copyfile(chrome_file, local_file) 7457028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com else: 7557028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com assert False 7657028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 7757028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com return 0 7857028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 7957028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com 8057028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.comif __name__ == '__main__': 8157028880d87c6cea89119f8c5cb7bca4b91373d6bradnelson@google.com sys.exit(Main(sys.argv)) 82