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,14 @@
|
|
1
|
+
diff --git a/build/standalone.gypi b/build/standalone.gypi
|
2
|
+
index a71ed95..308a7e3 100644
|
3
|
+
--- a/build/standalone.gypi
|
4
|
+
+++ b/build/standalone.gypi
|
5
|
+
@@ -476,6 +476,9 @@
|
6
|
+
}], # fastbuild!=0
|
7
|
+
],
|
8
|
+
'target_conditions': [
|
9
|
+
+ ['_type=="static_library"', {
|
10
|
+
+ 'standalone_static_library': 1,
|
11
|
+
+ }],
|
12
|
+
['v8_code == 0', {
|
13
|
+
'defines!': [
|
14
|
+
'DEBUG',
|
@@ -1,27 +1,65 @@
|
|
1
1
|
diff --git a/Makefile b/Makefile
|
2
|
-
index
|
2
|
+
index 4fb6ee0..549ae58 100644
|
3
3
|
--- a/Makefile
|
4
4
|
+++ b/Makefile
|
5
|
-
@@ -
|
5
|
+
@@ -251,11 +251,9 @@ NACL_ARCHES = nacl_ia32 nacl_x64
|
6
6
|
GYPFILES = third_party/icu/icu.gypi third_party/icu/icu.gyp \
|
7
7
|
build/shim_headers.gypi build/features.gypi build/standalone.gypi \
|
8
8
|
build/toolchain.gypi build/all.gyp build/mac/asan.gyp \
|
9
|
-
- test/cctest/cctest.gyp \
|
9
|
+
- test/cctest/cctest.gyp test/fuzzer/fuzzer.gyp \
|
10
10
|
- test/unittests/unittests.gyp tools/gyp/v8.gyp \
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
- tools/parser-shell.gyp testing/gmock.gyp testing/gtest.gyp \
|
12
|
+
- buildtools/third_party/libc++abi/libc++abi.gyp \
|
13
|
+
- buildtools/third_party/libc++/libc++.gyp samples/samples.gyp \
|
14
|
+
+ tools/gyp/v8.gyp tools/parser-shell.gyp \
|
15
|
+
+ buildtools/third_party/libc++abi/libc++abi.gyp \
|
16
|
+
+ buildtools/third_party/libc++/libc++.gyp \
|
17
|
+
src/third_party/vtune/v8vtune.gyp src/d8.gyp
|
18
|
+
|
19
|
+
# If vtunejit=on, the v8vtune.gyp will be appended.
|
14
20
|
diff --git a/build/all.gyp b/build/all.gyp
|
15
|
-
index
|
21
|
+
index feaf4fe..96820a0 100644
|
16
22
|
--- a/build/all.gyp
|
17
23
|
+++ b/build/all.gyp
|
18
|
-
@@ -
|
24
|
+
@@ -8,11 +8,7 @@
|
25
|
+
'target_name': 'All',
|
26
|
+
'type': 'none',
|
19
27
|
'dependencies': [
|
20
|
-
|
28
|
+
- '../samples/samples.gyp:*',
|
21
29
|
'../src/d8.gyp:d8',
|
22
30
|
- '../test/cctest/cctest.gyp:*',
|
31
|
+
- '../test/fuzzer/fuzzer.gyp:*',
|
23
32
|
- '../test/unittests/unittests.gyp:*',
|
24
33
|
],
|
25
34
|
'conditions': [
|
26
35
|
['component!="shared_library"', {
|
27
|
-
|
36
|
+
@@ -20,29 +16,6 @@
|
37
|
+
'../tools/parser-shell.gyp:parser-shell',
|
38
|
+
],
|
39
|
+
}],
|
40
|
+
- ['test_isolation_mode != "noop"', {
|
41
|
+
- 'dependencies': [
|
42
|
+
- '../test/bot_default.gyp:*',
|
43
|
+
- '../test/benchmarks/benchmarks.gyp:*',
|
44
|
+
- '../test/default.gyp:*',
|
45
|
+
- '../test/ignition.gyp:*',
|
46
|
+
- '../test/intl/intl.gyp:*',
|
47
|
+
- '../test/message/message.gyp:*',
|
48
|
+
- '../test/mjsunit/mjsunit.gyp:*',
|
49
|
+
- '../test/mozilla/mozilla.gyp:*',
|
50
|
+
- '../test/optimize_for_size.gyp:*',
|
51
|
+
- '../test/perf.gyp:*',
|
52
|
+
- '../test/preparser/preparser.gyp:*',
|
53
|
+
- '../test/simdjs/simdjs.gyp:*',
|
54
|
+
- '../test/test262/test262.gyp:*',
|
55
|
+
- '../test/webkit/webkit.gyp:*',
|
56
|
+
- '../tools/check-static-initializers.gyp:*',
|
57
|
+
- '../tools/gcmole/run_gcmole.gyp:*',
|
58
|
+
- '../tools/jsfunfuzz/jsfunfuzz.gyp:*',
|
59
|
+
- '../tools/run-deopt-fuzzer.gyp:*',
|
60
|
+
- '../tools/run-valgrind.gyp:*',
|
61
|
+
- ],
|
62
|
+
- }],
|
63
|
+
]
|
64
|
+
}
|
65
|
+
]
|
@@ -1,8 +1,8 @@
|
|
1
1
|
diff --git a/build/standalone.gypi b/build/standalone.gypi
|
2
|
-
index
|
2
|
+
index 1252094..308a7e3 100644
|
3
3
|
--- a/build/standalone.gypi
|
4
4
|
+++ b/build/standalone.gypi
|
5
|
-
@@ -
|
5
|
+
@@ -733,7 +733,7 @@
|
6
6
|
[ 'visibility=="hidden" and v8_enable_backtrace==0', {
|
7
7
|
'cflags': [ '-fvisibility=hidden' ],
|
8
8
|
}],
|
@@ -10,4 +10,4 @@ index 7670e5b..230518c 100644
|
|
10
10
|
+ [ 'component=="shared_library" or component=="static_library" and (v8_target_arch=="x64" or v8_target_arch=="arm64")', {
|
11
11
|
'cflags': [ '-fPIC', ],
|
12
12
|
}],
|
13
|
-
|
13
|
+
[ 'coverage==1', {
|
@@ -13,7 +13,7 @@ Vagrant.configure(2) do |config|
|
|
13
13
|
# Every Vagrant development environment requires a box. You can search for
|
14
14
|
# boxes at https://atlas.hashicorp.com/search.
|
15
15
|
# https://atlas.hashicorp.com/boxcutter/boxes/debian80-i386
|
16
|
-
config.vm.box = "
|
16
|
+
config.vm.box = "ubuntu/trusty32"
|
17
17
|
|
18
18
|
# Disable automatic box update checking. If you disable this, then
|
19
19
|
# boxes will only be checked for updates when the user runs
|
@@ -54,6 +54,12 @@ Vagrant.configure(2) do |config|
|
|
54
54
|
#
|
55
55
|
# View the documentation for the provider you are using for more
|
56
56
|
# information on available options.
|
57
|
+
config.vm.provider :virtualbox do |vb|
|
58
|
+
vb.memory = "2048"
|
59
|
+
vb.customize ["modifyvm", :id, "--hwvirtex", "on"]
|
60
|
+
vb.customize ["modifyvm", :id, "--audio", "none"]
|
61
|
+
vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
|
62
|
+
end
|
57
63
|
|
58
64
|
# Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
|
59
65
|
# such as FTP and Heroku are also available. See the documentation at
|
@@ -67,9 +73,7 @@ Vagrant.configure(2) do |config|
|
|
67
73
|
# documentation for more information about their specific syntax and use.
|
68
74
|
config.vm.provision "shell", inline: <<-SHELL
|
69
75
|
sudo apt-get update
|
70
|
-
sudo apt-get install -y
|
71
|
-
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
|
72
|
-
sudo update-alternatives --config gcc
|
76
|
+
sudo apt-get install -y build-essential git python ruby ruby-dev
|
73
77
|
gem install bundler
|
74
78
|
SHELL
|
75
79
|
end
|
@@ -0,0 +1,86 @@
|
|
1
|
+
# -*- mode: ruby -*-
|
2
|
+
# vi: set ft=ruby :
|
3
|
+
|
4
|
+
# All Vagrant configuration is done below. The "2" in Vagrant.configure
|
5
|
+
# configures the configuration version (we support older styles for
|
6
|
+
# backwards compatibility). Please don't change it unless you know what
|
7
|
+
# you're doing.
|
8
|
+
Vagrant.configure(2) do |config|
|
9
|
+
# The most common configuration options are documented and commented below.
|
10
|
+
# For a complete reference, please see the online documentation at
|
11
|
+
# https://docs.vagrantup.com.
|
12
|
+
|
13
|
+
# Every Vagrant development environment requires a box. You can search for
|
14
|
+
# boxes at https://atlas.hashicorp.com/search.
|
15
|
+
config.vm.box = "freebsd/FreeBSD-10.3-RELEASE"
|
16
|
+
|
17
|
+
# Disable automatic box update checking. If you disable this, then
|
18
|
+
# boxes will only be checked for updates when the user runs
|
19
|
+
# `vagrant box outdated`. This is not recommended.
|
20
|
+
# config.vm.box_check_update = false
|
21
|
+
|
22
|
+
# Create a forwarded port mapping which allows access to a specific port
|
23
|
+
# within the machine from a port on the host machine. In the example below,
|
24
|
+
# accessing "localhost:8080" will access port 80 on the guest machine.
|
25
|
+
# config.vm.network "forwarded_port", guest: 80, host: 8080
|
26
|
+
|
27
|
+
# Create a private network, which allows host-only access to the machine
|
28
|
+
# using a specific IP.
|
29
|
+
# config.vm.network "private_network", ip: "192.168.33.10"
|
30
|
+
config.vm.network "private_network", ip: "192.168.33.10"
|
31
|
+
|
32
|
+
# Create a public network, which generally matched to bridged network.
|
33
|
+
# Bridged networks make the machine appear as another physical device on
|
34
|
+
# your network.
|
35
|
+
# config.vm.network "public_network"
|
36
|
+
|
37
|
+
# Share an additional folder to the guest VM. The first argument is
|
38
|
+
# the path on the host to the actual folder. The second argument is
|
39
|
+
# the path on the guest to mount the folder. And the optional third
|
40
|
+
# argument is a set of non-required options.
|
41
|
+
config.vm.synced_folder ".", "/vagrant", nfs: true
|
42
|
+
config.vm.synced_folder "../..", "/libv8", nfs: true
|
43
|
+
|
44
|
+
|
45
|
+
# Provider-specific configuration so you can fine-tune various
|
46
|
+
# backing providers for Vagrant. These expose provider-specific options.
|
47
|
+
# Example for VirtualBox:
|
48
|
+
#
|
49
|
+
# config.vm.provider "virtualbox" do |vb|
|
50
|
+
# # Display the VirtualBox GUI when booting the machine
|
51
|
+
# vb.gui = true
|
52
|
+
#
|
53
|
+
# # Customize the amount of memory on the VM:
|
54
|
+
# vb.memory = "1024"
|
55
|
+
# end
|
56
|
+
#
|
57
|
+
# View the documentation for the provider you are using for more
|
58
|
+
# information on available options.
|
59
|
+
# Various settings as suggested by the FreeBSD community
|
60
|
+
config.ssh.shell = "sh"
|
61
|
+
config.vm.base_mac = "080027D14C66"
|
62
|
+
config.vm.provider :virtualbox do |vb|
|
63
|
+
vb.customize ["modifyvm", :id, "--hwvirtex", "on"]
|
64
|
+
vb.customize ["modifyvm", :id, "--audio", "none"]
|
65
|
+
vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
|
66
|
+
vb.customize ["modifyvm", :id, "--nictype2", "virtio"]
|
67
|
+
end
|
68
|
+
|
69
|
+
# Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
|
70
|
+
# such as FTP and Heroku are also available. See the documentation at
|
71
|
+
# https://docs.vagrantup.com/v2/push/atlas.html for more information.
|
72
|
+
# config.push.define "atlas" do |push|
|
73
|
+
# push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
|
74
|
+
# end
|
75
|
+
|
76
|
+
# Enable provisioning with a shell script. Additional provisioners such as
|
77
|
+
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
|
78
|
+
# documentation for more information about their specific syntax and use.
|
79
|
+
# config.vm.provision "shell", inline: <<-SHELL
|
80
|
+
# sudo apt-get update
|
81
|
+
# sudo apt-get install -y apache2
|
82
|
+
# SHELL
|
83
|
+
config.vm.provision "shell", inline: <<-SHELL
|
84
|
+
pkg install -y bash gmake ruby rubygem-bundler git-subversion python2
|
85
|
+
SHELL
|
86
|
+
end
|
@@ -13,7 +13,7 @@ Vagrant.configure(2) do |config|
|
|
13
13
|
# Every Vagrant development environment requires a box. You can search for
|
14
14
|
# boxes at https://atlas.hashicorp.com/search.
|
15
15
|
# https://atlas.hashicorp.com/quarkslab/boxes/debian-8.0-amd64
|
16
|
-
config.vm.box = "
|
16
|
+
config.vm.box = "ubuntu/trusty64"
|
17
17
|
|
18
18
|
# Disable automatic box update checking. If you disable this, then
|
19
19
|
# boxes will only be checked for updates when the user runs
|
@@ -54,6 +54,12 @@ Vagrant.configure(2) do |config|
|
|
54
54
|
#
|
55
55
|
# View the documentation for the provider you are using for more
|
56
56
|
# information on available options.
|
57
|
+
config.vm.provider :virtualbox do |vb|
|
58
|
+
vb.memory = "2048"
|
59
|
+
vb.customize ["modifyvm", :id, "--hwvirtex", "on"]
|
60
|
+
vb.customize ["modifyvm", :id, "--audio", "none"]
|
61
|
+
vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
|
62
|
+
end
|
57
63
|
|
58
64
|
# Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
|
59
65
|
# such as FTP and Heroku are also available. See the documentation at
|
@@ -67,9 +73,7 @@ Vagrant.configure(2) do |config|
|
|
67
73
|
# documentation for more information about their specific syntax and use.
|
68
74
|
config.vm.provision "shell", inline: <<-SHELL
|
69
75
|
sudo apt-get update
|
70
|
-
sudo apt-get install -y
|
71
|
-
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
|
72
|
-
sudo update-alternatives --config gcc
|
76
|
+
sudo apt-get install -y build-essential git python ruby ruby-dev
|
73
77
|
gem install bundler
|
74
78
|
SHELL
|
75
79
|
end
|
data/spec/compiler_spec.rb
CHANGED
@@ -6,35 +6,23 @@ module Libv8
|
|
6
6
|
describe '::type_of' do
|
7
7
|
it 'recognises correctly GCC' do
|
8
8
|
stub_as_available 'c++', :gcc, '4.9.0'
|
9
|
-
expect(Compiler.
|
9
|
+
expect(Compiler.type_of('c++').new('c++')).to be_a Compiler::GCC
|
10
10
|
|
11
11
|
stub_as_available 'g++', :gcc, '4.2.1-freebsd'
|
12
|
-
expect(Compiler.
|
12
|
+
expect(Compiler.type_of('g++').new('g++')).to be_a Compiler::GCC
|
13
13
|
end
|
14
14
|
|
15
15
|
it 'recognises correctly Clang' do
|
16
16
|
stub_as_available 'c++', :clang, '3.4.1'
|
17
|
-
expect(Compiler.
|
17
|
+
expect(Compiler.type_of('c++').new('c++')).to be_a Compiler::Clang
|
18
18
|
|
19
19
|
stub_as_available 'freebsd-clang++', :clang, '3.3-freebsd'
|
20
|
-
expect(Compiler.
|
20
|
+
expect(Compiler.type_of('freebsd-clang++').new('freebsd-clang++')).to be_a Compiler::Clang
|
21
21
|
end
|
22
22
|
|
23
23
|
it 'recognises correctly Apple\'s LLVM' do
|
24
24
|
stub_as_available 'c++', :apple_llvm, '5.1'
|
25
|
-
expect(Compiler.
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
describe '::available_compilers' do
|
30
|
-
it 'returns instances of the available compilers' do
|
31
|
-
stub_as_available 'c++', :clang, '3.4.1'
|
32
|
-
stub_as_unavailable 'g++'
|
33
|
-
stub_as_available 'clang++', :clang, '3.4.1'
|
34
|
-
|
35
|
-
available_compilers = Compiler.available_compilers 'c++', 'g++', 'clang++'
|
36
|
-
expect(available_compilers.map(&:class).count).to eq 2
|
37
|
-
available_compilers.all? { |compiler| expect(compiler).to be_a Compiler::Clang }
|
25
|
+
expect(Compiler.type_of('c++').new('c++')).to be_a Compiler::AppleLLVM
|
38
26
|
end
|
39
27
|
end
|
40
28
|
|
@@ -53,17 +41,5 @@ module Libv8
|
|
53
41
|
end
|
54
42
|
end
|
55
43
|
end
|
56
|
-
|
57
|
-
describe '::available?' do
|
58
|
-
it 'returns true when the command is available' do
|
59
|
-
stub_as_available 'c++', :clang, '3.4.1'
|
60
|
-
expect(Compiler::available?('c++')).to be true
|
61
|
-
end
|
62
|
-
|
63
|
-
it 'returns false when the command cannot be found ' do
|
64
|
-
stub_as_unavailable 'c++'
|
65
|
-
expect(Compiler::available?('c++')).to be false
|
66
|
-
end
|
67
|
-
end
|
68
44
|
end
|
69
45
|
end
|
@@ -32,13 +32,11 @@ module CompilerHelpers
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def stub_as_available(command, name, version)
|
35
|
-
stub_shell_command "
|
36
|
-
stub_shell_command "#{command} -v 2>&1", version_output_of(name, version), success_status
|
35
|
+
stub_shell_command "env LC_ALL=C LANG=C #{command} -v 2>&1", version_output_of(name, version), success_status
|
37
36
|
end
|
38
37
|
|
39
38
|
def stub_as_unavailable(command)
|
40
|
-
stub_shell_command
|
41
|
-
stub_shell_command(/^#{Regexp.escape(command)}/, '', failure_status)
|
39
|
+
stub_shell_command(/^env LC_ALL=C LANG=C #{Regexp.escape(command)}/, '', failure_status)
|
42
40
|
end
|
43
41
|
end
|
44
42
|
|
@@ -2,9 +2,11 @@
|
|
2
2
|
*.pyc
|
3
3
|
|
4
4
|
# Ignore the batch files produced by the Windows bootstrapping.
|
5
|
+
/git-bash
|
5
6
|
/git.bat
|
6
7
|
/gitk.bat
|
7
8
|
/pylint.bat
|
9
|
+
/.pylint.d/
|
8
10
|
/python
|
9
11
|
/python.bat
|
10
12
|
/ssh.bat
|
@@ -14,6 +16,7 @@
|
|
14
16
|
/svnversion.bat
|
15
17
|
/.codereview_upload_cookies
|
16
18
|
/.gitconfig
|
19
|
+
/.git_bleeding_edge
|
17
20
|
/.git_cl_description_backup
|
18
21
|
/.last_codereview_email_address
|
19
22
|
/.ssh
|
@@ -26,7 +29,8 @@
|
|
26
29
|
/svn_bin
|
27
30
|
/external_bin
|
28
31
|
/win_toolchain/vs2013_files
|
29
|
-
/win_toolchain
|
32
|
+
/win_toolchain/vs_files
|
33
|
+
/win_toolchain/*.timestamps
|
30
34
|
/win_toolchain/.vspro
|
31
35
|
/win_toolchain/data.json
|
32
36
|
|
@@ -47,5 +51,13 @@
|
|
47
51
|
/tests/svn/
|
48
52
|
/tests/svnrepo/
|
49
53
|
|
50
|
-
# Ignore
|
51
|
-
|
54
|
+
# Ignore intermediate isolate files
|
55
|
+
*.isolated
|
56
|
+
*.isolated.state
|
57
|
+
|
58
|
+
# Ignore recipe working directory.
|
59
|
+
/.recipe_deps
|
60
|
+
/infra/.recipe_deps
|
61
|
+
|
62
|
+
# Ignore google AE downloaded for running testing only.
|
63
|
+
testing_support/google_appengine
|
data/vendor/depot_tools/OWNERS
CHANGED
@@ -9,10 +9,10 @@ maruel@chromium.org
|
|
9
9
|
nodir@chromium.org
|
10
10
|
petermayo@chromium.org
|
11
11
|
pgervais@chromium.org
|
12
|
-
|
12
|
+
phajdan.jr@chromium.org
|
13
13
|
stip@chromium.org
|
14
|
+
tandrii@chromium.org
|
14
15
|
|
15
|
-
per-file commit_queue*=akuegel@chromium.org
|
16
16
|
per-file commit_queue*=phajdan.jr@chromium.org
|
17
17
|
per-file commit_queue*=sergiyb@chromium.org
|
18
18
|
per-file commit_queue*=tandrii@chromium.org
|
@@ -16,14 +16,16 @@ def CommonChecks(input_api, output_api, tests_to_black_list):
|
|
16
16
|
results = []
|
17
17
|
results.extend(input_api.canned_checks.CheckOwners(input_api, output_api))
|
18
18
|
black_list = list(input_api.DEFAULT_BLACK_LIST) + [
|
19
|
+
r'^\.recipe_deps[\/\\].*',
|
20
|
+
r'^infra[\/\\]\.recipe_deps[\/\\].*',
|
19
21
|
r'^cpplint\.py$',
|
20
22
|
r'^cpplint_chromium\.py$',
|
21
23
|
r'^external_bin[\/\\].+',
|
22
24
|
r'^python[0-9]*_bin[\/\\].+',
|
25
|
+
r'^recipes\.py$',
|
23
26
|
r'^site-packages-py[0-9]\.[0-9][\/\\].+',
|
24
27
|
r'^svn_bin[\/\\].+',
|
25
|
-
r'^testing_support[\/\\]_rietveld[\/\\].+'
|
26
|
-
r'^bootstrap[\/\\].+']
|
28
|
+
r'^testing_support[\/\\]_rietveld[\/\\].+']
|
27
29
|
if os.path.exists('.gitignore'):
|
28
30
|
with open('.gitignore') as fh:
|
29
31
|
lines = [l.strip() for l in fh.readlines()]
|
@@ -8,6 +8,9 @@
|
|
8
8
|
{
|
9
9
|
|
10
10
|
'WATCHLIST_DEFINITIONS': {
|
11
|
+
'git_cl.py': {
|
12
|
+
'filepath': 'git_cl.py',
|
13
|
+
},
|
11
14
|
'this_file': {
|
12
15
|
'filepath': '^WATCHLISTS$',
|
13
16
|
},
|
@@ -18,6 +21,9 @@
|
|
18
21
|
|
19
22
|
'WATCHLISTS': {
|
20
23
|
'this_file': [],
|
24
|
+
'git_cl.py': [
|
25
|
+
'tandrii+omg_git_cl@chromium.org',
|
26
|
+
],
|
21
27
|
'depot_tools': [
|
22
28
|
'dpranke+depot_tools@chromium.org',
|
23
29
|
'iannucci+depot_tools@chromium.org',
|
@@ -5,7 +5,6 @@
|
|
5
5
|
|
6
6
|
"""Applies an issue from Rietveld.
|
7
7
|
"""
|
8
|
-
|
9
8
|
import getpass
|
10
9
|
import json
|
11
10
|
import logging
|
@@ -15,7 +14,6 @@ import subprocess
|
|
15
14
|
import sys
|
16
15
|
import urllib2
|
17
16
|
|
18
|
-
import breakpad # pylint: disable=W0611
|
19
17
|
|
20
18
|
import annotated_gclient
|
21
19
|
import auth
|
@@ -28,6 +26,12 @@ import scm
|
|
28
26
|
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
|
29
27
|
|
30
28
|
|
29
|
+
RETURN_CODE_OK = 0
|
30
|
+
RETURN_CODE_OTHER_FAILURE = 1 # any other failure, likely patch apply one.
|
31
|
+
RETURN_CODE_ARGPARSE_FAILURE = 2 # default in python.
|
32
|
+
RETURN_CODE_INFRA_FAILURE = 3 # considered as infra failure.
|
33
|
+
|
34
|
+
|
31
35
|
class Unbuffered(object):
|
32
36
|
"""Disable buffering on a file object."""
|
33
37
|
def __init__(self, stream):
|
@@ -41,9 +45,7 @@ class Unbuffered(object):
|
|
41
45
|
return getattr(self.stream, attr)
|
42
46
|
|
43
47
|
|
44
|
-
def
|
45
|
-
# TODO(pgervais): This function is way too long. Split.
|
46
|
-
sys.stdout = Unbuffered(sys.stdout)
|
48
|
+
def _get_arg_parser():
|
47
49
|
parser = optparse.OptionParser(description=sys.modules[__name__].__doc__)
|
48
50
|
parser.add_option(
|
49
51
|
'-v', '--verbose', action='count', default=0,
|
@@ -92,6 +94,13 @@ def main():
|
|
92
94
|
help='Don\'t run gclient sync on DEPS changes.')
|
93
95
|
|
94
96
|
auth.add_auth_options(parser)
|
97
|
+
return parser
|
98
|
+
|
99
|
+
|
100
|
+
def main():
|
101
|
+
# TODO(pgervais,tandrii): split this func, it's still too long.
|
102
|
+
sys.stdout = Unbuffered(sys.stdout)
|
103
|
+
parser = _get_arg_parser()
|
95
104
|
options, args = parser.parse_args()
|
96
105
|
auth_config = auth.extract_auth_config_from_options(options)
|
97
106
|
|
@@ -106,6 +115,7 @@ def main():
|
|
106
115
|
print 'update.flag file found: bot_update has run and checkout is already '
|
107
116
|
print 'in a consistent state. No actions will be performed in this step.'
|
108
117
|
return 0
|
118
|
+
|
109
119
|
logging.basicConfig(
|
110
120
|
format='%(levelname)5s %(module)11s(%(lineno)4d): %(message)s',
|
111
121
|
level=[logging.WARNING, logging.INFO, logging.DEBUG][
|
@@ -131,19 +141,23 @@ def main():
|
|
131
141
|
# Always try un-authenticated first, except for OAuth2
|
132
142
|
if options.private_key_file:
|
133
143
|
# OAuth2 authentication
|
134
|
-
|
144
|
+
rietveld_obj = rietveld.JwtOAuth2Rietveld(options.server,
|
135
145
|
options.email,
|
136
146
|
options.private_key_file)
|
137
|
-
|
147
|
+
try:
|
148
|
+
properties = rietveld_obj.get_issue_properties(options.issue, False)
|
149
|
+
except urllib2.URLError:
|
150
|
+
logging.exception('failed to fetch issue properties')
|
151
|
+
sys.exit(RETURN_CODE_INFRA_FAILURE)
|
138
152
|
else:
|
139
153
|
# Passing None as auth_config disables authentication.
|
140
|
-
|
154
|
+
rietveld_obj = rietveld.Rietveld(options.server, None)
|
141
155
|
properties = None
|
142
156
|
# Bad except clauses order (HTTPError is an ancestor class of
|
143
157
|
# ClientLoginError)
|
144
158
|
# pylint: disable=E0701
|
145
159
|
try:
|
146
|
-
properties =
|
160
|
+
properties = rietveld_obj.get_issue_properties(options.issue, False)
|
147
161
|
except urllib2.HTTPError as e:
|
148
162
|
if e.getcode() != 302:
|
149
163
|
raise
|
@@ -151,43 +165,54 @@ def main():
|
|
151
165
|
exit('FAIL: Login detected -- is issue private?')
|
152
166
|
# TODO(maruel): A few 'Invalid username or password.' are printed first,
|
153
167
|
# we should get rid of those.
|
168
|
+
except urllib2.URLError:
|
169
|
+
logging.exception('failed to fetch issue properties')
|
170
|
+
return RETURN_CODE_INFRA_FAILURE
|
154
171
|
except rietveld.upload.ClientLoginError as e:
|
155
172
|
# Fine, we'll do proper authentication.
|
156
173
|
pass
|
157
174
|
if properties is None:
|
158
|
-
|
175
|
+
rietveld_obj = rietveld.Rietveld(options.server, auth_config,
|
176
|
+
options.email)
|
159
177
|
try:
|
160
|
-
properties =
|
178
|
+
properties = rietveld_obj.get_issue_properties(options.issue, False)
|
161
179
|
except rietveld.upload.ClientLoginError as e:
|
162
180
|
print('Accessing the issue requires proper credentials.')
|
163
|
-
return
|
181
|
+
return RETURN_CODE_OTHER_FAILURE
|
182
|
+
except urllib2.URLError:
|
183
|
+
logging.exception('failed to fetch issue properties')
|
184
|
+
return RETURN_CODE_INFRA_FAILURE
|
164
185
|
|
165
186
|
if not options.patchset:
|
166
187
|
options.patchset = properties['patchsets'][-1]
|
167
188
|
print('No patchset specified. Using patchset %d' % options.patchset)
|
168
189
|
|
169
190
|
issues_patchsets_to_apply = [(options.issue, options.patchset)]
|
191
|
+
try:
|
192
|
+
depends_on_info = rietveld_obj.get_depends_on_patchset(
|
193
|
+
options.issue, options.patchset)
|
194
|
+
except urllib2.URLError:
|
195
|
+
logging.exception('failed to fetch depends_on_patchset')
|
196
|
+
return RETURN_CODE_INFRA_FAILURE
|
170
197
|
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
# print
|
190
|
-
# depends_on_info = None
|
198
|
+
while depends_on_info:
|
199
|
+
depends_on_issue = int(depends_on_info['issue'])
|
200
|
+
depends_on_patchset = int(depends_on_info['patchset'])
|
201
|
+
try:
|
202
|
+
depends_on_info = rietveld_obj.get_depends_on_patchset(depends_on_issue,
|
203
|
+
depends_on_patchset)
|
204
|
+
issues_patchsets_to_apply.insert(0, (depends_on_issue,
|
205
|
+
depends_on_patchset))
|
206
|
+
except urllib2.HTTPError:
|
207
|
+
print ('The patchset that was marked as a dependency no longer '
|
208
|
+
'exists: %s/%d/#ps%d' % (
|
209
|
+
options.server, depends_on_issue, depends_on_patchset))
|
210
|
+
print 'Therefore it is likely that this patch will not apply cleanly.'
|
211
|
+
print
|
212
|
+
depends_on_info = None
|
213
|
+
except urllib2.URLError:
|
214
|
+
logging.exception('failed to fetch dependency issue')
|
215
|
+
return RETURN_CODE_INFRA_FAILURE
|
191
216
|
|
192
217
|
num_issues_patchsets_to_apply = len(issues_patchsets_to_apply)
|
193
218
|
if num_issues_patchsets_to_apply > 1:
|
@@ -207,14 +232,21 @@ def main():
|
|
207
232
|
patchset_to_apply)
|
208
233
|
print('Downloading patch from %s' % issue_url)
|
209
234
|
try:
|
210
|
-
patchset =
|
211
|
-
except urllib2.HTTPError
|
235
|
+
patchset = rietveld_obj.get_patch(issue_to_apply, patchset_to_apply)
|
236
|
+
except urllib2.HTTPError:
|
212
237
|
print(
|
213
238
|
'Failed to fetch the patch for issue %d, patchset %d.\n'
|
214
239
|
'Try visiting %s/%d') % (
|
215
240
|
issue_to_apply, patchset_to_apply,
|
216
241
|
options.server, issue_to_apply)
|
217
|
-
|
242
|
+
# If we got this far, then this is likely missing patchset.
|
243
|
+
# Thus, it's not infra failure.
|
244
|
+
return RETURN_CODE_OTHER_FAILURE
|
245
|
+
except urllib2.URLError:
|
246
|
+
logging.exception(
|
247
|
+
'Failed to fetch the patch for issue %d, patchset %d',
|
248
|
+
issue_to_apply, patchset_to_apply)
|
249
|
+
return RETURN_CODE_INFRA_FAILURE
|
218
250
|
if options.whitelist:
|
219
251
|
patchset.patches = [patch for patch in patchset.patches
|
220
252
|
if patch.filename in options.whitelist]
|
@@ -250,7 +282,7 @@ def main():
|
|
250
282
|
print(str(e))
|
251
283
|
print('CWD=%s' % os.getcwd())
|
252
284
|
print('Checkout path=%s' % scm_obj.project_path)
|
253
|
-
return
|
285
|
+
return RETURN_CODE_OTHER_FAILURE
|
254
286
|
|
255
287
|
if ('DEPS' in map(os.path.basename, patchset.filenames)
|
256
288
|
and not options.ignore_deps):
|
@@ -281,7 +313,7 @@ def main():
|
|
281
313
|
annotated_gclient.emit_buildprops(revisions)
|
282
314
|
|
283
315
|
return retcode
|
284
|
-
return
|
316
|
+
return RETURN_CODE_OK
|
285
317
|
|
286
318
|
|
287
319
|
if __name__ == "__main__":
|
@@ -290,4 +322,4 @@ if __name__ == "__main__":
|
|
290
322
|
sys.exit(main())
|
291
323
|
except KeyboardInterrupt:
|
292
324
|
sys.stderr.write('interrupted\n')
|
293
|
-
sys.exit(
|
325
|
+
sys.exit(RETURN_CODE_OTHER_FAILURE)
|