libv8 8.4.255.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +19 -0
- data/.gitmodules +3 -0
- data/.rspec +3 -0
- data/.travis.yml +45 -0
- data/CHANGELOG.md +111 -0
- data/Gemfile +4 -0
- data/README.md +152 -0
- data/Rakefile +125 -0
- data/appveyor.yml.disabled +36 -0
- data/ext/libv8/arch.rb +20 -0
- data/ext/libv8/builder.rb +106 -0
- data/ext/libv8/extconf.rb +7 -0
- data/ext/libv8/location.rb +89 -0
- data/ext/libv8/paths.rb +28 -0
- data/lib/libv8.rb +9 -0
- data/lib/libv8/version.rb +3 -0
- data/libv8.gemspec +30 -0
- data/scaleway.png +0 -0
- data/spec/location_spec.rb +69 -0
- data/spec/spec_helper.rb +4 -0
- data/thefrontside.png +0 -0
- data/vendor/depot_tools/.cipd_impl.ps1 +129 -0
- data/vendor/depot_tools/.gitattributes +55 -0
- data/vendor/depot_tools/.gitignore +92 -0
- data/vendor/depot_tools/.style.yapf +4 -0
- data/vendor/depot_tools/.vpython +55 -0
- data/vendor/depot_tools/.vpython3 +23 -0
- data/vendor/depot_tools/CROS_OWNERS +7 -0
- data/vendor/depot_tools/GOMA_OWNERS +9 -0
- data/vendor/depot_tools/LICENSE +27 -0
- data/vendor/depot_tools/LUCI_OWNERS +5 -0
- data/vendor/depot_tools/OWNERS +39 -0
- data/vendor/depot_tools/PRESUBMIT.py +150 -0
- data/vendor/depot_tools/README.gclient.md +67 -0
- data/vendor/depot_tools/README.git-cl.md +99 -0
- data/vendor/depot_tools/README.md +78 -0
- data/vendor/depot_tools/WATCHLISTS +26 -0
- data/vendor/depot_tools/auth.py +163 -0
- data/vendor/depot_tools/autoninja +36 -0
- data/vendor/depot_tools/autoninja.bat +33 -0
- data/vendor/depot_tools/autoninja.py +148 -0
- data/vendor/depot_tools/bb +12 -0
- data/vendor/depot_tools/bb.bat +7 -0
- data/vendor/depot_tools/bootstrap/README.md +155 -0
- data/vendor/depot_tools/bootstrap/bootstrap.py +356 -0
- data/vendor/depot_tools/bootstrap/git-bash.template.sh +12 -0
- data/vendor/depot_tools/bootstrap/git.template.bat +5 -0
- data/vendor/depot_tools/bootstrap/manifest.txt +27 -0
- data/vendor/depot_tools/bootstrap/manifest_bleeding_edge.txt +27 -0
- data/vendor/depot_tools/bootstrap/profile.d.python.sh +20 -0
- data/vendor/depot_tools/bootstrap/python27.bat +46 -0
- data/vendor/depot_tools/bootstrap/python3.bat +46 -0
- data/vendor/depot_tools/bootstrap/win_tools.bat +79 -0
- data/vendor/depot_tools/bootstrap_python3 +35 -0
- data/vendor/depot_tools/breakpad.py +12 -0
- data/vendor/depot_tools/cbuildbot +1 -0
- data/vendor/depot_tools/chrome_set_ver +1 -0
- data/vendor/depot_tools/cipd +247 -0
- data/vendor/depot_tools/cipd.bat +67 -0
- data/vendor/depot_tools/cipd_bin_setup.bat +6 -0
- data/vendor/depot_tools/cipd_bin_setup.sh +22 -0
- data/vendor/depot_tools/cipd_client_version +1 -0
- data/vendor/depot_tools/cipd_client_version.digests +22 -0
- data/vendor/depot_tools/cipd_manifest.txt +63 -0
- data/vendor/depot_tools/cipd_manifest.versions +438 -0
- data/vendor/depot_tools/cit +8 -0
- data/vendor/depot_tools/cit.bat +12 -0
- data/vendor/depot_tools/cit.py +167 -0
- data/vendor/depot_tools/clang-format +8 -0
- data/vendor/depot_tools/clang-format.bat +12 -0
- data/vendor/depot_tools/clang_format.py +79 -0
- data/vendor/depot_tools/clang_format_merge_driver +8 -0
- data/vendor/depot_tools/clang_format_merge_driver.bat +12 -0
- data/vendor/depot_tools/clang_format_merge_driver.py +69 -0
- data/vendor/depot_tools/codereview.settings +6 -0
- data/vendor/depot_tools/compile_single_file +8 -0
- data/vendor/depot_tools/compile_single_file.bat +11 -0
- data/vendor/depot_tools/compile_single_file.py +79 -0
- data/vendor/depot_tools/cpplint.bat +11 -0
- data/vendor/depot_tools/cpplint.py +6097 -0
- data/vendor/depot_tools/cpplint_chromium.py +50 -0
- data/vendor/depot_tools/cros +87 -0
- data/vendor/depot_tools/cros_sdk +1 -0
- data/vendor/depot_tools/crosjobs +13 -0
- data/vendor/depot_tools/detect_host_arch.py +55 -0
- data/vendor/depot_tools/dirmd +12 -0
- data/vendor/depot_tools/dirmd.bat +7 -0
- data/vendor/depot_tools/download_from_google_storage +8 -0
- data/vendor/depot_tools/download_from_google_storage.bat +12 -0
- data/vendor/depot_tools/download_from_google_storage.py +634 -0
- data/vendor/depot_tools/ensure_bootstrap +53 -0
- data/vendor/depot_tools/fetch +21 -0
- data/vendor/depot_tools/fetch.bat +28 -0
- data/vendor/depot_tools/fetch.py +319 -0
- data/vendor/depot_tools/fetch_configs/android.py +34 -0
- data/vendor/depot_tools/fetch_configs/android_internal.py +34 -0
- data/vendor/depot_tools/fetch_configs/breakpad.py +44 -0
- data/vendor/depot_tools/fetch_configs/chromium.py +66 -0
- data/vendor/depot_tools/fetch_configs/config_util.py +52 -0
- data/vendor/depot_tools/fetch_configs/crashpad.py +41 -0
- data/vendor/depot_tools/fetch_configs/dart.py +45 -0
- data/vendor/depot_tools/fetch_configs/depot_tools.py +44 -0
- data/vendor/depot_tools/fetch_configs/devtools-frontend.py +44 -0
- data/vendor/depot_tools/fetch_configs/goma_client.py +41 -0
- data/vendor/depot_tools/fetch_configs/gyp.py +41 -0
- data/vendor/depot_tools/fetch_configs/infra.py +40 -0
- data/vendor/depot_tools/fetch_configs/infra_internal.py +45 -0
- data/vendor/depot_tools/fetch_configs/inspector_protocol.py +40 -0
- data/vendor/depot_tools/fetch_configs/ios.py +34 -0
- data/vendor/depot_tools/fetch_configs/ios_internal.py +39 -0
- data/vendor/depot_tools/fetch_configs/nacl.py +48 -0
- data/vendor/depot_tools/fetch_configs/naclports.py +47 -0
- data/vendor/depot_tools/fetch_configs/node-ci.py +41 -0
- data/vendor/depot_tools/fetch_configs/pdfium.py +40 -0
- data/vendor/depot_tools/fetch_configs/skia.py +41 -0
- data/vendor/depot_tools/fetch_configs/skia_buildbot.py +41 -0
- data/vendor/depot_tools/fetch_configs/syzygy.py +41 -0
- data/vendor/depot_tools/fetch_configs/v8.py +44 -0
- data/vendor/depot_tools/fetch_configs/webrtc.py +52 -0
- data/vendor/depot_tools/fetch_configs/webrtc_android.py +34 -0
- data/vendor/depot_tools/fetch_configs/webrtc_ios.py +34 -0
- data/vendor/depot_tools/fix_encoding.py +385 -0
- data/vendor/depot_tools/gclient +38 -0
- data/vendor/depot_tools/gclient-new-workdir.py +124 -0
- data/vendor/depot_tools/gclient.bat +32 -0
- data/vendor/depot_tools/gclient.py +3198 -0
- data/vendor/depot_tools/gclient_completion.sh +76 -0
- data/vendor/depot_tools/gclient_eval.py +891 -0
- data/vendor/depot_tools/gclient_paths.py +152 -0
- data/vendor/depot_tools/gclient_scm.py +1615 -0
- data/vendor/depot_tools/gclient_utils.py +1280 -0
- data/vendor/depot_tools/gerrit_client.py +151 -0
- data/vendor/depot_tools/gerrit_util.py +996 -0
- data/vendor/depot_tools/git-cache +6 -0
- data/vendor/depot_tools/git-cl +6 -0
- data/vendor/depot_tools/git-crrev-parse +53 -0
- data/vendor/depot_tools/git-drover +6 -0
- data/vendor/depot_tools/git-find-releases +6 -0
- data/vendor/depot_tools/git-footers +6 -0
- data/vendor/depot_tools/git-freeze +8 -0
- data/vendor/depot_tools/git-gs +9 -0
- data/vendor/depot_tools/git-hyper-blame +6 -0
- data/vendor/depot_tools/git-map +6 -0
- data/vendor/depot_tools/git-map-branches +6 -0
- data/vendor/depot_tools/git-mark-merge-base +6 -0
- data/vendor/depot_tools/git-nav-downstream +6 -0
- data/vendor/depot_tools/git-nav-upstream +6 -0
- data/vendor/depot_tools/git-new-branch +6 -0
- data/vendor/depot_tools/git-number +6 -0
- data/vendor/depot_tools/git-rebase-update +6 -0
- data/vendor/depot_tools/git-rename-branch +6 -0
- data/vendor/depot_tools/git-reparent-branch +6 -0
- data/vendor/depot_tools/git-retry +8 -0
- data/vendor/depot_tools/git-runhooks +23 -0
- data/vendor/depot_tools/git-squash-branch +6 -0
- data/vendor/depot_tools/git-templates/description +3 -0
- data/vendor/depot_tools/git-templates/hooks/applypatch-msg +4 -0
- data/vendor/depot_tools/git-templates/hooks/post-applypatch +4 -0
- data/vendor/depot_tools/git-templates/hooks/post-checkout +4 -0
- data/vendor/depot_tools/git-templates/hooks/post-commit +4 -0
- data/vendor/depot_tools/git-templates/hooks/post-merge +4 -0
- data/vendor/depot_tools/git-templates/hooks/post-update +4 -0
- data/vendor/depot_tools/git-templates/hooks/pre-applypatch +4 -0
- data/vendor/depot_tools/git-templates/hooks/pre-auto-gc +4 -0
- data/vendor/depot_tools/git-templates/hooks/pre-commit +4 -0
- data/vendor/depot_tools/git-templates/hooks/pre-rebase +4 -0
- data/vendor/depot_tools/git-templates/hooks/prepare-commit-msg +4 -0
- data/vendor/depot_tools/git-templates/info/exclude +6 -0
- data/vendor/depot_tools/git-thaw +13 -0
- data/vendor/depot_tools/git-upstream-diff +9 -0
- data/vendor/depot_tools/git_cache.py +786 -0
- data/vendor/depot_tools/git_cl.py +5158 -0
- data/vendor/depot_tools/git_cl_completion.sh +48 -0
- data/vendor/depot_tools/git_common.py +1101 -0
- data/vendor/depot_tools/git_dates.py +62 -0
- data/vendor/depot_tools/git_drover.py +469 -0
- data/vendor/depot_tools/git_find_releases.py +67 -0
- data/vendor/depot_tools/git_footers.py +261 -0
- data/vendor/depot_tools/git_freezer.py +40 -0
- data/vendor/depot_tools/git_hyper_blame.py +391 -0
- data/vendor/depot_tools/git_map.py +166 -0
- data/vendor/depot_tools/git_map_branches.py +354 -0
- data/vendor/depot_tools/git_mark_merge_base.py +73 -0
- data/vendor/depot_tools/git_nav_downstream.py +69 -0
- data/vendor/depot_tools/git_new_branch.py +82 -0
- data/vendor/depot_tools/git_number.py +301 -0
- data/vendor/depot_tools/git_rebase_update.py +351 -0
- data/vendor/depot_tools/git_rename_branch.py +55 -0
- data/vendor/depot_tools/git_reparent_branch.py +101 -0
- data/vendor/depot_tools/git_retry.py +181 -0
- data/vendor/depot_tools/git_squash_branch.py +28 -0
- data/vendor/depot_tools/git_upstream_diff.py +64 -0
- data/vendor/depot_tools/gn +8 -0
- data/vendor/depot_tools/gn.bat +12 -0
- data/vendor/depot_tools/gn.py +78 -0
- data/vendor/depot_tools/goma_auth +12 -0
- data/vendor/depot_tools/goma_auth.bat +8 -0
- data/vendor/depot_tools/goma_ctl +12 -0
- data/vendor/depot_tools/goma_ctl.bat +8 -0
- data/vendor/depot_tools/gsutil.py +190 -0
- data/vendor/depot_tools/gsutil.py.bat +23 -0
- data/vendor/depot_tools/gsutil.vpython +120 -0
- data/vendor/depot_tools/infra/README.md +1 -0
- data/vendor/depot_tools/infra/config/OWNERS +7 -0
- data/vendor/depot_tools/infra/config/README.md +1 -0
- data/vendor/depot_tools/infra/config/recipes.cfg +26 -0
- data/vendor/depot_tools/led +12 -0
- data/vendor/depot_tools/led.bat +7 -0
- data/vendor/depot_tools/lockfile.py +116 -0
- data/vendor/depot_tools/luci-auth +13 -0
- data/vendor/depot_tools/luci-auth.bat +8 -0
- data/vendor/depot_tools/lucicfg +12 -0
- data/vendor/depot_tools/lucicfg.bat +7 -0
- data/vendor/depot_tools/mac_toolchain +12 -0
- data/vendor/depot_tools/man/html/depot_tools.html +934 -0
- data/vendor/depot_tools/man/html/depot_tools_tutorial.html +1593 -0
- data/vendor/depot_tools/man/html/git-cl.html +1033 -0
- data/vendor/depot_tools/man/html/git-drover.html +1048 -0
- data/vendor/depot_tools/man/html/git-footers.html +878 -0
- data/vendor/depot_tools/man/html/git-freeze.html +859 -0
- data/vendor/depot_tools/man/html/git-hyper-blame.html +878 -0
- data/vendor/depot_tools/man/html/git-map-branches.html +904 -0
- data/vendor/depot_tools/man/html/git-map.html +887 -0
- data/vendor/depot_tools/man/html/git-mark-merge-base.html +826 -0
- data/vendor/depot_tools/man/html/git-nav-downstream.html +844 -0
- data/vendor/depot_tools/man/html/git-nav-upstream.html +853 -0
- data/vendor/depot_tools/man/html/git-new-branch.html +932 -0
- data/vendor/depot_tools/man/html/git-rebase-update.html +961 -0
- data/vendor/depot_tools/man/html/git-rename-branch.html +794 -0
- data/vendor/depot_tools/man/html/git-reparent-branch.html +847 -0
- data/vendor/depot_tools/man/html/git-retry.html +858 -0
- data/vendor/depot_tools/man/html/git-squash-branch.html +881 -0
- data/vendor/depot_tools/man/html/git-thaw.html +794 -0
- data/vendor/depot_tools/man/html/git-upstream-diff.html +923 -0
- data/vendor/depot_tools/man/man1/git-cl.1 +198 -0
- data/vendor/depot_tools/man/man1/git-drover.1 +330 -0
- data/vendor/depot_tools/man/man1/git-footers.1 +144 -0
- data/vendor/depot_tools/man/man1/git-freeze.1 +113 -0
- data/vendor/depot_tools/man/man1/git-hyper-blame.1 +128 -0
- data/vendor/depot_tools/man/man1/git-map-branches.1 +210 -0
- data/vendor/depot_tools/man/man1/git-map.1 +179 -0
- data/vendor/depot_tools/man/man1/git-mark-merge-base.1 +69 -0
- data/vendor/depot_tools/man/man1/git-nav-downstream.1 +112 -0
- data/vendor/depot_tools/man/man1/git-nav-upstream.1 +122 -0
- data/vendor/depot_tools/man/man1/git-new-branch.1 +176 -0
- data/vendor/depot_tools/man/man1/git-rebase-update.1 +177 -0
- data/vendor/depot_tools/man/man1/git-rename-branch.1 +53 -0
- data/vendor/depot_tools/man/man1/git-reparent-branch.1 +93 -0
- data/vendor/depot_tools/man/man1/git-retry.1 +108 -0
- data/vendor/depot_tools/man/man1/git-squash-branch.1 +129 -0
- data/vendor/depot_tools/man/man1/git-thaw.1 +54 -0
- data/vendor/depot_tools/man/man1/git-upstream-diff.1 +153 -0
- data/vendor/depot_tools/man/man7/depot_tools.7 +139 -0
- data/vendor/depot_tools/man/man7/depot_tools_tutorial.7 +1061 -0
- data/vendor/depot_tools/man/push_to_gs.sh +4 -0
- data/vendor/depot_tools/man/src/.gitignore +5 -0
- data/vendor/depot_tools/man/src/_aliases.txt +5 -0
- data/vendor/depot_tools/man/src/_footer.txt +8 -0
- data/vendor/depot_tools/man/src/_git-cl_desc.helper.txt +1 -0
- data/vendor/depot_tools/man/src/_git-drover_desc.helper.txt +2 -0
- data/vendor/depot_tools/man/src/_git-footers_desc.helper.txt +1 -0
- data/vendor/depot_tools/man/src/_git-freeze_desc.helper.txt +1 -0
- data/vendor/depot_tools/man/src/_git-hyper-blame_desc.helper.txt +1 -0
- data/vendor/depot_tools/man/src/_git-map-branches_desc.helper.txt +4 -0
- data/vendor/depot_tools/man/src/_git-map_desc.helper.txt +3 -0
- data/vendor/depot_tools/man/src/_git-mark-merge-base_desc.helper.txt +1 -0
- data/vendor/depot_tools/man/src/_git-nav-downstream_desc.helper.txt +1 -0
- data/vendor/depot_tools/man/src/_git-nav-upstream_desc.helper.txt +1 -0
- data/vendor/depot_tools/man/src/_git-new-branch_desc.helper.txt +1 -0
- data/vendor/depot_tools/man/src/_git-rebase-update_desc.helper.txt +1 -0
- data/vendor/depot_tools/man/src/_git-rename-branch_desc.helper.txt +1 -0
- data/vendor/depot_tools/man/src/_git-reparent-branch_desc.helper.txt +1 -0
- data/vendor/depot_tools/man/src/_git-retry_desc.helper.txt +2 -0
- data/vendor/depot_tools/man/src/_git-squash-branch_desc.helper.txt +1 -0
- data/vendor/depot_tools/man/src/_git-thaw_desc.helper.txt +2 -0
- data/vendor/depot_tools/man/src/_git-upstream-diff_desc.helper.txt +1 -0
- data/vendor/depot_tools/man/src/_helper_prefix.txt +1 -0
- data/vendor/depot_tools/man/src/asciidoc-override.css +7 -0
- data/vendor/depot_tools/man/src/common_demo_functions.sh +84 -0
- data/vendor/depot_tools/man/src/demo_repo.sh +43 -0
- data/vendor/depot_tools/man/src/depot_tools.txt +28 -0
- data/vendor/depot_tools/man/src/depot_tools_tutorial.demo.walkthrough.sh +155 -0
- data/vendor/depot_tools/man/src/depot_tools_tutorial.txt +432 -0
- data/vendor/depot_tools/man/src/filter_demo_output.py +141 -0
- data/vendor/depot_tools/man/src/git-cl.txt +119 -0
- data/vendor/depot_tools/man/src/git-drover.demo.1.sh +22 -0
- data/vendor/depot_tools/man/src/git-drover.demo.2.sh +23 -0
- 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.demo.common.sh +19 -0
- data/vendor/depot_tools/man/src/git-drover.txt +102 -0
- data/vendor/depot_tools/man/src/git-footers.demo.1.sh +17 -0
- data/vendor/depot_tools/man/src/git-footers.txt +71 -0
- data/vendor/depot_tools/man/src/git-freeze.demo.1.sh +23 -0
- data/vendor/depot_tools/man/src/git-freeze.txt +54 -0
- 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-map-branches.demo.1.sh +8 -0
- data/vendor/depot_tools/man/src/git-map-branches.txt +64 -0
- data/vendor/depot_tools/man/src/git-map.demo.1.sh +3 -0
- data/vendor/depot_tools/man/src/git-map.txt +67 -0
- data/vendor/depot_tools/man/src/git-mark-merge-base.txt +46 -0
- data/vendor/depot_tools/man/src/git-nav-downstream.demo.1.sh +12 -0
- data/vendor/depot_tools/man/src/git-nav-downstream.txt +40 -0
- data/vendor/depot_tools/man/src/git-nav-upstream.demo.1.sh +12 -0
- data/vendor/depot_tools/man/src/git-nav-upstream.txt +39 -0
- data/vendor/depot_tools/man/src/git-new-branch.demo.1.sh +17 -0
- data/vendor/depot_tools/man/src/git-new-branch.txt +82 -0
- data/vendor/depot_tools/man/src/git-rebase-update.txt +141 -0
- data/vendor/depot_tools/man/src/git-rename-branch.txt +28 -0
- data/vendor/depot_tools/man/src/git-reparent-branch.txt +61 -0
- data/vendor/depot_tools/man/src/git-retry.txt +67 -0
- data/vendor/depot_tools/man/src/git-squash-branch.demo.1.sh +12 -0
- data/vendor/depot_tools/man/src/git-squash-branch.txt +59 -0
- data/vendor/depot_tools/man/src/git-thaw.txt +29 -0
- data/vendor/depot_tools/man/src/git-upstream-diff.txt +107 -0
- data/vendor/depot_tools/man/src/make_docs.sh +260 -0
- data/vendor/depot_tools/man/src/prep_demo_repo.sh +103 -0
- data/vendor/depot_tools/metrics.README.md +101 -0
- data/vendor/depot_tools/metrics.py +297 -0
- data/vendor/depot_tools/metrics_utils.py +293 -0
- data/vendor/depot_tools/my_activity.py +971 -0
- data/vendor/depot_tools/ninja +44 -0
- 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/ninjalog.README.md +64 -0
- data/vendor/depot_tools/ninjalog_uploader.py +233 -0
- data/vendor/depot_tools/ninjalog_uploader_wrapper.py +125 -0
- data/vendor/depot_tools/owners.py +641 -0
- data/vendor/depot_tools/owners_finder.py +385 -0
- data/vendor/depot_tools/post_build_ninja_summary.py +350 -0
- data/vendor/depot_tools/presubmit_canned_checks.py +1655 -0
- data/vendor/depot_tools/presubmit_support.py +1923 -0
- data/vendor/depot_tools/profile.xml +8 -0
- data/vendor/depot_tools/prpc +13 -0
- data/vendor/depot_tools/prpc.bat +8 -0
- data/vendor/depot_tools/pylint +9 -0
- data/vendor/depot_tools/pylint-1.5 +78 -0
- data/vendor/depot_tools/pylint-1.6 +78 -0
- data/vendor/depot_tools/pylint-1.7 +78 -0
- data/vendor/depot_tools/pylint-1.8 +78 -0
- data/vendor/depot_tools/pylint-1.9 +78 -0
- data/vendor/depot_tools/pylint.bat +12 -0
- data/vendor/depot_tools/pylint_main.py +45 -0
- data/vendor/depot_tools/pylintrc +349 -0
- data/vendor/depot_tools/python-bin/python3 +7 -0
- data/vendor/depot_tools/python_runner.sh +60 -0
- data/vendor/depot_tools/rdb +12 -0
- data/vendor/depot_tools/rdb.bat +7 -0
- data/vendor/depot_tools/recipes/OWNERS +4 -0
- data/vendor/depot_tools/recipes/README.recipes.md +1079 -0
- data/vendor/depot_tools/recipes/recipe_modules/OWNERS +1 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/OWNERS +2 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/__init__.py +38 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/api.py +516 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic.json +117 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_luci.json +117 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_with_branch_heads.json +118 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/clobber.json +211 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json +194 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_rebase_patch_ref.json +211 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_reset.json +211 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/input_commit_with_id_without_repo.json +210 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/multiple_patch_refs.json +214 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_apply_patch_on_gclient.json +265 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_HEAD.json +65 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_a_branch_head.json +65 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_a_specific_commit.json +65 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_master.json +65 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/refs.json +212 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/reset_root_solution_revision.json +210 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/resolve_chromium_fixed_version.json +117 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail.json +95 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json +209 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json +193 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle.json +265 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_branch_heads.json +261 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_feature_branch.json +261 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8_feature_branch.json +265 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_webrtc.json +265 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json +265 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json +265 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/unrecognized_commit_repo.json +8 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_tags.json +211 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.py +308 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/resources/__init__.py +0 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/resources/bot_update.py +1258 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/test_api.py +93 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/tests/do_not_retry_patch_failures_in_cq.py +42 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/tests/ensure_checkout.py +35 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/__init__.py +9 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/api.py +455 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic.json +403 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic_pkg.json +403 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-failed.json +82 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-many-instances.json +411 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/mac64.json +403 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_file.json +315 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_mode.json +313 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_verfile.json +313 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/win64.json +403 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.py +187 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk arch.json +5 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk bits.json +5 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_32.json +12 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_64.json +12 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_32.json +12 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_64.json +12 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_mips_64.json +12 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/mac_intel_64.json +12 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_32.json +12 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_64.json +12 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.py +59 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/test_api.py +93 -0
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/__init__.py +9 -0
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/api.py +75 -0
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic.json +83 -0
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic_luci.json +83 -0
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/win.json +83 -0
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.py +55 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/__init__.py +13 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/api.py +428 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/config.py +462 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/basic.json +238 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/revision.json +240 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/tryserver.json +238 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.py +95 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/resources/diff_deps.py +16 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/test_api.py +36 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/basic.json +55 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/dont have revision yet.json +84 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/no change, exception.json +83 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/windows.json +55 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.py +88 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/patch_project.py +92 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/sync_failure.py +24 -0
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/__init__.py +8 -0
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/api.py +178 -0
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.expected/basic.json +284 -0
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.py +73 -0
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/test_api.py +53 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/__init__.py +11 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/api.py +405 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic.json +217 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_branch.json +217 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_file_name.json +219 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_hash.json +216 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_ref.json +217 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_submodule_update_force.json +218 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_tags.json +218 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/can_fail_build.json +164 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cannot_fail_build.json +220 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cat-file_test.json +239 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_delta.json +290 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_failed.json +220 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output.json +222 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output_fails_build.json +111 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/curl_trace_file.json +218 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/git-cache-checkout.json +265 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/platform_win.json +217 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/rebase_failed.json +221 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/remote_not_origin.json +219 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/set_got_revision.json +218 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.py +170 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/resources/git_setup.py +52 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/test_api.py +18 -0
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/__init__.py +5 -0
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/api.py +50 -0
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/config.py +22 -0
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/examples/full.expected/basic.json +105 -0
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/examples/full.py +47 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/OWNERS +2 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/__init__.py +12 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/api.py +257 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/examples/full.expected/basic.json +596 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/examples/full.py +93 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/resources/gerrit_client.py +251 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/test_api.py +95 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/tests/parse_repo_url.expected/basic.json +5 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/tests/parse_repo_url.py +49 -0
- data/vendor/depot_tools/recipes/recipe_modules/gsutil/__init__.py +4 -0
- data/vendor/depot_tools/recipes/recipe_modules/gsutil/api.py +222 -0
- data/vendor/depot_tools/recipes/recipe_modules/gsutil/examples/full.expected/basic.json +247 -0
- data/vendor/depot_tools/recipes/recipe_modules/gsutil/examples/full.py +92 -0
- data/vendor/depot_tools/recipes/recipe_modules/gsutil/resources/gsutil_smart_retry.py +69 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/__init__.py +36 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/api.py +140 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/ancient_version.json +83 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/automatic_version.json +83 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/explicit_version.json +83 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/linux.json +21 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/mac.json +83 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/win.json +21 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.py +42 -0
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/__init__.py +27 -0
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/api.py +251 -0
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/examples/full.expected/basic.json +27 -0
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/examples/full.py +19 -0
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/properties.proto +14 -0
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/test_api.py +19 -0
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/tests/execute.py +247 -0
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/tests/prepare.py +49 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/__init__.py +18 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/api.py +264 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/basic_tags.json +57 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch.json +190 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch_and_target_ref.json +190 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch.json +21 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch_new.json +22 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.py +95 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/test_api.py +14 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_fetch_ref_timeout.py +29 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_owner.expected/basic.json +5 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_owner.py +22 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_target_ref.py +32 -0
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/__init__.py +25 -0
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/api.py +137 -0
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/linux.json +21 -0
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/mac.json +21 -0
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/win.json +108 -0
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.py +21 -0
- data/vendor/depot_tools/recipes/recipes.py +249 -0
- data/vendor/depot_tools/recipes/recipes/fetch_end_to_end_test.expected/basic.json +175 -0
- data/vendor/depot_tools/recipes/recipes/fetch_end_to_end_test.py +56 -0
- data/vendor/depot_tools/recipes/trigger_recipe_roller.txt +13 -0
- data/vendor/depot_tools/repo +1194 -0
- data/vendor/depot_tools/roll-dep +21 -0
- data/vendor/depot_tools/roll-dep.bat +21 -0
- data/vendor/depot_tools/roll_dep.py +282 -0
- data/vendor/depot_tools/scm.py +415 -0
- data/vendor/depot_tools/setup_color.py +130 -0
- data/vendor/depot_tools/split_cl.py +263 -0
- data/vendor/depot_tools/subcommand.py +261 -0
- data/vendor/depot_tools/subprocess2.py +258 -0
- data/vendor/depot_tools/third_party/__init__.py +5 -0
- data/vendor/depot_tools/third_party/colorama/LICENSE.txt +27 -0
- data/vendor/depot_tools/third_party/colorama/README.chromium +12 -0
- data/vendor/depot_tools/third_party/colorama/README.rst +346 -0
- data/vendor/depot_tools/third_party/colorama/__init__.py +6 -0
- data/vendor/depot_tools/third_party/colorama/ansi.py +102 -0
- data/vendor/depot_tools/third_party/colorama/ansitowin32.py +257 -0
- data/vendor/depot_tools/third_party/colorama/initialise.py +80 -0
- data/vendor/depot_tools/third_party/colorama/win32.py +152 -0
- data/vendor/depot_tools/third_party/colorama/winterm.py +169 -0
- data/vendor/depot_tools/third_party/coverage/AUTHORS.txt +43 -0
- data/vendor/depot_tools/third_party/coverage/PKG-INFO +41 -0
- data/vendor/depot_tools/third_party/coverage/README.chromium +13 -0
- data/vendor/depot_tools/third_party/coverage/__init__.py +120 -0
- data/vendor/depot_tools/third_party/coverage/__main__.py +4 -0
- data/vendor/depot_tools/third_party/coverage/annotate.py +101 -0
- data/vendor/depot_tools/third_party/coverage/backward.py +184 -0
- data/vendor/depot_tools/third_party/coverage/bytecode.py +75 -0
- data/vendor/depot_tools/third_party/coverage/cmdline.py +740 -0
- data/vendor/depot_tools/third_party/coverage/codeunit.py +145 -0
- data/vendor/depot_tools/third_party/coverage/collector.py +353 -0
- data/vendor/depot_tools/third_party/coverage/config.py +213 -0
- data/vendor/depot_tools/third_party/coverage/control.py +776 -0
- data/vendor/depot_tools/third_party/coverage/data.py +278 -0
- data/vendor/depot_tools/third_party/coverage/debug.py +54 -0
- data/vendor/depot_tools/third_party/coverage/execfile.py +171 -0
- data/vendor/depot_tools/third_party/coverage/files.py +309 -0
- data/vendor/depot_tools/third_party/coverage/fullcoverage/encodings.py +57 -0
- data/vendor/depot_tools/third_party/coverage/html.py +387 -0
- data/vendor/depot_tools/third_party/coverage/htmlfiles/coverage_html.js +376 -0
- data/vendor/depot_tools/third_party/coverage/htmlfiles/index.html +104 -0
- data/vendor/depot_tools/third_party/coverage/htmlfiles/jquery-1.4.3.min.js +166 -0
- data/vendor/depot_tools/third_party/coverage/htmlfiles/jquery.hotkeys.js +99 -0
- data/vendor/depot_tools/third_party/coverage/htmlfiles/jquery.isonscreen.js +53 -0
- data/vendor/depot_tools/third_party/coverage/htmlfiles/jquery.min.js +166 -0
- data/vendor/depot_tools/third_party/coverage/htmlfiles/jquery.tablesorter.min.js +2 -0
- data/vendor/depot_tools/third_party/coverage/htmlfiles/keybd_closed.png +0 -0
- data/vendor/depot_tools/third_party/coverage/htmlfiles/keybd_open.png +0 -0
- data/vendor/depot_tools/third_party/coverage/htmlfiles/pyfile.html +90 -0
- data/vendor/depot_tools/third_party/coverage/htmlfiles/style.css +300 -0
- data/vendor/depot_tools/third_party/coverage/misc.py +163 -0
- data/vendor/depot_tools/third_party/coverage/parser.py +666 -0
- data/vendor/depot_tools/third_party/coverage/phystokens.py +208 -0
- data/vendor/depot_tools/third_party/coverage/report.py +92 -0
- data/vendor/depot_tools/third_party/coverage/results.py +286 -0
- data/vendor/depot_tools/third_party/coverage/summary.py +86 -0
- data/vendor/depot_tools/third_party/coverage/templite.py +166 -0
- data/vendor/depot_tools/third_party/coverage/version.py +9 -0
- data/vendor/depot_tools/third_party/coverage/xmlreport.py +155 -0
- data/vendor/depot_tools/third_party/httplib2/LICENSE +1339 -0
- data/vendor/depot_tools/third_party/httplib2/README.chromium +15 -0
- data/vendor/depot_tools/third_party/httplib2/__init__.py +1780 -0
- data/vendor/depot_tools/third_party/httplib2/cacerts.txt +2196 -0
- data/vendor/depot_tools/third_party/httplib2/iri2uri.py +110 -0
- data/vendor/depot_tools/third_party/httplib2/socks.py +448 -0
- data/vendor/depot_tools/third_party/repo/COPYING +202 -0
- data/vendor/depot_tools/third_party/repo/README.chromium +4 -0
- data/vendor/depot_tools/third_party/repo/__init__.py +0 -0
- data/vendor/depot_tools/third_party/repo/progress.py +117 -0
- data/vendor/depot_tools/third_party/retry_decorator/LICENSE.google +30 -0
- data/vendor/depot_tools/third_party/retry_decorator/__init__.py +0 -0
- data/vendor/depot_tools/third_party/retry_decorator/decorators.py +45 -0
- data/vendor/depot_tools/third_party/schema/.editorconfig +15 -0
- data/vendor/depot_tools/third_party/schema/.gitignore +174 -0
- data/vendor/depot_tools/third_party/schema/.travis.yml +37 -0
- data/vendor/depot_tools/third_party/schema/LICENSE-MIT +19 -0
- data/vendor/depot_tools/third_party/schema/MANIFEST.in +1 -0
- data/vendor/depot_tools/third_party/schema/README.chromium +12 -0
- data/vendor/depot_tools/third_party/schema/README.rst +382 -0
- data/vendor/depot_tools/third_party/schema/__init__.py +1 -0
- data/vendor/depot_tools/third_party/schema/schema.py +338 -0
- data/vendor/depot_tools/third_party/schema/setup.cfg +5 -0
- data/vendor/depot_tools/third_party/schema/setup.py +30 -0
- data/vendor/depot_tools/third_party/schema/test_schema.py +556 -0
- data/vendor/depot_tools/third_party/schema/tox.ini +33 -0
- data/vendor/depot_tools/third_party/six/LICENSE.txt +18 -0
- data/vendor/depot_tools/third_party/six/README.chromium +10 -0
- data/vendor/depot_tools/third_party/six/__init__.py +762 -0
- data/vendor/depot_tools/update_depot_tools +138 -0
- data/vendor/depot_tools/update_depot_tools.bat +65 -0
- data/vendor/depot_tools/update_depot_tools_toggle.py +38 -0
- data/vendor/depot_tools/upload_metrics.py +26 -0
- data/vendor/depot_tools/upload_to_google_storage.py +306 -0
- data/vendor/depot_tools/vpython +42 -0
- data/vendor/depot_tools/vpython.bat +7 -0
- data/vendor/depot_tools/vpython3 +55 -0
- data/vendor/depot_tools/vpython3.bat +12 -0
- data/vendor/depot_tools/watchlists.py +141 -0
- data/vendor/depot_tools/weekly +54 -0
- data/vendor/depot_tools/win32imports.py +61 -0
- data/vendor/depot_tools/win_toolchain/OWNERS +2 -0
- data/vendor/depot_tools/win_toolchain/README.md +74 -0
- data/vendor/depot_tools/win_toolchain/get_toolchain_if_necessary.py +599 -0
- data/vendor/depot_tools/win_toolchain/package_from_installed.py +524 -0
- data/vendor/depot_tools/wtf +81 -0
- data/vendor/depot_tools/yapf +21 -0
- data/vendor/depot_tools/yapf.bat +12 -0
- data/vendor/depot_tools/zsh-goodies/README +6 -0
- data/vendor/depot_tools/zsh-goodies/_gclient +14 -0
- metadata +729 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# gclient
|
|
2
|
+
|
|
3
|
+
gclient is a tool for managing a modular checkout of source code from multiple
|
|
4
|
+
source code repositories. It wraps underlying source code management commands
|
|
5
|
+
to provide support for distributing tree updates, status commands, and diffs
|
|
6
|
+
across multiple checked-out working directories.
|
|
7
|
+
|
|
8
|
+
The gclient script is controlled by a `.gclient` file at the top of a directory
|
|
9
|
+
tree which will contain source code from multiple locations. A `.gclient` file
|
|
10
|
+
is a Python script that defines a list of `solutions` with the following format:
|
|
11
|
+
|
|
12
|
+
solutions = [
|
|
13
|
+
{ "name" : "src",
|
|
14
|
+
"url" : "https://chromium.googlesource.com/chromium/src.git",
|
|
15
|
+
"custom_deps" : {
|
|
16
|
+
# To use the trunk of a component instead of what's in DEPS:
|
|
17
|
+
#"component": "https://github.com/luci/luci-go",
|
|
18
|
+
# To exclude a component from your working copy:
|
|
19
|
+
#"data/really_large_component": None,
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
A `solution` is a collection of component pieces of software that will be
|
|
25
|
+
checked out in a specific directory layout for building together.
|
|
26
|
+
|
|
27
|
+
Each entry in the `solutions` list is defined by a Python dictionary that
|
|
28
|
+
contains the following items:
|
|
29
|
+
|
|
30
|
+
- `name`: The name of the directory in which the solution will be checked out.
|
|
31
|
+
- `url`: The URL from which this solution will be checked out. gclient expects
|
|
32
|
+
that the checked-out solution will contain a file named `DEPS` that in turn
|
|
33
|
+
defines the specific pieces that must be checked out to create the working
|
|
34
|
+
directory layout for building and developing the solution's software.
|
|
35
|
+
- `deps_file`: A string containing just the filename (not a path) of the file in
|
|
36
|
+
the solution dir to use as the list of dependencies. This tag is optional, and
|
|
37
|
+
defaults to `DEPS`.
|
|
38
|
+
- `custom_deps`: A dictionary containing optional custom overrides for entries
|
|
39
|
+
in the solution's `DEPS` file. This can be used to have the local working
|
|
40
|
+
directory *not* check out and update specific components, or to sync the local
|
|
41
|
+
working-directory copy of a given component to a different specific revision,
|
|
42
|
+
or a branch, or the head of a tree. It can also be used to append new entries
|
|
43
|
+
that do not exist in the `DEPS` file.
|
|
44
|
+
|
|
45
|
+
Within each checked-out solution, gclient expects to find a file typically named
|
|
46
|
+
`DEPS` (it actually uses the value of the `deps_file` key above) which defines
|
|
47
|
+
the different component pieces of software that must be checked out for the
|
|
48
|
+
solution. The `DEPS` file is a Python script that defines a dictionary named
|
|
49
|
+
`deps`:
|
|
50
|
+
|
|
51
|
+
deps = {
|
|
52
|
+
"src/outside": "https://outside-server/one/repo.git@12345677890123456778901234567789012345677890",
|
|
53
|
+
"src/component": "https://dont-use-github.com/its/unreliable.git@0000000000000000000000000000000000000000",
|
|
54
|
+
"src/relative": "/another/repo.git@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
Each item in the `deps` dictionary consists of a key-value pair. The key is the
|
|
58
|
+
directory into which the component will be checked out, relative to the
|
|
59
|
+
directory containing the `.gclient` file. The value is the URL from which that
|
|
60
|
+
directory will be checked out. If there is no address scheme (that is, no
|
|
61
|
+
`http:` prefix), then the value must begin with a slash and is treated
|
|
62
|
+
relative to the root of the solution's repository.
|
|
63
|
+
|
|
64
|
+
The URL typically contains a specific revision or change number (as appropriate
|
|
65
|
+
for the underlying SCM system) to `freeze` the external software at a specific,
|
|
66
|
+
known state. Alternatively, if there is no revision or change number, the URL
|
|
67
|
+
will track the latest changes on the specific trunk or branch.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# git-cl
|
|
2
|
+
|
|
3
|
+
The git-cl README describes the git-cl command set. This document describes how
|
|
4
|
+
code review and git work together in general, intended for people familiar with
|
|
5
|
+
git but unfamiliar with the code review process supported by Rietveld and
|
|
6
|
+
Gerrit.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Basic interaction with git
|
|
10
|
+
|
|
11
|
+
The fundamental problem you encounter when you try to mix git and code review is
|
|
12
|
+
that with git it's nice to commit code locally, while during a code review
|
|
13
|
+
you're often requested to change something about your code. There are a few
|
|
14
|
+
different ways you can handle this workflow with git:
|
|
15
|
+
|
|
16
|
+
1. Rewriting a single commit. Say the origin commit is O, and you commit your
|
|
17
|
+
initial work in a commit A, making your history like O--A. After review
|
|
18
|
+
comments, you `git commit --amend`, effectively erasing A and making a new
|
|
19
|
+
commit A', so history is now O--A'. (Equivalently, you can use
|
|
20
|
+
`git reset --soft` or `git rebase -i`.)
|
|
21
|
+
2. Writing follow-up commits. Initial work is again in A, and after review
|
|
22
|
+
comments, you write a new commit B so your history looks like O--A--B. When
|
|
23
|
+
you upload the revised patch, you upload the diff of O..B, not A..B; you
|
|
24
|
+
always upload the full diff of what you're proposing to change.
|
|
25
|
+
|
|
26
|
+
The Rietveld patch uploader just takes arguments to `git diff`, so either of the
|
|
27
|
+
above workflows work fine. If all you want to do is upload a patch, you can use
|
|
28
|
+
the upload.py provided by Rietveld with arguments like this:
|
|
29
|
+
|
|
30
|
+
upload.py --server server.com <args to "git diff">
|
|
31
|
+
|
|
32
|
+
The first time you upload, it creates a new issue; for follow-ups on the same
|
|
33
|
+
issue, you need to provide the issue number:
|
|
34
|
+
|
|
35
|
+
upload.py --server server.com --issue 1234 <args to "git diff">
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
## git-cl to the rescue
|
|
39
|
+
|
|
40
|
+
git-cl simplifies the above in the following ways:
|
|
41
|
+
|
|
42
|
+
1. `git cl config` puts a persistent --server setting in your .git/config.
|
|
43
|
+
2. The first time you upload an issue, the issue number is associated with the
|
|
44
|
+
current *branch*. If you upload again, it will upload on the same issue.
|
|
45
|
+
(Note that this association is tied to a branch, not a commit, which means
|
|
46
|
+
you need a separate branch per review.)
|
|
47
|
+
3. If your branch is _tracking_ (in the `git checkout --track` sense) another
|
|
48
|
+
one (like origin/master), calls to `git cl upload` will diff against that
|
|
49
|
+
branch by default. (You can still pass arguments to `git diff` on the
|
|
50
|
+
command line, if necessary.)
|
|
51
|
+
|
|
52
|
+
In the common case, this means that calling simply `git cl upload` will always
|
|
53
|
+
upload the correct diff to the correct place.
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
## Patch series
|
|
57
|
+
|
|
58
|
+
The above is all you need to know for working on a single patch.
|
|
59
|
+
|
|
60
|
+
Things get much more complicated when you have a series of commits that you want
|
|
61
|
+
to get reviewed. Say your history looks like O--A--B--C. If you want to upload
|
|
62
|
+
that as a single review, everything works just as above.
|
|
63
|
+
|
|
64
|
+
But what if you upload each of A, B, and C as separate reviews? What if you
|
|
65
|
+
then need to change A?
|
|
66
|
+
|
|
67
|
+
1. One option is rewriting history: write a new commit A', then use
|
|
68
|
+
`git rebase -i` to insert that diff in as O--A--A'--B--C as well as squash
|
|
69
|
+
it. This is sometimes not possible if B and C have touched some lines
|
|
70
|
+
affected by A'.
|
|
71
|
+
2. Another option, and the one espoused by software like topgit, is for you to
|
|
72
|
+
have separate branches for A, B, and C, and after writing A' you merge it
|
|
73
|
+
into each of those branches. (topgit automates this merging process.) This
|
|
74
|
+
is also what is recommended by git-cl, which likes having different branch
|
|
75
|
+
identifiers to hang the issue number off of. Your history ends up looking
|
|
76
|
+
like:
|
|
77
|
+
|
|
78
|
+
O---A---B---C
|
|
79
|
+
\ \ \
|
|
80
|
+
A'--B'--C'
|
|
81
|
+
|
|
82
|
+
Which is ugly, but it accurately tracks the real history of your work, can be
|
|
83
|
+
thrown away at the end by committing A+A' as a single `squash` commit.
|
|
84
|
+
|
|
85
|
+
In practice, this comes up pretty rarely. Suggestions for better workflows are
|
|
86
|
+
welcome.
|
|
87
|
+
|
|
88
|
+
## Bash auto completion
|
|
89
|
+
|
|
90
|
+
1. Ensure that your base git commands are autocompleted
|
|
91
|
+
[doc](https://git-scm.com/book/en/v1/Git-Basics-Tips-and-Tricks).
|
|
92
|
+
2. Add this to your .bashrc:
|
|
93
|
+
|
|
94
|
+
# The next line enables bash completion for git cl.
|
|
95
|
+
if [ -f "$HOME/bin/depot_tools/git_cl_completion.sh" ]; then
|
|
96
|
+
. "$HOME/bin/depot_tools/git_cl_completion.sh"
|
|
97
|
+
fi
|
|
98
|
+
|
|
99
|
+
3. Profit.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# depot_tools
|
|
2
|
+
|
|
3
|
+
Tools for working with Chromium development. It requires python 2.7 or 3.8 for python 3 support.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## Tools
|
|
7
|
+
|
|
8
|
+
The most important tools are:
|
|
9
|
+
|
|
10
|
+
- `fetch`: A `gclient` wrapper to checkout a project. Use `fetch --help` for
|
|
11
|
+
more details.
|
|
12
|
+
- `gclient`: A meta-checkout tool. Think
|
|
13
|
+
[repo](https://source.android.com/source/using-repo.html) or [git
|
|
14
|
+
submodules](https://git-scm.com/docs/git-submodule), except that it support
|
|
15
|
+
OS-specific rules, e.g. do not checkout Windows only dependencies when
|
|
16
|
+
checking out for Android. Use `gclient help` for more details and
|
|
17
|
+
[README.gclient.md](README.gclient.md).
|
|
18
|
+
- `git cl`: A code review tool to interact with Rietveld or Gerrit. Use `git cl
|
|
19
|
+
help` for more details and [README.git-cl.md](README.git-cl.md).
|
|
20
|
+
- `roll-dep`: A gclient dependency management tool to submit a _dep roll_,
|
|
21
|
+
updating a dependency to a newer revision.
|
|
22
|
+
|
|
23
|
+
There are a lot of git utilities included.
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## Updating
|
|
27
|
+
|
|
28
|
+
`depot_tools` updates itself automatically when running `gclient` tool. To
|
|
29
|
+
disable auto update, set the environment variable `DEPOT_TOOLS_UPDATE=0`.
|
|
30
|
+
|
|
31
|
+
To update package manually, run `update_depot_tools.bat` on Windows,
|
|
32
|
+
or `./update_depot_tools` on Linux or Mac.
|
|
33
|
+
|
|
34
|
+
On Windows only, running `gclient` will install `git` and `python`.
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
## Contributing
|
|
38
|
+
|
|
39
|
+
To contribute change for review:
|
|
40
|
+
|
|
41
|
+
git new-branch <somename>
|
|
42
|
+
# Hack
|
|
43
|
+
git add .
|
|
44
|
+
git commit -a -m "Fixes goat teleporting"
|
|
45
|
+
# find reviewers
|
|
46
|
+
git cl owners
|
|
47
|
+
git log -- <yourfiles>
|
|
48
|
+
|
|
49
|
+
# Request a review.
|
|
50
|
+
git cl upload -r reviewer1@chromium.org,reviewer2@chromium.org --send-mail
|
|
51
|
+
|
|
52
|
+
# Edit change description if needed.
|
|
53
|
+
git cl desc
|
|
54
|
+
|
|
55
|
+
# If change is approved, flag it to be committed.
|
|
56
|
+
git cl set-commit
|
|
57
|
+
|
|
58
|
+
# If change needs more work.
|
|
59
|
+
git rebase-update
|
|
60
|
+
...
|
|
61
|
+
git cl upload -t "Fixes goat teleporter destination to be Australia"
|
|
62
|
+
|
|
63
|
+
See also [open bugs](https://bugs.chromium.org/p/chromium/issues/list?can=2&q=component%3AInfra%3ESDK),
|
|
64
|
+
[open reviews](https://chromium-review.googlesource.com/q/status:open+project:chromium%252Ftools%252Fdepot_tools),
|
|
65
|
+
[forum](https://groups.google.com/a/chromium.org/forum/#!forum/infra-dev) or
|
|
66
|
+
[report problems](https://bugs.chromium.org/p/chromium/issues/entry?components=Infra%3ESDK).
|
|
67
|
+
|
|
68
|
+
### cpplint.py
|
|
69
|
+
|
|
70
|
+
Until 2018, our `cpplint.py` was a copy of the upstream version at
|
|
71
|
+
https://github.com/google/styleguide/tree/gh-pages/cpplint. Unfortunately, that
|
|
72
|
+
repository is not maintained any more.
|
|
73
|
+
If you want to update `cpplint.py` in `depot_tools`, just upload a patch to do
|
|
74
|
+
so. We will figure out a long-term strategy via issue https://crbug.com/916550.
|
|
75
|
+
|
|
76
|
+
Note that the `cpplint.py` here is also used by the [Tricium
|
|
77
|
+
analyzer](https://chromium.googlesource.com/infra/infra/+/HEAD/go/src/infra/tricium/functions/cpplint),
|
|
78
|
+
so if the cpplint.py here changes, we should also update the copy used there.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Copyright (c) 2019 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
|
+
# Watchlist Rules
|
|
6
|
+
# Refer: http://dev.chromium.org/developers/contributing-code/watchlists
|
|
7
|
+
|
|
8
|
+
{
|
|
9
|
+
|
|
10
|
+
'WATCHLIST_DEFINITIONS': {
|
|
11
|
+
'this_file': {
|
|
12
|
+
'filepath': '^WATCHLISTS$',
|
|
13
|
+
},
|
|
14
|
+
'depot_tools': {
|
|
15
|
+
'filepath': '.+',
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
|
|
19
|
+
'WATCHLISTS': {
|
|
20
|
+
'this_file': [],
|
|
21
|
+
'depot_tools': [
|
|
22
|
+
'chops-source-team+depot_tools@google.com',
|
|
23
|
+
],
|
|
24
|
+
},
|
|
25
|
+
|
|
26
|
+
}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# Copyright 2015 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
|
+
"""Google OAuth2 related functions."""
|
|
6
|
+
|
|
7
|
+
from __future__ import print_function
|
|
8
|
+
|
|
9
|
+
import collections
|
|
10
|
+
import datetime
|
|
11
|
+
import functools
|
|
12
|
+
import httplib2
|
|
13
|
+
import json
|
|
14
|
+
import logging
|
|
15
|
+
import os
|
|
16
|
+
|
|
17
|
+
import subprocess2
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
# This is what most GAE apps require for authentication.
|
|
21
|
+
OAUTH_SCOPE_EMAIL = 'https://www.googleapis.com/auth/userinfo.email'
|
|
22
|
+
# Gerrit and Git on *.googlesource.com require this scope.
|
|
23
|
+
OAUTH_SCOPE_GERRIT = 'https://www.googleapis.com/auth/gerritcodereview'
|
|
24
|
+
# Deprecated. Use OAUTH_SCOPE_EMAIL instead.
|
|
25
|
+
OAUTH_SCOPES = OAUTH_SCOPE_EMAIL
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
# Mockable datetime.datetime.utcnow for testing.
|
|
29
|
+
def datetime_now():
|
|
30
|
+
return datetime.datetime.utcnow()
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# OAuth access token with its expiration time (UTC datetime or None if unknown).
|
|
34
|
+
class AccessToken(collections.namedtuple('AccessToken', [
|
|
35
|
+
'token',
|
|
36
|
+
'expires_at',
|
|
37
|
+
])):
|
|
38
|
+
|
|
39
|
+
def needs_refresh(self):
|
|
40
|
+
"""True if this AccessToken should be refreshed."""
|
|
41
|
+
if self.expires_at is not None:
|
|
42
|
+
# Allow 30s of clock skew between client and backend.
|
|
43
|
+
return datetime_now() + datetime.timedelta(seconds=30) >= self.expires_at
|
|
44
|
+
# Token without expiration time never expires.
|
|
45
|
+
return False
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class LoginRequiredError(Exception):
|
|
49
|
+
"""Interaction with the user is required to authenticate."""
|
|
50
|
+
|
|
51
|
+
def __init__(self, scopes=OAUTH_SCOPE_EMAIL):
|
|
52
|
+
msg = (
|
|
53
|
+
'You are not logged in. Please login first by running:\n'
|
|
54
|
+
' luci-auth login -scopes %s' % scopes)
|
|
55
|
+
super(LoginRequiredError, self).__init__(msg)
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def has_luci_context_local_auth():
|
|
59
|
+
"""Returns whether LUCI_CONTEXT should be used for ambient authentication."""
|
|
60
|
+
ctx_path = os.environ.get('LUCI_CONTEXT')
|
|
61
|
+
if not ctx_path:
|
|
62
|
+
return False
|
|
63
|
+
try:
|
|
64
|
+
with open(ctx_path) as f:
|
|
65
|
+
loaded = json.load(f)
|
|
66
|
+
except (OSError, IOError, ValueError):
|
|
67
|
+
return False
|
|
68
|
+
return loaded.get('local_auth', {}).get('default_account_id') is not None
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
class Authenticator(object):
|
|
72
|
+
"""Object that knows how to refresh access tokens when needed.
|
|
73
|
+
|
|
74
|
+
Args:
|
|
75
|
+
scopes: space separated oauth scopes. Defaults to OAUTH_SCOPE_EMAIL.
|
|
76
|
+
"""
|
|
77
|
+
|
|
78
|
+
def __init__(self, scopes=OAUTH_SCOPE_EMAIL):
|
|
79
|
+
self._access_token = None
|
|
80
|
+
self._scopes = scopes
|
|
81
|
+
|
|
82
|
+
def has_cached_credentials(self):
|
|
83
|
+
"""Returns True if credentials can be obtained.
|
|
84
|
+
|
|
85
|
+
If returns False, get_access_token() later will probably ask for interactive
|
|
86
|
+
login by raising LoginRequiredError.
|
|
87
|
+
|
|
88
|
+
If returns True, get_access_token() won't ask for interactive login.
|
|
89
|
+
"""
|
|
90
|
+
return bool(self._get_luci_auth_token())
|
|
91
|
+
|
|
92
|
+
def get_access_token(self):
|
|
93
|
+
"""Returns AccessToken, refreshing it if necessary.
|
|
94
|
+
|
|
95
|
+
Raises:
|
|
96
|
+
LoginRequiredError if user interaction is required.
|
|
97
|
+
"""
|
|
98
|
+
if self._access_token and not self._access_token.needs_refresh():
|
|
99
|
+
return self._access_token
|
|
100
|
+
|
|
101
|
+
# Token expired or missing. Maybe some other process already updated it,
|
|
102
|
+
# reload from the cache.
|
|
103
|
+
self._access_token = self._get_luci_auth_token()
|
|
104
|
+
if self._access_token and not self._access_token.needs_refresh():
|
|
105
|
+
return self._access_token
|
|
106
|
+
|
|
107
|
+
# Nope, still expired. Needs user interaction.
|
|
108
|
+
logging.error('Failed to create access token')
|
|
109
|
+
raise LoginRequiredError(self._scopes)
|
|
110
|
+
|
|
111
|
+
def authorize(self, http):
|
|
112
|
+
"""Monkey patches authentication logic of httplib2.Http instance.
|
|
113
|
+
|
|
114
|
+
The modified http.request method will add authentication headers to each
|
|
115
|
+
request.
|
|
116
|
+
|
|
117
|
+
Args:
|
|
118
|
+
http: An instance of httplib2.Http.
|
|
119
|
+
|
|
120
|
+
Returns:
|
|
121
|
+
A modified instance of http that was passed in.
|
|
122
|
+
"""
|
|
123
|
+
# Adapted from oauth2client.OAuth2Credentials.authorize.
|
|
124
|
+
request_orig = http.request
|
|
125
|
+
|
|
126
|
+
@functools.wraps(request_orig)
|
|
127
|
+
def new_request(
|
|
128
|
+
uri, method='GET', body=None, headers=None,
|
|
129
|
+
redirections=httplib2.DEFAULT_MAX_REDIRECTS,
|
|
130
|
+
connection_type=None):
|
|
131
|
+
headers = (headers or {}).copy()
|
|
132
|
+
headers['Authorization'] = 'Bearer %s' % self.get_access_token().token
|
|
133
|
+
return request_orig(
|
|
134
|
+
uri, method, body, headers, redirections, connection_type)
|
|
135
|
+
|
|
136
|
+
http.request = new_request
|
|
137
|
+
return http
|
|
138
|
+
|
|
139
|
+
## Private methods.
|
|
140
|
+
|
|
141
|
+
def _run_luci_auth_login(self):
|
|
142
|
+
"""Run luci-auth login.
|
|
143
|
+
|
|
144
|
+
Returns:
|
|
145
|
+
AccessToken with credentials.
|
|
146
|
+
"""
|
|
147
|
+
logging.debug('Running luci-auth login')
|
|
148
|
+
subprocess2.check_call(['luci-auth', 'login', '-scopes', self._scopes])
|
|
149
|
+
return self._get_luci_auth_token()
|
|
150
|
+
|
|
151
|
+
def _get_luci_auth_token(self):
|
|
152
|
+
logging.debug('Running luci-auth token')
|
|
153
|
+
try:
|
|
154
|
+
out, err = subprocess2.check_call_out(
|
|
155
|
+
['luci-auth', 'token', '-scopes', self._scopes, '-json-output', '-'],
|
|
156
|
+
stdout=subprocess2.PIPE, stderr=subprocess2.PIPE)
|
|
157
|
+
logging.debug('luci-auth token stderr:\n%s', err)
|
|
158
|
+
token_info = json.loads(out)
|
|
159
|
+
return AccessToken(
|
|
160
|
+
token_info['token'],
|
|
161
|
+
datetime.datetime.utcfromtimestamp(token_info['expiry']))
|
|
162
|
+
except subprocess2.CalledProcessError:
|
|
163
|
+
return None
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# Copyright (c) 2017 Google Inc. 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
|
+
# Set unique build ID.
|
|
8
|
+
AUTONINJA_BUILD_ID="$(vpython -c "import uuid; print(uuid.uuid4())")"
|
|
9
|
+
export AUTONINJA_BUILD_ID
|
|
10
|
+
|
|
11
|
+
if [ "$NINJA_SUMMARIZE_BUILD" == "1" ]; then
|
|
12
|
+
export NINJA_STATUS="[%r processes, %f/%t @ %o/s : %es ] "
|
|
13
|
+
fi
|
|
14
|
+
|
|
15
|
+
# Execute whatever is printed by autoninja.py.
|
|
16
|
+
# Also print it to reassure that the right settings are being used.
|
|
17
|
+
command=$(vpython "$(dirname -- "$0")/autoninja.py" "$@")
|
|
18
|
+
if [ "$NINJA_SUMMARIZE_BUILD" == "1" ]; then
|
|
19
|
+
echo "$command"
|
|
20
|
+
fi
|
|
21
|
+
if eval "$command"; then
|
|
22
|
+
if [ "$NINJA_SUMMARIZE_BUILD" == "1" ]; then
|
|
23
|
+
vpython "$(dirname -- "$0")/post_build_ninja_summary.py" "$@"
|
|
24
|
+
fi
|
|
25
|
+
|
|
26
|
+
# Collect ninjalog from googler.
|
|
27
|
+
vpython "$(dirname -- "$0")/ninjalog_uploader_wrapper.py" --cmd $command
|
|
28
|
+
exit
|
|
29
|
+
fi
|
|
30
|
+
|
|
31
|
+
# Collect ninjalog from googler.
|
|
32
|
+
vpython "$(dirname -- "$0")/ninjalog_uploader_wrapper.py" --cmd $command
|
|
33
|
+
|
|
34
|
+
# Return an error code of 1 so that if a developer types:
|
|
35
|
+
# "autoninja chrome && chrome" then chrome won't run if the build fails.
|
|
36
|
+
exit 1
|