From 16fb8470096222ceee7ebd9aaf09536ca0c6a15b Mon Sep 17 00:00:00 2001 From: Haojian Wu Date: Sat, 30 May 2015 09:40:07 +0800 Subject: [PATCH] Add script to setup crashpad repository. Crashpad use `gclient` to maintain its third_party libraries. This patch switches `gclient` instead of `git submodule` to align crashpad way. --- .gitignore | 1 + .gitmodules | 3 --- script/bootstrap.py | 15 +++++++++++++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index b18292e..701451f 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ /vendor/brightray/vendor/download/ /vendor/python_26/ /vendor/npm/ +/vendor/.gclient node_modules/ *.xcodeproj *.swp diff --git a/.gitmodules b/.gitmodules index 1af8329..2a1f087 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,6 +13,3 @@ [submodule "vendor/native_mate"] path = vendor/native_mate url = https://github.com/zcbenz/native-mate.git -[submodule "vendor/crashpad"] - path = vendor/crashpad - url = https://github.com/hokein/crashpad.git diff --git a/script/bootstrap.py b/script/bootstrap.py index f67a790..88dfaad 100755 --- a/script/bootstrap.py +++ b/script/bootstrap.py @@ -12,6 +12,7 @@ from lib.util import execute_stdout, get_atom_shell_version, scoped_cwd SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) VENDOR_DIR = os.path.join(SOURCE_ROOT, 'vendor') PYTHON_26_URL = 'https://chromium.googlesource.com/chromium/deps/python_26' +CRACKPAD_URL = 'https://github.com/hokein/crashpad.git' NPM = 'npm.cmd' if sys.platform in ['win32', 'cygwin'] else 'npm' @@ -27,6 +28,8 @@ def main(): update_win32_python() update_submodules() update_node_modules('.') + if sys.platform == 'darwin': + update_crashpad() bootstrap_brightray(args.dev, args.url, args.target_arch) create_chrome_version_h() @@ -92,6 +95,18 @@ def update_node_modules(dirname, env=None): execute_stdout([NPM, 'install'], env) +def update_crashpad(): + gclient = os.path.join(VENDOR_DIR, 'depot_tools', 'gclient.py') + args = [ + 'config', + '--unmanaged', + CRACKPAD_URL, + ] + with scoped_cwd(VENDOR_DIR): + execute_stdout([sys.executable, gclient] + args) + execute_stdout([sys.executable, gclient] + ['sync']) + + def update_electron_modules(dirname, target_arch): env = os.environ.copy() env['npm_config_arch'] = target_arch -- 2.7.4