libv8 4.5.95.5 → 5.0.71.48.0beta2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +45 -19
- data/CHANGELOG.md +14 -0
- data/README.md +30 -15
- data/Rakefile +7 -6
- data/ext/libv8/arch.rb +5 -4
- data/ext/libv8/builder.rb +25 -19
- data/ext/libv8/compiler.rb +6 -33
- data/ext/libv8/location.rb +7 -8
- data/lib/libv8/version.rb +1 -1
- data/libv8.gemspec +1 -1
- data/patches/build-standalone-static-library.patch +14 -0
- data/patches/disable-building-tests.patch +48 -10
- data/patches/fPIC-for-static.patch +3 -3
- data/release/x86-linux/Vagrantfile +8 -4
- data/release/x86_64-freebsd10/Vagrantfile +86 -0
- data/release/x86_64-linux/Vagrantfile +8 -4
- data/spec/compiler_spec.rb +5 -29
- data/spec/support/compiler_helpers.rb +2 -4
- data/vendor/depot_tools/.gitignore +15 -3
- data/vendor/depot_tools/OWNERS +2 -2
- data/vendor/depot_tools/PRESUBMIT.py +4 -2
- data/vendor/depot_tools/WATCHLISTS +6 -0
- data/vendor/depot_tools/apply_issue.py +70 -38
- data/vendor/depot_tools/bootstrap/win/README.md +66 -0
- data/vendor/depot_tools/bootstrap/win/git-bash.template.sh +12 -0
- data/vendor/depot_tools/bootstrap/win/git.template.bat +5 -0
- data/vendor/depot_tools/bootstrap/win/profile.d.python.sh +20 -0
- data/vendor/depot_tools/bootstrap/win/win_tools.bat +96 -45
- data/vendor/depot_tools/breakpad.py +6 -141
- data/vendor/depot_tools/buildbucket.py +45 -31
- data/vendor/depot_tools/cbuildbot +1 -0
- data/vendor/depot_tools/checkout.py +2 -1
- data/vendor/depot_tools/chrome_set_ver +1 -0
- data/vendor/depot_tools/cit +8 -0
- data/vendor/depot_tools/cit.bat +11 -0
- data/vendor/depot_tools/cit.py +120 -0
- data/vendor/depot_tools/codereview.settings +0 -2
- data/vendor/depot_tools/commit_queue +1 -5
- data/vendor/depot_tools/commit_queue.bat +1 -4
- data/vendor/depot_tools/commit_queue.py +78 -29
- data/vendor/depot_tools/cpplint.py +22 -14
- data/vendor/depot_tools/cros +1 -0
- data/vendor/depot_tools/cros_sdk +1 -0
- data/vendor/depot_tools/depot-tools-auth.py +3 -3
- data/vendor/depot_tools/download_from_google_storage.py +101 -21
- data/vendor/depot_tools/drover.py +2 -3
- data/vendor/depot_tools/fetch.py +31 -27
- data/vendor/depot_tools/{recipes → fetch_configs}/android.py +4 -4
- data/vendor/depot_tools/fetch_configs/breakpad.py +45 -0
- data/vendor/depot_tools/{recipes → fetch_configs}/chromium.py +3 -3
- data/vendor/depot_tools/{recipes/recipe_util.py → fetch_configs/config_util.py} +3 -3
- data/vendor/depot_tools/fetch_configs/crashpad.py +41 -0
- data/vendor/depot_tools/{recipes → fetch_configs}/dart.py +3 -3
- data/vendor/depot_tools/{recipes/pdfium.py → fetch_configs/dartino.py} +14 -13
- data/vendor/depot_tools/{recipes → fetch_configs}/dartium.py +3 -3
- data/vendor/depot_tools/{recipes → fetch_configs}/depot_tools.py +3 -3
- data/vendor/depot_tools/fetch_configs/gyp.py +42 -0
- data/vendor/depot_tools/{recipes → fetch_configs}/infra.py +3 -3
- data/vendor/depot_tools/{recipes → fetch_configs}/infra_internal.py +3 -3
- data/vendor/depot_tools/{recipes → fetch_configs}/ios.py +4 -4
- data/vendor/depot_tools/{recipes → fetch_configs}/mojo.py +3 -3
- data/vendor/depot_tools/{recipes → fetch_configs}/nacl.py +3 -3
- data/vendor/depot_tools/{recipes → fetch_configs}/naclports.py +3 -3
- data/vendor/depot_tools/fetch_configs/pdfium.py +40 -0
- data/vendor/depot_tools/{recipes → fetch_configs}/skia.py +3 -3
- data/vendor/depot_tools/{recipes → fetch_configs}/skia_buildbot.py +3 -3
- data/vendor/depot_tools/fetch_configs/syzygy.py +41 -0
- data/vendor/depot_tools/{recipes → fetch_configs}/v8.py +3 -3
- data/vendor/depot_tools/{recipes → fetch_configs}/webrtc.py +3 -3
- data/vendor/depot_tools/{recipes → fetch_configs}/webrtc_android.py +4 -4
- data/vendor/depot_tools/{recipes → fetch_configs}/webrtc_ios.py +4 -4
- data/vendor/depot_tools/fix_encoding.py +6 -6
- data/vendor/depot_tools/gcl.py +11 -21
- data/vendor/depot_tools/gclient +10 -0
- data/vendor/depot_tools/gclient-new-workdir.py +7 -38
- data/vendor/depot_tools/gclient.bat +2 -2
- data/vendor/depot_tools/gclient.py +85 -65
- data/vendor/depot_tools/gclient_scm.py +83 -10
- data/vendor/depot_tools/gclient_utils.py +5 -1
- data/vendor/depot_tools/gerrit_util.py +243 -26
- data/vendor/depot_tools/git-auto-svn +1 -1
- data/vendor/depot_tools/git-cache +1 -1
- data/vendor/depot_tools/git-cherry-pick-upload +1 -1
- data/vendor/depot_tools/git-cl +1 -1
- data/vendor/depot_tools/git-drover +6 -0
- data/vendor/depot_tools/git-find-releases +6 -0
- data/vendor/depot_tools/git-footers +1 -1
- data/vendor/depot_tools/git-freeze +1 -1
- data/vendor/depot_tools/git-gs +1 -1
- data/vendor/depot_tools/git-hyper-blame +6 -0
- data/vendor/depot_tools/git-map +1 -1
- data/vendor/depot_tools/git-map-branches +1 -1
- data/vendor/depot_tools/git-mark-merge-base +1 -1
- data/vendor/depot_tools/git-nav-downstream +1 -1
- data/vendor/depot_tools/git-new-branch +1 -1
- data/vendor/depot_tools/git-number +1 -1
- data/vendor/depot_tools/git-rebase-update +1 -1
- data/vendor/depot_tools/git-rename-branch +1 -1
- data/vendor/depot_tools/git-reparent-branch +1 -1
- data/vendor/depot_tools/git-retry +1 -1
- data/vendor/depot_tools/git-squash-branch +1 -1
- data/vendor/depot_tools/git-thaw +1 -1
- data/vendor/depot_tools/git-try +1 -1
- data/vendor/depot_tools/git-upstream-diff +1 -1
- data/vendor/depot_tools/git_auto_svn.py +24 -6
- data/vendor/depot_tools/git_cache.py +74 -27
- data/vendor/depot_tools/git_cl.py +2118 -747
- data/vendor/depot_tools/git_common.py +100 -6
- data/vendor/depot_tools/git_dates.py +62 -0
- data/vendor/depot_tools/git_drover.py +424 -0
- data/vendor/depot_tools/git_find_releases.py +65 -0
- data/vendor/depot_tools/git_footers.py +42 -0
- data/vendor/depot_tools/git_hyper_blame.py +391 -0
- data/vendor/depot_tools/git_map_branches.py +8 -6
- data/vendor/depot_tools/git_new_branch.py +6 -1
- data/vendor/depot_tools/git_rebase_update.py +56 -16
- data/vendor/depot_tools/git_reparent_branch.py +13 -0
- data/vendor/depot_tools/git_try.py +0 -2
- data/vendor/depot_tools/gsutil.py +51 -20
- data/vendor/depot_tools/infra/config/OWNERS +3 -1
- data/vendor/depot_tools/infra/config/cq.cfg +7 -3
- data/vendor/depot_tools/infra/config/recipes.cfg +9 -0
- data/vendor/depot_tools/luci_hacks/README.md +35 -0
- data/vendor/depot_tools/{bootstrap/virtualenv/tests → luci_hacks}/__init__.py +0 -0
- data/vendor/depot_tools/luci_hacks/luci_recipe_run.isolate +12 -0
- data/vendor/depot_tools/luci_hacks/luci_recipe_run.py +81 -0
- data/vendor/depot_tools/luci_hacks/trigger_luci_job.py +128 -0
- data/vendor/depot_tools/man/html/depot_tools.html +9 -1
- data/vendor/depot_tools/man/html/depot_tools_tutorial.html +4 -4
- data/vendor/depot_tools/man/html/git-drover.html +191 -35
- data/vendor/depot_tools/man/html/git-hyper-blame.html +878 -0
- data/vendor/depot_tools/man/html/git-rebase-update.html +9 -4
- data/vendor/depot_tools/man/man1/git-drover.1 +189 -36
- data/vendor/depot_tools/man/man1/git-hyper-blame.1 +128 -0
- data/vendor/depot_tools/man/man1/git-rebase-update.1 +8 -6
- data/vendor/depot_tools/man/man7/depot_tools.7 +9 -4
- data/vendor/depot_tools/man/src/_git-hyper-blame_desc.helper.txt +1 -0
- data/vendor/depot_tools/man/src/common_demo_functions.sh +5 -0
- data/vendor/depot_tools/man/src/depot_tools_tutorial.txt +1 -1
- data/vendor/depot_tools/man/src/git-drover.demo.1.sh +11 -16
- data/vendor/depot_tools/man/src/git-drover.demo.3.sh +27 -0
- data/vendor/depot_tools/man/src/git-drover.demo.4.sh +39 -0
- data/vendor/depot_tools/man/src/git-drover.txt +49 -3
- data/vendor/depot_tools/man/src/git-hyper-blame.demo.1.sh +3 -0
- data/vendor/depot_tools/man/src/git-hyper-blame.demo.2.sh +4 -0
- data/vendor/depot_tools/man/src/git-hyper-blame.demo.common.sh +57 -0
- data/vendor/depot_tools/man/src/git-hyper-blame.txt +85 -0
- data/vendor/depot_tools/man/src/git-rebase-update.txt +5 -1
- data/vendor/depot_tools/my_activity.py +6 -21
- data/vendor/depot_tools/ninja +2 -2
- data/vendor/depot_tools/ninja-linux32 +0 -0
- data/vendor/depot_tools/ninja-linux64 +0 -0
- data/vendor/depot_tools/ninja-mac +0 -0
- data/vendor/depot_tools/ninja.exe +0 -0
- data/vendor/depot_tools/presubmit_canned_checks.py +83 -69
- data/vendor/depot_tools/presubmit_support.py +126 -42
- data/vendor/depot_tools/pylint.py +5 -1
- data/vendor/depot_tools/python_runner.sh +55 -0
- data/vendor/depot_tools/recipe_modules/bot_update/__init__.py +32 -0
- data/vendor/depot_tools/recipe_modules/bot_update/api.py +283 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.expected/basic.json +56 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.expected/basic_output_manifest.json +63 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.expected/basic_with_branch_heads.json +57 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.expected/clobber.json +44 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.expected/forced.json +57 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.expected/gerrit_no_reset.json +44 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.expected/no_shallow.json +44 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.expected/off.json +43 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.expected/reset_root_solution_revision.json +43 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.expected/svn_mode.json +59 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.expected/trychange.json +58 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.expected/trychange_oauth2.json +60 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob.json +58 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_fail.json +60 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_fail_patch.json +81 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_fail_patch_download.json +81 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_gerrit_angle.json +49 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_v8.json +61 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_v8_head_by_default.json +51 -0
- data/vendor/depot_tools/recipe_modules/bot_update/example.py +172 -0
- data/vendor/depot_tools/{bootstrap/virtualenv/virtualenv_support → recipe_modules/bot_update/resources}/__init__.py +0 -0
- data/vendor/depot_tools/recipe_modules/bot_update/resources/bot_update.py +1764 -0
- data/vendor/depot_tools/recipe_modules/bot_update/test_api.py +86 -0
- data/vendor/depot_tools/recipe_modules/depot_tools/__init__.py +3 -0
- data/vendor/depot_tools/recipe_modules/depot_tools/api.py +27 -0
- data/vendor/depot_tools/recipe_modules/gclient/__init__.py +10 -0
- data/vendor/depot_tools/recipe_modules/gclient/api.py +378 -0
- data/vendor/depot_tools/recipe_modules/gclient/config.py +671 -0
- data/vendor/depot_tools/recipe_modules/gclient/example.expected/basic.json +172 -0
- data/vendor/depot_tools/recipe_modules/gclient/example.expected/revision.json +174 -0
- data/vendor/depot_tools/recipe_modules/gclient/example.expected/tryserver.json +185 -0
- data/vendor/depot_tools/recipe_modules/gclient/example.py +100 -0
- data/vendor/depot_tools/recipe_modules/gclient/test_api.py +37 -0
- data/vendor/depot_tools/recipe_modules/git/__init__.py +9 -0
- data/vendor/depot_tools/recipe_modules/git/api.py +377 -0
- data/vendor/depot_tools/recipe_modules/git/example.expected/basic.json +177 -0
- data/vendor/depot_tools/recipe_modules/git/example.expected/basic_branch.json +177 -0
- data/vendor/depot_tools/recipe_modules/git/example.expected/basic_file_name.json +179 -0
- data/vendor/depot_tools/recipe_modules/git/example.expected/basic_hash.json +176 -0
- data/vendor/depot_tools/recipe_modules/git/example.expected/basic_ref.json +177 -0
- data/vendor/depot_tools/recipe_modules/git/example.expected/basic_submodule_update_force.json +178 -0
- data/vendor/depot_tools/recipe_modules/git/example.expected/can_fail_build.json +153 -0
- data/vendor/depot_tools/recipe_modules/git/example.expected/cannot_fail_build.json +181 -0
- data/vendor/depot_tools/recipe_modules/git/example.expected/cat-file_test.json +199 -0
- data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_delta.json +250 -0
- data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_failed.json +181 -0
- data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_with_bad_output.json +182 -0
- data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_with_bad_output_fails_build.json +102 -0
- data/vendor/depot_tools/recipe_modules/git/example.expected/curl_trace_file.json +181 -0
- data/vendor/depot_tools/recipe_modules/git/example.expected/platform_win.json +186 -0
- data/vendor/depot_tools/recipe_modules/git/example.expected/rebase_failed.json +179 -0
- data/vendor/depot_tools/recipe_modules/git/example.expected/remote_not_origin.json +179 -0
- data/vendor/depot_tools/recipe_modules/git/example.expected/set_got_revision.json +178 -0
- data/vendor/depot_tools/recipe_modules/git/example.py +147 -0
- data/vendor/depot_tools/recipe_modules/git/resources/git_setup.py +61 -0
- data/vendor/depot_tools/recipe_modules/git/test_api.py +18 -0
- data/vendor/depot_tools/recipe_modules/git_cl/__init__.py +4 -0
- data/vendor/depot_tools/recipe_modules/git_cl/api.py +25 -0
- data/vendor/depot_tools/recipe_modules/git_cl/config.py +22 -0
- data/vendor/depot_tools/recipe_modules/git_cl/example.expected/basic.json +66 -0
- data/vendor/depot_tools/recipe_modules/git_cl/example.py +41 -0
- data/vendor/depot_tools/recipe_modules/infra_paths/__init__.py +4 -0
- data/vendor/depot_tools/recipe_modules/infra_paths/api.py +12 -0
- data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/basic.json +14 -0
- data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_buildbot_linux.json +14 -0
- data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_buildbot_mac.json +14 -0
- data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_buildbot_win.json +14 -0
- data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_kitchen_linux.json +14 -0
- data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_kitchen_mac.json +14 -0
- data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_kitchen_win.json +14 -0
- data/vendor/depot_tools/recipe_modules/infra_paths/example.py +28 -0
- data/vendor/depot_tools/recipe_modules/infra_paths/path_config.py +45 -0
- data/vendor/depot_tools/recipe_modules/presubmit/__init__.py +4 -0
- data/vendor/depot_tools/recipe_modules/presubmit/api.py +20 -0
- data/vendor/depot_tools/recipe_modules/presubmit/example.expected/basic.json +18 -0
- data/vendor/depot_tools/recipe_modules/presubmit/example.py +15 -0
- data/vendor/depot_tools/recipe_modules/rietveld/__init__.py +5 -0
- data/vendor/depot_tools/recipe_modules/rietveld/api.py +94 -0
- data/vendor/depot_tools/recipe_modules/rietveld/example.expected/basic.json +30 -0
- data/vendor/depot_tools/recipe_modules/rietveld/example.py +24 -0
- data/vendor/depot_tools/recipe_modules/tryserver/__init__.py +15 -0
- data/vendor/depot_tools/recipe_modules/tryserver/api.py +280 -0
- data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_git_patch.json +104 -0
- data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_rietveld_patch.json +58 -0
- data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_rietveld_patch_new.json +58 -0
- data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_svn_patch.json +68 -0
- data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_wrong_patch.json +43 -0
- data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_wrong_patch_new.json +43 -0
- data/vendor/depot_tools/recipe_modules/tryserver/example.py +53 -0
- data/vendor/depot_tools/recipe_modules/tryserver/test_api.py +7 -0
- data/vendor/depot_tools/recipes.py +136 -0
- data/vendor/depot_tools/repo +1 -1
- data/vendor/depot_tools/rietveld.py +46 -15
- data/vendor/depot_tools/roll_dep.py +97 -36
- data/vendor/depot_tools/scm.py +3 -3
- data/vendor/depot_tools/setup_color.py +94 -0
- data/vendor/depot_tools/subprocess2.py +10 -1
- data/vendor/depot_tools/third_party/cq_client/OWNERS +0 -1
- data/vendor/depot_tools/third_party/cq_client/README.md +47 -9
- data/vendor/depot_tools/third_party/cq_client/cq.pb.go +617 -0
- data/vendor/depot_tools/third_party/cq_client/cq.proto +75 -17
- data/vendor/depot_tools/third_party/cq_client/cq_pb2.py +168 -41
- data/vendor/depot_tools/third_party/cq_client/testdata/cq_gerrit.cfg +55 -0
- data/vendor/depot_tools/third_party/cq_client/{test/cq_example.cfg → testdata/cq_rietveld.cfg} +14 -6
- data/vendor/depot_tools/third_party/fancy_urllib/README +5 -4
- data/vendor/depot_tools/third_party/fancy_urllib/__init__.py +114 -52
- data/vendor/depot_tools/third_party/protobuf26/README.chromium +9 -6
- data/vendor/depot_tools/third_party/upload.py +17 -31
- data/vendor/depot_tools/trychange.py +0 -2
- data/vendor/depot_tools/update_depot_tools +29 -11
- data/vendor/depot_tools/update_depot_tools.bat +4 -9
- data/vendor/depot_tools/upload_to_google_storage.py +42 -5
- data/vendor/depot_tools/win_toolchain/OWNERS +1 -0
- data/vendor/depot_tools/win_toolchain/get_toolchain_if_necessary.py +227 -52
- data/vendor/depot_tools/win_toolchain/package_from_installed.py +203 -88
- metadata +161 -81
- data/patches/arm/do-not-imply-vfp3-and-armv7.patch +0 -16
- data/patches/arm/do-not-use-vfp2.patch +0 -13
- data/patches/clang51/no-unused-variable.patch +0 -12
- data/vendor/depot_tools/bootstrap/.gitignore +0 -2
- data/vendor/depot_tools/bootstrap/bootstrap.py +0 -234
- data/vendor/depot_tools/bootstrap/deps.pyl +0 -15
- data/vendor/depot_tools/bootstrap/util.py +0 -87
- data/vendor/depot_tools/bootstrap/virtualenv/.gitignore +0 -10
- data/vendor/depot_tools/bootstrap/virtualenv/.travis.yml +0 -28
- data/vendor/depot_tools/bootstrap/virtualenv/AUTHORS.txt +0 -91
- data/vendor/depot_tools/bootstrap/virtualenv/CONTRIBUTING.rst +0 -21
- data/vendor/depot_tools/bootstrap/virtualenv/LICENSE.txt +0 -22
- data/vendor/depot_tools/bootstrap/virtualenv/MANIFEST.in +0 -11
- data/vendor/depot_tools/bootstrap/virtualenv/README.rst +0 -10
- data/vendor/depot_tools/bootstrap/virtualenv/bin/rebuild-script.py +0 -71
- data/vendor/depot_tools/bootstrap/virtualenv/docs/changes.rst +0 -747
- data/vendor/depot_tools/bootstrap/virtualenv/docs/conf.py +0 -149
- data/vendor/depot_tools/bootstrap/virtualenv/docs/development.rst +0 -61
- data/vendor/depot_tools/bootstrap/virtualenv/docs/index.rst +0 -137
- data/vendor/depot_tools/bootstrap/virtualenv/docs/installation.rst +0 -58
- data/vendor/depot_tools/bootstrap/virtualenv/docs/make.bat +0 -170
- data/vendor/depot_tools/bootstrap/virtualenv/docs/reference.rst +0 -256
- data/vendor/depot_tools/bootstrap/virtualenv/docs/userguide.rst +0 -249
- data/vendor/depot_tools/bootstrap/virtualenv/scripts/virtualenv +0 -3
- data/vendor/depot_tools/bootstrap/virtualenv/setup.py +0 -111
- data/vendor/depot_tools/bootstrap/virtualenv/tests/test_activate.sh +0 -94
- data/vendor/depot_tools/bootstrap/virtualenv/tests/test_activate_expected.output +0 -2
- data/vendor/depot_tools/bootstrap/virtualenv/tests/test_virtualenv.py +0 -139
- data/vendor/depot_tools/bootstrap/virtualenv/tests/tox.ini +0 -12
- data/vendor/depot_tools/bootstrap/virtualenv/tox.ini +0 -17
- data/vendor/depot_tools/bootstrap/virtualenv/virtualenv.py +0 -2367
- data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/activate.bat +0 -26
- data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/activate.csh +0 -42
- data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/activate.fish +0 -74
- data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/activate.ps1 +0 -150
- data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/activate.sh +0 -80
- data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/activate_this.py +0 -34
- data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/deactivate.bat +0 -20
- data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/distutils-init.py +0 -101
- data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/distutils.cfg +0 -6
- data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/site.py +0 -758
- data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_support/pip-6.0-py2.py3-none-any.whl +0 -0
- data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_support/setuptools-8.2.1-py2.py3-none-any.whl +0 -0
- data/vendor/depot_tools/bootstrap/win/README.google +0 -16
- data/vendor/depot_tools/cbuildbot +0 -96
- data/vendor/depot_tools/chrome_set_ver +0 -96
- data/vendor/depot_tools/cros +0 -96
- data/vendor/depot_tools/cros_sdk +0 -96
- data/vendor/depot_tools/git-cl-upload-hook +0 -52
- data/vendor/depot_tools/git-crup +0 -45
- data/vendor/depot_tools/python_git_runner.sh +0 -36
- data/vendor/depot_tools/recipes/blink.py +0 -59
- data/vendor/depot_tools/third_party/cq_client/test/validate_config_test.py +0 -52
- data/vendor/depot_tools/third_party/cq_client/validate_config.py +0 -108
- data/vendor/depot_tools/win_toolchain/toolchain2013.py +0 -494
@@ -0,0 +1,104 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"cmd": [
|
4
|
+
"python",
|
5
|
+
"-u",
|
6
|
+
"[BUILD]/scripts/slave/git_setup.py",
|
7
|
+
"--path",
|
8
|
+
"[TMP_BASE]/patch_tmp_1",
|
9
|
+
"--url",
|
10
|
+
"http://patch.url/"
|
11
|
+
],
|
12
|
+
"name": "patch git setup"
|
13
|
+
},
|
14
|
+
{
|
15
|
+
"cmd": [
|
16
|
+
"git",
|
17
|
+
"fetch",
|
18
|
+
"origin",
|
19
|
+
"johndoe#123.diff"
|
20
|
+
],
|
21
|
+
"cwd": "[TMP_BASE]/patch_tmp_1",
|
22
|
+
"name": "patch fetch"
|
23
|
+
},
|
24
|
+
{
|
25
|
+
"cmd": [
|
26
|
+
"git",
|
27
|
+
"clean",
|
28
|
+
"-f",
|
29
|
+
"-d",
|
30
|
+
"-x"
|
31
|
+
],
|
32
|
+
"cwd": "[TMP_BASE]/patch_tmp_1",
|
33
|
+
"name": "patch clean"
|
34
|
+
},
|
35
|
+
{
|
36
|
+
"cmd": [
|
37
|
+
"git",
|
38
|
+
"checkout",
|
39
|
+
"-f",
|
40
|
+
"FETCH_HEAD"
|
41
|
+
],
|
42
|
+
"cwd": "[TMP_BASE]/patch_tmp_1",
|
43
|
+
"name": "patch git checkout"
|
44
|
+
},
|
45
|
+
{
|
46
|
+
"cmd": [
|
47
|
+
"patch",
|
48
|
+
"--dir",
|
49
|
+
"[SLAVE_BUILD]",
|
50
|
+
"--force",
|
51
|
+
"--forward",
|
52
|
+
"--remove-empty-files",
|
53
|
+
"--strip",
|
54
|
+
"0",
|
55
|
+
"--input",
|
56
|
+
"[TMP_BASE]/patch_tmp_1/patch.diff"
|
57
|
+
],
|
58
|
+
"name": "apply patch"
|
59
|
+
},
|
60
|
+
{
|
61
|
+
"cmd": [
|
62
|
+
"rm",
|
63
|
+
"-rf",
|
64
|
+
"[TMP_BASE]/patch_tmp_1"
|
65
|
+
],
|
66
|
+
"name": "remove patch"
|
67
|
+
},
|
68
|
+
{
|
69
|
+
"cmd": [
|
70
|
+
"git",
|
71
|
+
"diff",
|
72
|
+
"--cached",
|
73
|
+
"--name-only"
|
74
|
+
],
|
75
|
+
"cwd": "[SLAVE_BUILD]/v8",
|
76
|
+
"name": "git diff to analyze patch",
|
77
|
+
"stdout": "/path/to/tmp/",
|
78
|
+
"~followup_annotations": [
|
79
|
+
"@@@STEP_LOG_LINE@files@v8/foo.cc@@@",
|
80
|
+
"@@@STEP_LOG_END@files@@@",
|
81
|
+
"@@@SET_BUILD_PROPERTY@failure_type@\"INVALID_TEST_RESULTS\"@@@",
|
82
|
+
"@@@SET_BUILD_PROPERTY@subproject_tag@\"v8\"@@@"
|
83
|
+
]
|
84
|
+
},
|
85
|
+
{
|
86
|
+
"cmd": [
|
87
|
+
"python",
|
88
|
+
"-u",
|
89
|
+
"import sys; sys.exit(1)"
|
90
|
+
],
|
91
|
+
"name": "fail",
|
92
|
+
"~followup_annotations": [
|
93
|
+
"step returned non-zero exit code: 1",
|
94
|
+
"@@@STEP_TEXT@foo@@@",
|
95
|
+
"@@@STEP_FAILURE@@@",
|
96
|
+
"@@@SET_BUILD_PROPERTY@failure_hash@\"c2311ad770732eade3d2f48247abd147e40a70e7\"@@@"
|
97
|
+
]
|
98
|
+
},
|
99
|
+
{
|
100
|
+
"name": "$result",
|
101
|
+
"reason": "Step('fail') failed with return_code 1",
|
102
|
+
"status_code": 1
|
103
|
+
}
|
104
|
+
]
|
@@ -0,0 +1,58 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"cmd": [
|
4
|
+
"python",
|
5
|
+
"-u",
|
6
|
+
"[DEPOT_TOOLS]/apply_issue.py",
|
7
|
+
"-r",
|
8
|
+
"[SLAVE_BUILD]",
|
9
|
+
"-i",
|
10
|
+
"12853011",
|
11
|
+
"-p",
|
12
|
+
"1",
|
13
|
+
"-s",
|
14
|
+
"https://codereview.chromium.org",
|
15
|
+
"--no-auth"
|
16
|
+
],
|
17
|
+
"name": "apply_issue",
|
18
|
+
"~followup_annotations": [
|
19
|
+
"@@@STEP_LINK@Applied issue 12853011@https://codereview.chromium.org/12853011@@@"
|
20
|
+
]
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"cmd": [
|
24
|
+
"git",
|
25
|
+
"diff",
|
26
|
+
"--cached",
|
27
|
+
"--name-only"
|
28
|
+
],
|
29
|
+
"cwd": "[SLAVE_BUILD]",
|
30
|
+
"name": "git diff to analyze patch",
|
31
|
+
"stdout": "/path/to/tmp/",
|
32
|
+
"~followup_annotations": [
|
33
|
+
"@@@STEP_LOG_LINE@files@foo.cc@@@",
|
34
|
+
"@@@STEP_LOG_END@files@@@",
|
35
|
+
"@@@SET_BUILD_PROPERTY@failure_type@\"INVALID_TEST_RESULTS\"@@@",
|
36
|
+
"@@@SET_BUILD_PROPERTY@subproject_tag@\"v8\"@@@"
|
37
|
+
]
|
38
|
+
},
|
39
|
+
{
|
40
|
+
"cmd": [
|
41
|
+
"python",
|
42
|
+
"-u",
|
43
|
+
"import sys; sys.exit(1)"
|
44
|
+
],
|
45
|
+
"name": "fail",
|
46
|
+
"~followup_annotations": [
|
47
|
+
"step returned non-zero exit code: 1",
|
48
|
+
"@@@STEP_TEXT@foo@@@",
|
49
|
+
"@@@STEP_FAILURE@@@",
|
50
|
+
"@@@SET_BUILD_PROPERTY@failure_hash@\"c2311ad770732eade3d2f48247abd147e40a70e7\"@@@"
|
51
|
+
]
|
52
|
+
},
|
53
|
+
{
|
54
|
+
"name": "$result",
|
55
|
+
"reason": "Step('fail') failed with return_code 1",
|
56
|
+
"status_code": 1
|
57
|
+
}
|
58
|
+
]
|
data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_rietveld_patch_new.json
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"cmd": [
|
4
|
+
"python",
|
5
|
+
"-u",
|
6
|
+
"[DEPOT_TOOLS]/apply_issue.py",
|
7
|
+
"-r",
|
8
|
+
"[SLAVE_BUILD]",
|
9
|
+
"-i",
|
10
|
+
"12853011",
|
11
|
+
"-p",
|
12
|
+
"1",
|
13
|
+
"-s",
|
14
|
+
"https://codereview.chromium.org",
|
15
|
+
"--no-auth"
|
16
|
+
],
|
17
|
+
"name": "apply_issue",
|
18
|
+
"~followup_annotations": [
|
19
|
+
"@@@STEP_LINK@Applied issue 12853011@https://codereview.chromium.org/12853011@@@"
|
20
|
+
]
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"cmd": [
|
24
|
+
"git",
|
25
|
+
"diff",
|
26
|
+
"--cached",
|
27
|
+
"--name-only"
|
28
|
+
],
|
29
|
+
"cwd": "[SLAVE_BUILD]/sub/project",
|
30
|
+
"name": "git diff to analyze patch",
|
31
|
+
"stdout": "/path/to/tmp/",
|
32
|
+
"~followup_annotations": [
|
33
|
+
"@@@STEP_LOG_LINE@files@sub/project/foo.cc@@@",
|
34
|
+
"@@@STEP_LOG_END@files@@@",
|
35
|
+
"@@@SET_BUILD_PROPERTY@failure_type@\"INVALID_TEST_RESULTS\"@@@",
|
36
|
+
"@@@SET_BUILD_PROPERTY@subproject_tag@\"v8\"@@@"
|
37
|
+
]
|
38
|
+
},
|
39
|
+
{
|
40
|
+
"cmd": [
|
41
|
+
"python",
|
42
|
+
"-u",
|
43
|
+
"import sys; sys.exit(1)"
|
44
|
+
],
|
45
|
+
"name": "fail",
|
46
|
+
"~followup_annotations": [
|
47
|
+
"step returned non-zero exit code: 1",
|
48
|
+
"@@@STEP_TEXT@foo@@@",
|
49
|
+
"@@@STEP_FAILURE@@@",
|
50
|
+
"@@@SET_BUILD_PROPERTY@failure_hash@\"c2311ad770732eade3d2f48247abd147e40a70e7\"@@@"
|
51
|
+
]
|
52
|
+
},
|
53
|
+
{
|
54
|
+
"name": "$result",
|
55
|
+
"reason": "Step('fail') failed with return_code 1",
|
56
|
+
"status_code": 1
|
57
|
+
}
|
58
|
+
]
|
@@ -0,0 +1,68 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"cmd": [
|
4
|
+
"svn",
|
5
|
+
"export",
|
6
|
+
"--force",
|
7
|
+
"svn://checkout.url",
|
8
|
+
"/path/to/tmp/diff"
|
9
|
+
],
|
10
|
+
"name": "download patch",
|
11
|
+
"~followup_annotations": [
|
12
|
+
"@@@STEP_LOG_LINE@patch.diff@fake patch.diff content (line 1)@@@",
|
13
|
+
"@@@STEP_LOG_LINE@patch.diff@fake patch.diff content (line 2)@@@",
|
14
|
+
"@@@STEP_LOG_LINE@patch.diff@@@@",
|
15
|
+
"@@@STEP_LOG_END@patch.diff@@@"
|
16
|
+
]
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"cmd": [
|
20
|
+
"patch",
|
21
|
+
"--dir",
|
22
|
+
"[SLAVE_BUILD]",
|
23
|
+
"--force",
|
24
|
+
"--forward",
|
25
|
+
"--remove-empty-files",
|
26
|
+
"--strip",
|
27
|
+
"0"
|
28
|
+
],
|
29
|
+
"name": "apply patch",
|
30
|
+
"stdin": "fake patch.diff content (line 1)\nfake patch.diff content (line 2)\n"
|
31
|
+
},
|
32
|
+
{
|
33
|
+
"cmd": [
|
34
|
+
"git",
|
35
|
+
"diff",
|
36
|
+
"--cached",
|
37
|
+
"--name-only"
|
38
|
+
],
|
39
|
+
"cwd": "[SLAVE_BUILD]",
|
40
|
+
"name": "git diff to analyze patch",
|
41
|
+
"stdout": "/path/to/tmp/",
|
42
|
+
"~followup_annotations": [
|
43
|
+
"@@@STEP_LOG_LINE@files@foo.cc@@@",
|
44
|
+
"@@@STEP_LOG_END@files@@@",
|
45
|
+
"@@@SET_BUILD_PROPERTY@failure_type@\"INVALID_TEST_RESULTS\"@@@",
|
46
|
+
"@@@SET_BUILD_PROPERTY@subproject_tag@\"v8\"@@@"
|
47
|
+
]
|
48
|
+
},
|
49
|
+
{
|
50
|
+
"cmd": [
|
51
|
+
"python",
|
52
|
+
"-u",
|
53
|
+
"import sys; sys.exit(1)"
|
54
|
+
],
|
55
|
+
"name": "fail",
|
56
|
+
"~followup_annotations": [
|
57
|
+
"step returned non-zero exit code: 1",
|
58
|
+
"@@@STEP_TEXT@foo@@@",
|
59
|
+
"@@@STEP_FAILURE@@@",
|
60
|
+
"@@@SET_BUILD_PROPERTY@failure_hash@\"c2311ad770732eade3d2f48247abd147e40a70e7\"@@@"
|
61
|
+
]
|
62
|
+
},
|
63
|
+
{
|
64
|
+
"name": "$result",
|
65
|
+
"reason": "Step('fail') failed with return_code 1",
|
66
|
+
"status_code": 1
|
67
|
+
}
|
68
|
+
]
|
@@ -0,0 +1,43 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"cmd": [
|
4
|
+
"RECIPE_PACKAGE_REPO[depot_tools]\\bootstrap\\win\\win_tools.bat"
|
5
|
+
],
|
6
|
+
"cwd": "RECIPE_PACKAGE_REPO[depot_tools]",
|
7
|
+
"name": "ensure git tooling on windows"
|
8
|
+
},
|
9
|
+
{
|
10
|
+
"cmd": [
|
11
|
+
"RECIPE_PACKAGE_REPO[depot_tools]\\git.bat",
|
12
|
+
"diff",
|
13
|
+
"--cached",
|
14
|
+
"--name-only"
|
15
|
+
],
|
16
|
+
"cwd": "[SLAVE_BUILD]",
|
17
|
+
"name": "git diff to analyze patch",
|
18
|
+
"stdout": "/path/to/tmp/",
|
19
|
+
"~followup_annotations": [
|
20
|
+
"@@@STEP_LOG_LINE@files@foo.cc@@@",
|
21
|
+
"@@@STEP_LOG_END@files@@@"
|
22
|
+
]
|
23
|
+
},
|
24
|
+
{
|
25
|
+
"cmd": [
|
26
|
+
"python",
|
27
|
+
"-u",
|
28
|
+
"import sys; sys.exit(1)"
|
29
|
+
],
|
30
|
+
"name": "fail",
|
31
|
+
"~followup_annotations": [
|
32
|
+
"step returned non-zero exit code: 1",
|
33
|
+
"@@@STEP_TEXT@foo@@@",
|
34
|
+
"@@@STEP_FAILURE@@@",
|
35
|
+
"@@@SET_BUILD_PROPERTY@failure_hash@\"c2311ad770732eade3d2f48247abd147e40a70e7\"@@@"
|
36
|
+
]
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"name": "$result",
|
40
|
+
"reason": "Step('fail') failed with return_code 1",
|
41
|
+
"status_code": 1
|
42
|
+
}
|
43
|
+
]
|
@@ -0,0 +1,43 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"cmd": [
|
4
|
+
"RECIPE_PACKAGE_REPO[depot_tools]\\bootstrap\\win\\win_tools.bat"
|
5
|
+
],
|
6
|
+
"cwd": "RECIPE_PACKAGE_REPO[depot_tools]",
|
7
|
+
"name": "ensure git tooling on windows"
|
8
|
+
},
|
9
|
+
{
|
10
|
+
"cmd": [
|
11
|
+
"RECIPE_PACKAGE_REPO[depot_tools]\\git.bat",
|
12
|
+
"diff",
|
13
|
+
"--cached",
|
14
|
+
"--name-only"
|
15
|
+
],
|
16
|
+
"cwd": "[SLAVE_BUILD]\\sub\\project",
|
17
|
+
"name": "git diff to analyze patch",
|
18
|
+
"stdout": "/path/to/tmp/",
|
19
|
+
"~followup_annotations": [
|
20
|
+
"@@@STEP_LOG_LINE@files@sub/project/foo.cc@@@",
|
21
|
+
"@@@STEP_LOG_END@files@@@"
|
22
|
+
]
|
23
|
+
},
|
24
|
+
{
|
25
|
+
"cmd": [
|
26
|
+
"python",
|
27
|
+
"-u",
|
28
|
+
"import sys; sys.exit(1)"
|
29
|
+
],
|
30
|
+
"name": "fail",
|
31
|
+
"~followup_annotations": [
|
32
|
+
"step returned non-zero exit code: 1",
|
33
|
+
"@@@STEP_TEXT@foo@@@",
|
34
|
+
"@@@STEP_FAILURE@@@",
|
35
|
+
"@@@SET_BUILD_PROPERTY@failure_hash@\"c2311ad770732eade3d2f48247abd147e40a70e7\"@@@"
|
36
|
+
]
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"name": "$result",
|
40
|
+
"reason": "Step('fail') failed with return_code 1",
|
41
|
+
"status_code": 1
|
42
|
+
}
|
43
|
+
]
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# Copyright 2014 The Chromium Authors. All rights reserved.
|
2
|
+
# Use of this source code is governed by a BSD-style license that can be
|
3
|
+
# found in the LICENSE file.
|
4
|
+
|
5
|
+
DEPS = [
|
6
|
+
'recipe_engine/path',
|
7
|
+
'recipe_engine/platform',
|
8
|
+
'recipe_engine/properties',
|
9
|
+
'recipe_engine/python',
|
10
|
+
'tryserver',
|
11
|
+
]
|
12
|
+
|
13
|
+
|
14
|
+
def RunSteps(api):
|
15
|
+
api.path['checkout'] = api.path['slave_build']
|
16
|
+
api.tryserver.maybe_apply_issue()
|
17
|
+
api.tryserver.get_files_affected_by_patch(
|
18
|
+
api.properties.get('test_patch_root'))
|
19
|
+
|
20
|
+
if api.tryserver.is_tryserver:
|
21
|
+
api.tryserver.set_subproject_tag('v8')
|
22
|
+
|
23
|
+
api.tryserver.set_patch_failure_tryjob_result()
|
24
|
+
api.tryserver.set_compile_failure_tryjob_result()
|
25
|
+
api.tryserver.set_test_failure_tryjob_result()
|
26
|
+
api.tryserver.set_invalid_test_results_tryjob_result()
|
27
|
+
|
28
|
+
with api.tryserver.set_failure_hash():
|
29
|
+
api.python.failing_step('fail', 'foo')
|
30
|
+
|
31
|
+
|
32
|
+
def GenTests(api):
|
33
|
+
yield (api.test('with_svn_patch') +
|
34
|
+
api.properties(patch_url='svn://checkout.url'))
|
35
|
+
|
36
|
+
yield (api.test('with_git_patch') +
|
37
|
+
api.properties(
|
38
|
+
patch_storage='git',
|
39
|
+
patch_project='v8',
|
40
|
+
patch_repo_url='http://patch.url/',
|
41
|
+
patch_ref='johndoe#123.diff'))
|
42
|
+
|
43
|
+
yield (api.test('with_rietveld_patch') +
|
44
|
+
api.properties.tryserver())
|
45
|
+
|
46
|
+
yield (api.test('with_wrong_patch') + api.platform('win', 32))
|
47
|
+
|
48
|
+
|
49
|
+
yield (api.test('with_rietveld_patch_new') +
|
50
|
+
api.properties.tryserver(test_patch_root='sub/project'))
|
51
|
+
|
52
|
+
yield (api.test('with_wrong_patch_new') + api.platform('win', 32) +
|
53
|
+
api.properties(test_patch_root='sub\\project'))
|
@@ -0,0 +1,136 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
|
3
|
+
# Copyright 2015 The Chromium Authors. All rights reserved.
|
4
|
+
# Use of this source code is governed by a BSD-style license that can be
|
5
|
+
# found in the LICENSE file.
|
6
|
+
|
7
|
+
"""Bootstrap script to clone and forward to the recipe engine tool."""
|
8
|
+
|
9
|
+
import ast
|
10
|
+
import logging
|
11
|
+
import os
|
12
|
+
import random
|
13
|
+
import re
|
14
|
+
import subprocess
|
15
|
+
import sys
|
16
|
+
import time
|
17
|
+
import traceback
|
18
|
+
|
19
|
+
BOOTSTRAP_VERSION = 1
|
20
|
+
# The root of the repository relative to the directory of this file.
|
21
|
+
REPO_ROOT = ''
|
22
|
+
# The path of the recipes.cfg file relative to the root of the repository.
|
23
|
+
RECIPES_CFG = os.path.join('infra', 'config', 'recipes.cfg')
|
24
|
+
|
25
|
+
|
26
|
+
def parse_protobuf(fh):
|
27
|
+
"""Parse the protobuf text format just well enough to understand recipes.cfg.
|
28
|
+
|
29
|
+
We don't use the protobuf library because we want to be as self-contained
|
30
|
+
as possible in this bootstrap, so it can be simply vendored into a client
|
31
|
+
repo.
|
32
|
+
|
33
|
+
We assume all fields are repeated since we don't have a proto spec to work
|
34
|
+
with.
|
35
|
+
|
36
|
+
Args:
|
37
|
+
fh: a filehandle containing the text format protobuf.
|
38
|
+
Returns:
|
39
|
+
A recursive dictionary of lists.
|
40
|
+
"""
|
41
|
+
def parse_atom(text):
|
42
|
+
if text == 'true': return True
|
43
|
+
if text == 'false': return False
|
44
|
+
return ast.literal_eval(text)
|
45
|
+
|
46
|
+
ret = {}
|
47
|
+
for line in fh:
|
48
|
+
line = line.strip()
|
49
|
+
m = re.match(r'(\w+)\s*:\s*(.*)', line)
|
50
|
+
if m:
|
51
|
+
ret.setdefault(m.group(1), []).append(parse_atom(m.group(2)))
|
52
|
+
continue
|
53
|
+
|
54
|
+
m = re.match(r'(\w+)\s*{', line)
|
55
|
+
if m:
|
56
|
+
subparse = parse_protobuf(fh)
|
57
|
+
ret.setdefault(m.group(1), []).append(subparse)
|
58
|
+
continue
|
59
|
+
|
60
|
+
if line == '}': return ret
|
61
|
+
if line == '': continue
|
62
|
+
|
63
|
+
raise Exception('Could not understand line: <%s>' % line)
|
64
|
+
|
65
|
+
return ret
|
66
|
+
|
67
|
+
|
68
|
+
def get_unique(things):
|
69
|
+
if len(things) == 1:
|
70
|
+
return things[0]
|
71
|
+
elif len(things) == 0:
|
72
|
+
raise ValueError("Expected to get one thing, but dinna get none.")
|
73
|
+
else:
|
74
|
+
logging.warn('Expected to get one thing, but got a bunch: %s\n%s' %
|
75
|
+
(things, traceback.format_stack()))
|
76
|
+
return things[0]
|
77
|
+
|
78
|
+
|
79
|
+
def main():
|
80
|
+
if sys.platform.startswith(('win', 'cygwin')):
|
81
|
+
git = 'git.bat'
|
82
|
+
else:
|
83
|
+
git = 'git'
|
84
|
+
|
85
|
+
# Find the repository and config file to operate on.
|
86
|
+
repo_root = os.path.abspath(
|
87
|
+
os.path.join(os.path.dirname(__file__), REPO_ROOT))
|
88
|
+
recipes_cfg_path = os.path.join(repo_root, RECIPES_CFG)
|
89
|
+
|
90
|
+
with open(recipes_cfg_path, 'rU') as fh:
|
91
|
+
protobuf = parse_protobuf(fh)
|
92
|
+
|
93
|
+
engine_buf = get_unique([
|
94
|
+
b for b in protobuf['deps'] if b.get('project_id') == ['recipe_engine'] ])
|
95
|
+
engine_url = get_unique(engine_buf['url'])
|
96
|
+
engine_revision = get_unique(engine_buf['revision'])
|
97
|
+
engine_subpath = (get_unique(engine_buf.get('path_override', ['']))
|
98
|
+
.replace('/', os.path.sep))
|
99
|
+
|
100
|
+
recipes_path = os.path.join(repo_root,
|
101
|
+
get_unique(protobuf['recipes_path']).replace('/', os.path.sep))
|
102
|
+
deps_path = os.path.join(recipes_path, '.recipe_deps')
|
103
|
+
engine_path = os.path.join(deps_path, 'recipe_engine')
|
104
|
+
|
105
|
+
# Ensure that we have the recipe engine cloned.
|
106
|
+
def ensure_engine():
|
107
|
+
if not os.path.exists(deps_path):
|
108
|
+
os.makedirs(deps_path)
|
109
|
+
if not os.path.exists(engine_path):
|
110
|
+
subprocess.check_call([git, 'clone', engine_url, engine_path])
|
111
|
+
|
112
|
+
needs_fetch = subprocess.call(
|
113
|
+
[git, 'rev-parse', '--verify', '%s^{commit}' % engine_revision],
|
114
|
+
cwd=engine_path, stdout=open(os.devnull, 'w'))
|
115
|
+
if needs_fetch:
|
116
|
+
subprocess.check_call([git, 'fetch'], cwd=engine_path)
|
117
|
+
subprocess.check_call(
|
118
|
+
[git, 'checkout', '--quiet', engine_revision], cwd=engine_path)
|
119
|
+
|
120
|
+
try:
|
121
|
+
ensure_engine()
|
122
|
+
except subprocess.CalledProcessError as e:
|
123
|
+
if e.returncode == 128: # Thrown when git gets a lock error.
|
124
|
+
time.sleep(random.uniform(2,5))
|
125
|
+
ensure_engine()
|
126
|
+
else:
|
127
|
+
raise
|
128
|
+
|
129
|
+
args = ['--package', recipes_cfg_path,
|
130
|
+
'--bootstrap-script', __file__] + sys.argv[1:]
|
131
|
+
return subprocess.call([
|
132
|
+
sys.executable, '-u',
|
133
|
+
os.path.join(engine_path, engine_subpath, 'recipes.py')] + args)
|
134
|
+
|
135
|
+
if __name__ == '__main__':
|
136
|
+
sys.exit(main())
|