libv8 7.3.492.27.1 → 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 +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +11 -14
- data/CHANGELOG.md +10 -0
- data/README.md +10 -11
- data/Rakefile +30 -36
- data/ext/libv8/builder.rb +1 -1
- data/lib/libv8/version.rb +1 -1
- data/libv8.gemspec +1 -3
- data/vendor/depot_tools/{cipd.ps1 → .cipd_impl.ps1} +0 -0
- data/vendor/depot_tools/.gitattributes +1 -1
- data/vendor/depot_tools/.gitignore +7 -2
- data/vendor/depot_tools/.style.yapf +3 -1
- data/vendor/depot_tools/.vpython +55 -0
- data/vendor/depot_tools/.vpython3 +23 -0
- data/vendor/depot_tools/CROS_OWNERS +3 -1
- data/vendor/depot_tools/GOMA_OWNERS +9 -0
- data/vendor/depot_tools/LUCI_OWNERS +5 -0
- data/vendor/depot_tools/OWNERS +21 -6
- data/vendor/depot_tools/PRESUBMIT.py +35 -18
- data/vendor/depot_tools/README.git-cl.md +0 -14
- data/vendor/depot_tools/README.md +1 -1
- data/vendor/depot_tools/WATCHLISTS +2 -2
- data/vendor/depot_tools/auth.py +60 -772
- data/vendor/depot_tools/autoninja +12 -6
- data/vendor/depot_tools/autoninja.bat +14 -6
- data/vendor/depot_tools/autoninja.py +64 -27
- data/vendor/depot_tools/bb +1 -1
- data/vendor/depot_tools/bootstrap/{win/README.md → README.md} +28 -14
- data/vendor/depot_tools/bootstrap/{win/win_tools.py → bootstrap.py} +60 -43
- data/vendor/depot_tools/bootstrap/{win/git-bash.template.sh → git-bash.template.sh} +1 -1
- data/vendor/depot_tools/bootstrap/{win/git.template.bat → git.template.bat} +0 -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/{win/profile.d.python.sh → profile.d.python.sh} +0 -0
- data/vendor/depot_tools/bootstrap/{win/python27.bleeding_edge.bat → python27.bat} +0 -0
- data/vendor/depot_tools/bootstrap/{win/python27.new.bat → python3.bat} +3 -3
- data/vendor/depot_tools/bootstrap/{win/win_tools.bat → win_tools.bat} +21 -16
- data/vendor/depot_tools/bootstrap_python3 +35 -0
- data/vendor/depot_tools/cbuildbot +1 -1
- data/vendor/depot_tools/chrome_set_ver +1 -1
- data/vendor/depot_tools/cipd +43 -39
- data/vendor/depot_tools/cipd.bat +2 -2
- data/vendor/depot_tools/cipd_client_version +1 -1
- data/vendor/depot_tools/cipd_client_version.digests +15 -14
- data/vendor/depot_tools/cipd_manifest.txt +31 -8
- data/vendor/depot_tools/cipd_manifest.versions +278 -158
- data/vendor/depot_tools/cit.py +9 -7
- data/vendor/depot_tools/clang_format.py +4 -1
- data/vendor/depot_tools/clang_format_merge_driver.py +10 -8
- data/vendor/depot_tools/compile_single_file.py +7 -2
- data/vendor/depot_tools/cpplint.py +51 -45
- data/vendor/depot_tools/cros +87 -0
- data/vendor/depot_tools/cros_sdk +1 -1
- data/vendor/depot_tools/crosjobs +13 -0
- data/vendor/depot_tools/detect_host_arch.py +0 -1
- data/vendor/depot_tools/dirmd +12 -0
- data/vendor/depot_tools/dirmd.bat +7 -0
- data/vendor/depot_tools/download_from_google_storage.py +47 -27
- data/vendor/depot_tools/ensure_bootstrap +14 -0
- data/vendor/depot_tools/fetch +14 -1
- data/vendor/depot_tools/fetch.bat +14 -1
- data/vendor/depot_tools/fetch.py +5 -7
- data/vendor/depot_tools/fetch_configs/chromium.py +6 -4
- data/vendor/depot_tools/fetch_configs/devtools-frontend.py +44 -0
- data/vendor/depot_tools/fetch_configs/ios_internal.py +10 -19
- data/vendor/depot_tools/fix_encoding.py +19 -5
- data/vendor/depot_tools/gclient +28 -12
- data/vendor/depot_tools/gclient-new-workdir.py +2 -0
- data/vendor/depot_tools/gclient.bat +18 -1
- data/vendor/depot_tools/gclient.py +160 -119
- data/vendor/depot_tools/gclient_eval.py +119 -107
- data/vendor/depot_tools/gclient_paths.py +67 -57
- data/vendor/depot_tools/gclient_scm.py +181 -159
- data/vendor/depot_tools/gclient_utils.py +177 -124
- data/vendor/depot_tools/gerrit_client.py +21 -13
- data/vendor/depot_tools/gerrit_util.py +188 -228
- data/vendor/depot_tools/git-cache +1 -1
- data/vendor/depot_tools/git-cl +1 -1
- data/vendor/depot_tools/git-drover +1 -1
- data/vendor/depot_tools/git-find-releases +1 -1
- data/vendor/depot_tools/git-footers +1 -1
- data/vendor/depot_tools/git-freeze +1 -1
- data/vendor/depot_tools/git-hyper-blame +1 -1
- 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-upstream-diff +1 -1
- data/vendor/depot_tools/git_cache.py +255 -360
- data/vendor/depot_tools/git_cl.py +1562 -2059
- data/vendor/depot_tools/git_cl_completion.sh +16 -2
- data/vendor/depot_tools/git_common.py +77 -32
- data/vendor/depot_tools/git_drover.py +17 -8
- data/vendor/depot_tools/git_find_releases.py +11 -9
- data/vendor/depot_tools/git_footers.py +13 -9
- data/vendor/depot_tools/git_freezer.py +3 -1
- data/vendor/depot_tools/git_hyper_blame.py +25 -32
- data/vendor/depot_tools/git_map.py +115 -93
- data/vendor/depot_tools/git_map_branches.py +11 -10
- data/vendor/depot_tools/git_mark_merge_base.py +8 -6
- data/vendor/depot_tools/git_nav_downstream.py +9 -6
- data/vendor/depot_tools/git_new_branch.py +39 -33
- data/vendor/depot_tools/git_number.py +28 -17
- data/vendor/depot_tools/git_rebase_update.py +50 -49
- data/vendor/depot_tools/git_rename_branch.py +2 -2
- data/vendor/depot_tools/git_reparent_branch.py +8 -6
- data/vendor/depot_tools/git_upstream_diff.py +4 -2
- data/vendor/depot_tools/gn.py +6 -4
- 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 +5 -2
- data/vendor/depot_tools/gsutil.py.bat +8 -0
- data/vendor/depot_tools/gsutil.vpython +3 -1
- data/vendor/depot_tools/infra/config/OWNERS +2 -2
- data/vendor/depot_tools/infra/config/recipes.cfg +3 -2
- data/vendor/depot_tools/led +1 -1
- data/vendor/depot_tools/lockfile.py +116 -0
- data/vendor/depot_tools/luci-auth +1 -1
- data/vendor/depot_tools/lucicfg +1 -1
- data/vendor/depot_tools/mac_toolchain +1 -1
- data/vendor/depot_tools/man/html/depot_tools.html +1 -1
- data/vendor/depot_tools/man/html/depot_tools_tutorial.html +31 -25
- data/vendor/depot_tools/man/html/git-cl.html +1 -1
- data/vendor/depot_tools/man/html/git-drover.html +18 -18
- data/vendor/depot_tools/man/html/git-footers.html +1 -1
- data/vendor/depot_tools/man/html/git-freeze.html +3 -3
- data/vendor/depot_tools/man/html/git-hyper-blame.html +1 -1
- data/vendor/depot_tools/man/html/git-map-branches.html +2 -2
- data/vendor/depot_tools/man/html/git-map.html +1 -1
- data/vendor/depot_tools/man/html/git-mark-merge-base.html +1 -1
- data/vendor/depot_tools/man/html/git-nav-downstream.html +3 -3
- data/vendor/depot_tools/man/html/git-nav-upstream.html +12 -6
- data/vendor/depot_tools/man/html/git-new-branch.html +1 -1
- data/vendor/depot_tools/man/html/git-rebase-update.html +20 -1
- data/vendor/depot_tools/man/html/git-rename-branch.html +1 -1
- data/vendor/depot_tools/man/html/git-reparent-branch.html +1 -1
- data/vendor/depot_tools/man/html/git-retry.html +1 -1
- data/vendor/depot_tools/man/html/git-squash-branch.html +1 -1
- data/vendor/depot_tools/man/html/git-thaw.html +1 -1
- data/vendor/depot_tools/man/html/git-upstream-diff.html +10 -6
- data/vendor/depot_tools/man/man1/git-cl.1 +4 -4
- data/vendor/depot_tools/man/man1/git-drover.1 +21 -21
- data/vendor/depot_tools/man/man1/git-footers.1 +4 -4
- data/vendor/depot_tools/man/man1/git-freeze.1 +6 -6
- data/vendor/depot_tools/man/man1/git-hyper-blame.1 +4 -4
- data/vendor/depot_tools/man/man1/git-map-branches.1 +4 -4
- data/vendor/depot_tools/man/man1/git-map.1 +4 -4
- data/vendor/depot_tools/man/man1/git-mark-merge-base.1 +4 -4
- data/vendor/depot_tools/man/man1/git-nav-downstream.1 +6 -6
- data/vendor/depot_tools/man/man1/git-nav-upstream.1 +15 -9
- data/vendor/depot_tools/man/man1/git-new-branch.1 +3 -3
- data/vendor/depot_tools/man/man1/git-rebase-update.1 +14 -4
- data/vendor/depot_tools/man/man1/git-rename-branch.1 +4 -4
- data/vendor/depot_tools/man/man1/git-reparent-branch.1 +4 -4
- data/vendor/depot_tools/man/man1/git-retry.1 +4 -4
- data/vendor/depot_tools/man/man1/git-squash-branch.1 +4 -4
- data/vendor/depot_tools/man/man1/git-thaw.1 +4 -4
- data/vendor/depot_tools/man/man1/git-upstream-diff.1 +7 -13
- data/vendor/depot_tools/man/man7/depot_tools.7 +4 -4
- data/vendor/depot_tools/man/man7/depot_tools_tutorial.7 +31 -25
- data/vendor/depot_tools/man/src/common_demo_functions.sh +2 -2
- data/vendor/depot_tools/man/src/depot_tools_tutorial.txt +3 -3
- data/vendor/depot_tools/man/src/filter_demo_output.py +4 -2
- data/vendor/depot_tools/man/src/git-new-branch.txt +2 -1
- data/vendor/depot_tools/man/src/git-rebase-update.txt +8 -1
- data/vendor/depot_tools/metrics.README.md +8 -5
- data/vendor/depot_tools/metrics.py +7 -6
- data/vendor/depot_tools/metrics_utils.py +4 -14
- data/vendor/depot_tools/my_activity.py +85 -251
- data/vendor/depot_tools/ninja +1 -0
- data/vendor/depot_tools/ninja-mac +0 -0
- data/vendor/depot_tools/ninjalog_uploader.py +146 -145
- data/vendor/depot_tools/ninjalog_uploader_wrapper.py +69 -60
- data/vendor/depot_tools/owners.py +156 -43
- data/vendor/depot_tools/owners_finder.py +28 -14
- data/vendor/depot_tools/post_build_ninja_summary.py +76 -48
- data/vendor/depot_tools/presubmit_canned_checks.py +293 -106
- data/vendor/depot_tools/presubmit_support.py +527 -333
- data/vendor/depot_tools/prpc +1 -1
- data/vendor/depot_tools/pylint +2 -12
- 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/{depot-tools-auth.bat → pylint.bat} +2 -2
- data/vendor/depot_tools/pylint_main.py +45 -0
- data/vendor/depot_tools/pylintrc +14 -1
- data/vendor/depot_tools/python-bin/python3 +7 -0
- data/vendor/depot_tools/python_runner.sh +13 -8
- data/vendor/depot_tools/rdb +12 -0
- data/vendor/depot_tools/rdb.bat +7 -0
- data/vendor/depot_tools/recipes/OWNERS +0 -1
- data/vendor/depot_tools/recipes/README.recipes.md +218 -151
- data/vendor/depot_tools/recipes/recipe_modules/OWNERS +1 -1
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/__init__.py +17 -16
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/api.py +127 -78
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic.json +19 -4
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_luci.json +18 -3
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_with_branch_heads.json +19 -4
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/clobber.json +29 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json +28 -10
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_rebase_patch_ref.json +29 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_reset.json +29 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/input_commit_with_id_without_repo.json +29 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/multiple_patch_refs.json +29 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_apply_patch_on_gclient.json +35 -10
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{with_manifest_name.json → no_cp_checkout_HEAD.json} +25 -15
- 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 +29 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/reset_root_solution_revision.json +29 -8
- 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 +17 -11
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json +41 -10
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json +24 -11
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle.json +35 -10
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_branch_heads.json +35 -10
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_feature_branch.json +38 -11
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8_feature_branch.json +36 -11
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_webrtc.json +35 -10
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json +35 -10
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json +35 -10
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/unrecognized_commit_repo.json +0 -5
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_tags.json +29 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.py +95 -22
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/resources/bot_update.py +187 -114
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/test_api.py +2 -2
- 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 +1 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/__init__.py +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/api.py +2 -2
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic_pkg.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-failed.json +2 -4
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-many-instances.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/mac64.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_file.json +26 -6
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_mode.json +23 -5
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_verfile.json +23 -5
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/win64.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk arch.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk bits.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_32.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_64.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_32.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_64.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_mips_64.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/mac_intel_64.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_32.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_64.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/cipd/test_api.py +1 -1
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/api.py +4 -1
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic.json +4 -2
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic_luci.json +3 -1
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/win.json +4 -2
- data/vendor/depot_tools/recipes/recipe_modules/gclient/__init__.py +2 -1
- data/vendor/depot_tools/recipes/recipe_modules/gclient/api.py +82 -13
- data/vendor/depot_tools/recipes/recipe_modules/gclient/config.py +23 -11
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/basic.json +3 -4
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/revision.json +3 -6
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/tryserver.json +3 -4
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.py +7 -7
- 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 +4 -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 +9 -21
- data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/sync_failure.py +24 -0
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/api.py +2 -1
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.expected/basic.json +7 -12
- data/vendor/depot_tools/recipes/recipe_modules/git/__init__.py +0 -2
- data/vendor/depot_tools/recipes/recipe_modules/git/api.py +9 -17
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_branch.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_file_name.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_hash.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_ref.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_submodule_update_force.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_tags.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/can_fail_build.json +3 -13
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cannot_fail_build.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cat-file_test.json +4 -12
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_delta.json +2 -10
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_failed.json +1 -7
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output.json +1 -7
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output_fails_build.json +0 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/curl_trace_file.json +3 -10
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/git-cache-checkout.json +3 -11
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/platform_win.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/rebase_failed.json +3 -13
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/remote_not_origin.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/set_got_revision.json +2 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.py +0 -5
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/__init__.py +1 -1
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/api.py +7 -13
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/examples/full.expected/basic.json +21 -16
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/examples/full.py +1 -2
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/api.py +1 -1
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/examples/full.expected/basic.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/resources/gerrit_client.py +2 -2
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/tests/parse_repo_url.expected/basic.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/gsutil/api.py +23 -8
- data/vendor/depot_tools/recipes/recipe_modules/gsutil/examples/full.expected/basic.json +52 -1
- data/vendor/depot_tools/recipes/recipe_modules/gsutil/examples/full.py +15 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/__init__.py +1 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/api.py +32 -8
- 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 +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/mac.json +5 -4
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/win.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.py +21 -2
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/__init__.py +20 -0
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/api.py +235 -3
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/examples/full.expected/basic.json +13 -5
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/examples/full.py +5 -1
- 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/api.py +33 -45
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/basic_tags.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch.json +64 -21
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch_and_target_ref.json +64 -21
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch.json +1 -22
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch_new.json +1 -22
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.py +5 -32
- 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/examples/full.expected/linux.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/mac.json +0 -1
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/win.json +2 -1
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.py +1 -6
- data/vendor/depot_tools/recipes/recipes.py +49 -28
- data/vendor/depot_tools/recipes/recipes/fetch_end_to_end_test.expected/basic.json +11 -6
- data/vendor/depot_tools/repo +698 -540
- data/vendor/depot_tools/roll-dep +14 -1
- data/vendor/depot_tools/roll-dep.bat +10 -1
- data/vendor/depot_tools/roll_dep.py +15 -10
- data/vendor/depot_tools/scm.py +95 -75
- data/vendor/depot_tools/setup_color.py +36 -2
- data/vendor/depot_tools/split_cl.py +44 -32
- data/vendor/depot_tools/subcommand.py +6 -6
- data/vendor/depot_tools/subprocess2.py +38 -322
- data/vendor/depot_tools/third_party/colorama/LICENSE.txt +0 -1
- data/vendor/depot_tools/third_party/colorama/README.chromium +4 -5
- data/vendor/depot_tools/third_party/colorama/README.rst +346 -0
- data/vendor/depot_tools/third_party/colorama/__init__.py +3 -4
- data/vendor/depot_tools/third_party/colorama/ansi.py +82 -30
- data/vendor/depot_tools/third_party/colorama/ansitowin32.py +105 -37
- data/vendor/depot_tools/third_party/colorama/initialise.py +39 -15
- data/vendor/depot_tools/third_party/colorama/win32.py +46 -28
- data/vendor/depot_tools/third_party/colorama/winterm.py +80 -31
- data/vendor/depot_tools/update_depot_tools +18 -8
- data/vendor/depot_tools/update_depot_tools.bat +19 -15
- data/vendor/depot_tools/upload_metrics.py +7 -6
- data/vendor/depot_tools/upload_to_google_storage.py +23 -16
- data/vendor/depot_tools/vpython +4 -4
- data/vendor/depot_tools/vpython.bat +1 -1
- data/vendor/depot_tools/vpython3 +55 -0
- data/vendor/depot_tools/vpython3.bat +12 -0
- data/vendor/depot_tools/watchlists.py +14 -11
- data/vendor/depot_tools/weekly +4 -2
- data/vendor/depot_tools/win32imports.py +61 -0
- data/vendor/depot_tools/win_toolchain/get_toolchain_if_necessary.py +49 -41
- data/vendor/depot_tools/win_toolchain/package_from_installed.py +142 -149
- data/vendor/depot_tools/wtf +5 -3
- data/vendor/depot_tools/yapf +5 -1
- metadata +68 -343
- data/vendor/depot_tools/README.testing +0 -23
- data/vendor/depot_tools/annotated_gclient.py +0 -89
- data/vendor/depot_tools/appengine_mapper.py +0 -23
- data/vendor/depot_tools/bootstrap/win/manifest.txt +0 -20
- data/vendor/depot_tools/bootstrap/win/manifest_bleeding_edge.txt +0 -20
- data/vendor/depot_tools/bootstrap/win/pylint.new.bat +0 -7
- data/vendor/depot_tools/buildbucket.py +0 -186
- data/vendor/depot_tools/checkout.py +0 -431
- data/vendor/depot_tools/cros +0 -1
- data/vendor/depot_tools/dart_format.py +0 -58
- data/vendor/depot_tools/depot-tools-auth +0 -8
- data/vendor/depot_tools/depot-tools-auth.py +0 -102
- data/vendor/depot_tools/my_reviews.py +0 -396
- data/vendor/depot_tools/patch.py +0 -548
- data/vendor/depot_tools/pylint.py +0 -30
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/buildbot.json +0 -239
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_luci.json +0 -222
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/__init__.py +0 -4
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/api.py +0 -29
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/basic.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_linux.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_mac.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_win.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_linux.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_mac.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_win.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_linux.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_mac.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_win.json +0 -15
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.py +0 -33
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/path_config.py +0 -66
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/set_failure_hash_with_no_steps.json +0 -11
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch.json +0 -45
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch_luci.json +0 -45
- data/vendor/depot_tools/rietveld.py +0 -779
- data/vendor/depot_tools/roll-dep-svn +0 -8
- data/vendor/depot_tools/roll-dep-svn.bat +0 -12
- data/vendor/depot_tools/roll_dep_svn.py +0 -430
- data/vendor/depot_tools/support/chromite_wrapper +0 -96
- data/vendor/depot_tools/third_party/boto/LICENSE +0 -18
- data/vendor/depot_tools/third_party/boto/README.chromium +0 -43
- data/vendor/depot_tools/third_party/boto/README.rst +0 -163
- data/vendor/depot_tools/third_party/boto/__init__.py +0 -793
- data/vendor/depot_tools/third_party/boto/auth.py +0 -682
- data/vendor/depot_tools/third_party/boto/auth_handler.py +0 -58
- data/vendor/depot_tools/third_party/boto/cacerts/__init__.py +0 -22
- data/vendor/depot_tools/third_party/boto/cacerts/cacerts.txt +0 -2183
- data/vendor/depot_tools/third_party/boto/compat.py +0 -28
- data/vendor/depot_tools/third_party/boto/connection.py +0 -1081
- data/vendor/depot_tools/third_party/boto/contrib/__init__.py +0 -22
- data/vendor/depot_tools/third_party/boto/contrib/ymlmessage.py +0 -52
- data/vendor/depot_tools/third_party/boto/core/README +0 -58
- data/vendor/depot_tools/third_party/boto/core/__init__.py +0 -23
- data/vendor/depot_tools/third_party/boto/core/auth.py +0 -78
- data/vendor/depot_tools/third_party/boto/core/credentials.py +0 -154
- data/vendor/depot_tools/third_party/boto/core/dictresponse.py +0 -178
- data/vendor/depot_tools/third_party/boto/core/service.py +0 -67
- data/vendor/depot_tools/third_party/boto/datapipeline/__init__.py +0 -0
- data/vendor/depot_tools/third_party/boto/datapipeline/exceptions.py +0 -42
- data/vendor/depot_tools/third_party/boto/datapipeline/layer1.py +0 -546
- data/vendor/depot_tools/third_party/boto/ecs/__init__.py +0 -90
- data/vendor/depot_tools/third_party/boto/ecs/item.py +0 -153
- data/vendor/depot_tools/third_party/boto/exception.py +0 -476
- data/vendor/depot_tools/third_party/boto/file/README +0 -49
- data/vendor/depot_tools/third_party/boto/file/__init__.py +0 -28
- data/vendor/depot_tools/third_party/boto/file/bucket.py +0 -112
- data/vendor/depot_tools/third_party/boto/file/connection.py +0 -33
- data/vendor/depot_tools/third_party/boto/file/key.py +0 -199
- data/vendor/depot_tools/third_party/boto/file/simpleresultset.py +0 -30
- data/vendor/depot_tools/third_party/boto/fps/__init__.py +0 -21
- data/vendor/depot_tools/third_party/boto/fps/connection.py +0 -369
- data/vendor/depot_tools/third_party/boto/fps/exception.py +0 -344
- data/vendor/depot_tools/third_party/boto/fps/response.py +0 -175
- data/vendor/depot_tools/third_party/boto/gs/__init__.py +0 -22
- data/vendor/depot_tools/third_party/boto/gs/acl.py +0 -304
- data/vendor/depot_tools/third_party/boto/gs/bucket.py +0 -870
- data/vendor/depot_tools/third_party/boto/gs/bucketlistresultset.py +0 -64
- data/vendor/depot_tools/third_party/boto/gs/connection.py +0 -103
- data/vendor/depot_tools/third_party/boto/gs/cors.py +0 -169
- data/vendor/depot_tools/third_party/boto/gs/key.py +0 -704
- data/vendor/depot_tools/third_party/boto/gs/resumable_upload_handler.py +0 -659
- data/vendor/depot_tools/third_party/boto/gs/user.py +0 -54
- data/vendor/depot_tools/third_party/boto/handler.py +0 -44
- data/vendor/depot_tools/third_party/boto/https_connection.py +0 -124
- data/vendor/depot_tools/third_party/boto/jsonresponse.py +0 -163
- data/vendor/depot_tools/third_party/boto/manage/__init__.py +0 -23
- data/vendor/depot_tools/third_party/boto/manage/cmdshell.py +0 -241
- data/vendor/depot_tools/third_party/boto/manage/propget.py +0 -64
- data/vendor/depot_tools/third_party/boto/manage/server.py +0 -556
- data/vendor/depot_tools/third_party/boto/manage/task.py +0 -175
- data/vendor/depot_tools/third_party/boto/manage/test_manage.py +0 -34
- data/vendor/depot_tools/third_party/boto/manage/volume.py +0 -420
- data/vendor/depot_tools/third_party/boto/mashups/__init__.py +0 -23
- data/vendor/depot_tools/third_party/boto/mashups/interactive.py +0 -97
- data/vendor/depot_tools/third_party/boto/mashups/iobject.py +0 -115
- data/vendor/depot_tools/third_party/boto/mashups/order.py +0 -211
- data/vendor/depot_tools/third_party/boto/mashups/server.py +0 -395
- data/vendor/depot_tools/third_party/boto/plugin.py +0 -90
- data/vendor/depot_tools/third_party/boto/provider.py +0 -337
- data/vendor/depot_tools/third_party/boto/pyami/__init__.py +0 -22
- data/vendor/depot_tools/third_party/boto/pyami/bootstrap.py +0 -134
- data/vendor/depot_tools/third_party/boto/pyami/config.py +0 -229
- data/vendor/depot_tools/third_party/boto/pyami/copybot.cfg +0 -60
- data/vendor/depot_tools/third_party/boto/pyami/copybot.py +0 -97
- data/vendor/depot_tools/third_party/boto/pyami/helloworld.py +0 -28
- data/vendor/depot_tools/third_party/boto/pyami/launch_ami.py +0 -178
- data/vendor/depot_tools/third_party/boto/pyami/scriptbase.py +0 -44
- data/vendor/depot_tools/third_party/boto/pyami/startup.py +0 -60
- data/vendor/depot_tools/third_party/boto/regioninfo.py +0 -63
- data/vendor/depot_tools/third_party/boto/resultset.py +0 -169
- data/vendor/depot_tools/third_party/boto/roboto/__init__.py +0 -1
- data/vendor/depot_tools/third_party/boto/roboto/awsqueryrequest.py +0 -504
- data/vendor/depot_tools/third_party/boto/roboto/awsqueryservice.py +0 -121
- data/vendor/depot_tools/third_party/boto/roboto/param.py +0 -147
- data/vendor/depot_tools/third_party/boto/s3/__init__.py +0 -84
- data/vendor/depot_tools/third_party/boto/s3/acl.py +0 -164
- data/vendor/depot_tools/third_party/boto/s3/bucket.py +0 -1634
- data/vendor/depot_tools/third_party/boto/s3/bucketlistresultset.py +0 -139
- data/vendor/depot_tools/third_party/boto/s3/bucketlogging.py +0 -83
- data/vendor/depot_tools/third_party/boto/s3/connection.py +0 -540
- data/vendor/depot_tools/third_party/boto/s3/cors.py +0 -210
- data/vendor/depot_tools/third_party/boto/s3/deletemarker.py +0 -55
- data/vendor/depot_tools/third_party/boto/s3/key.py +0 -1712
- data/vendor/depot_tools/third_party/boto/s3/keyfile.py +0 -134
- data/vendor/depot_tools/third_party/boto/s3/lifecycle.py +0 -231
- data/vendor/depot_tools/third_party/boto/s3/multidelete.py +0 -138
- data/vendor/depot_tools/third_party/boto/s3/multipart.py +0 -315
- data/vendor/depot_tools/third_party/boto/s3/prefix.py +0 -42
- data/vendor/depot_tools/third_party/boto/s3/resumable_download_handler.py +0 -339
- data/vendor/depot_tools/third_party/boto/s3/tagging.py +0 -71
- data/vendor/depot_tools/third_party/boto/s3/user.py +0 -49
- data/vendor/depot_tools/third_party/boto/s3/website.py +0 -237
- data/vendor/depot_tools/third_party/boto/services/__init__.py +0 -23
- data/vendor/depot_tools/third_party/boto/services/bs.py +0 -179
- data/vendor/depot_tools/third_party/boto/services/message.py +0 -58
- data/vendor/depot_tools/third_party/boto/services/result.py +0 -136
- data/vendor/depot_tools/third_party/boto/services/service.py +0 -161
- data/vendor/depot_tools/third_party/boto/services/servicedef.py +0 -91
- data/vendor/depot_tools/third_party/boto/services/sonofmmm.cfg +0 -43
- data/vendor/depot_tools/third_party/boto/services/sonofmmm.py +0 -81
- data/vendor/depot_tools/third_party/boto/services/submit.py +0 -88
- data/vendor/depot_tools/third_party/boto/ses/__init__.py +0 -54
- data/vendor/depot_tools/third_party/boto/ses/connection.py +0 -521
- data/vendor/depot_tools/third_party/boto/ses/exceptions.py +0 -77
- data/vendor/depot_tools/third_party/boto/storage_uri.py +0 -835
- data/vendor/depot_tools/third_party/boto/sts/__init__.py +0 -55
- data/vendor/depot_tools/third_party/boto/sts/connection.py +0 -207
- data/vendor/depot_tools/third_party/boto/sts/credentials.py +0 -215
- data/vendor/depot_tools/third_party/boto/utils.py +0 -927
- data/vendor/depot_tools/third_party/colorama/README.txt +0 -304
- data/vendor/depot_tools/third_party/fancy_urllib/README +0 -22
- data/vendor/depot_tools/third_party/fancy_urllib/__init__.py +0 -460
- data/vendor/depot_tools/third_party/logilab/README.chromium +0 -6
- data/vendor/depot_tools/third_party/logilab/__init__.py +0 -0
- data/vendor/depot_tools/third_party/logilab/astroid/LICENSE.txt +0 -340
- data/vendor/depot_tools/third_party/logilab/astroid/README.chromium +0 -11
- data/vendor/depot_tools/third_party/logilab/astroid/__init__.py +0 -136
- data/vendor/depot_tools/third_party/logilab/astroid/__pkginfo__.py +0 -42
- data/vendor/depot_tools/third_party/logilab/astroid/arguments.py +0 -233
- data/vendor/depot_tools/third_party/logilab/astroid/as_string.py +0 -548
- data/vendor/depot_tools/third_party/logilab/astroid/astpeephole.py +0 -86
- data/vendor/depot_tools/third_party/logilab/astroid/bases.py +0 -636
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_builtin_inference.py +0 -336
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_dateutil.py +0 -15
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_gi.py +0 -195
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_mechanize.py +0 -18
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_nose.py +0 -82
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_numpy.py +0 -62
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_pytest.py +0 -76
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_qt.py +0 -44
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_six.py +0 -288
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_ssl.py +0 -65
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_stdlib.py +0 -473
- data/vendor/depot_tools/third_party/logilab/astroid/builder.py +0 -263
- data/vendor/depot_tools/third_party/logilab/astroid/context.py +0 -81
- data/vendor/depot_tools/third_party/logilab/astroid/decorators.py +0 -75
- data/vendor/depot_tools/third_party/logilab/astroid/exceptions.py +0 -71
- data/vendor/depot_tools/third_party/logilab/astroid/inference.py +0 -359
- data/vendor/depot_tools/third_party/logilab/astroid/manager.py +0 -267
- data/vendor/depot_tools/third_party/logilab/astroid/mixins.py +0 -147
- data/vendor/depot_tools/third_party/logilab/astroid/modutils.py +0 -741
- data/vendor/depot_tools/third_party/logilab/astroid/node_classes.py +0 -1053
- data/vendor/depot_tools/third_party/logilab/astroid/nodes.py +0 -87
- data/vendor/depot_tools/third_party/logilab/astroid/objects.py +0 -186
- data/vendor/depot_tools/third_party/logilab/astroid/protocols.py +0 -470
- data/vendor/depot_tools/third_party/logilab/astroid/raw_building.py +0 -390
- data/vendor/depot_tools/third_party/logilab/astroid/rebuilder.py +0 -989
- data/vendor/depot_tools/third_party/logilab/astroid/scoped_nodes.py +0 -1716
- data/vendor/depot_tools/third_party/logilab/astroid/test_utils.py +0 -201
- data/vendor/depot_tools/third_party/logilab/astroid/transforms.py +0 -96
- data/vendor/depot_tools/third_party/logilab/astroid/util.py +0 -89
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/LICENSE +0 -19
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/README.chromium +0 -11
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/__init__.py +0 -20
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/cext.c +0 -1421
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/compat.py +0 -9
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/simple.py +0 -246
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/slots.py +0 -414
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/utils.py +0 -13
- data/vendor/depot_tools/third_party/logilab/wrapt/LICENSE +0 -24
- data/vendor/depot_tools/third_party/logilab/wrapt/README.chromium +0 -11
- data/vendor/depot_tools/third_party/logilab/wrapt/__init__.py +0 -19
- data/vendor/depot_tools/third_party/logilab/wrapt/_wrappers.c +0 -2729
- data/vendor/depot_tools/third_party/logilab/wrapt/arguments.py +0 -96
- data/vendor/depot_tools/third_party/logilab/wrapt/decorators.py +0 -512
- data/vendor/depot_tools/third_party/logilab/wrapt/importer.py +0 -228
- data/vendor/depot_tools/third_party/logilab/wrapt/wrappers.py +0 -901
- data/vendor/depot_tools/third_party/mock/LICENSE.txt +0 -26
- data/vendor/depot_tools/third_party/mock/README.chromium +0 -24
- data/vendor/depot_tools/third_party/mock/__init__.py +0 -2366
- data/vendor/depot_tools/third_party/oauth2client/LICENSE +0 -202
- data/vendor/depot_tools/third_party/oauth2client/MODIFICATIONS.diff +0 -66
- data/vendor/depot_tools/third_party/oauth2client/README.chromium +0 -15
- data/vendor/depot_tools/third_party/oauth2client/__init__.py +0 -5
- data/vendor/depot_tools/third_party/oauth2client/anyjson.py +0 -32
- data/vendor/depot_tools/third_party/oauth2client/appengine.py +0 -963
- data/vendor/depot_tools/third_party/oauth2client/client.py +0 -1363
- data/vendor/depot_tools/third_party/oauth2client/clientsecrets.py +0 -153
- data/vendor/depot_tools/third_party/oauth2client/crypt.py +0 -377
- data/vendor/depot_tools/third_party/oauth2client/django_orm.py +0 -134
- data/vendor/depot_tools/third_party/oauth2client/file.py +0 -124
- data/vendor/depot_tools/third_party/oauth2client/gce.py +0 -90
- data/vendor/depot_tools/third_party/oauth2client/keyring_storage.py +0 -109
- data/vendor/depot_tools/third_party/oauth2client/locked_file.py +0 -373
- data/vendor/depot_tools/third_party/oauth2client/multistore_file.py +0 -465
- data/vendor/depot_tools/third_party/oauth2client/old_run.py +0 -160
- data/vendor/depot_tools/third_party/oauth2client/tools.py +0 -243
- data/vendor/depot_tools/third_party/oauth2client/util.py +0 -196
- data/vendor/depot_tools/third_party/oauth2client/xsrfutil.py +0 -113
- data/vendor/depot_tools/third_party/protobuf26/README.chromium +0 -23
- data/vendor/depot_tools/third_party/protobuf26/__init__.py +0 -0
- data/vendor/depot_tools/third_party/protobuf26/compiler/__init__.py +0 -0
- data/vendor/depot_tools/third_party/protobuf26/compiler/plugin_pb2.py +0 -184
- data/vendor/depot_tools/third_party/protobuf26/descriptor.py +0 -849
- data/vendor/depot_tools/third_party/protobuf26/descriptor_database.py +0 -137
- data/vendor/depot_tools/third_party/protobuf26/descriptor_pb2.py +0 -1522
- data/vendor/depot_tools/third_party/protobuf26/descriptor_pool.py +0 -643
- data/vendor/depot_tools/third_party/protobuf26/internal/__init__.py +0 -0
- data/vendor/depot_tools/third_party/protobuf26/internal/api_implementation.py +0 -89
- data/vendor/depot_tools/third_party/protobuf26/internal/containers.py +0 -269
- data/vendor/depot_tools/third_party/protobuf26/internal/cpp_message.py +0 -663
- data/vendor/depot_tools/third_party/protobuf26/internal/decoder.py +0 -831
- data/vendor/depot_tools/third_party/protobuf26/internal/encoder.py +0 -788
- data/vendor/depot_tools/third_party/protobuf26/internal/enum_type_wrapper.py +0 -89
- data/vendor/depot_tools/third_party/protobuf26/internal/message_listener.py +0 -78
- data/vendor/depot_tools/third_party/protobuf26/internal/python_message.py +0 -1247
- data/vendor/depot_tools/third_party/protobuf26/internal/type_checkers.py +0 -328
- data/vendor/depot_tools/third_party/protobuf26/internal/wire_format.py +0 -268
- data/vendor/depot_tools/third_party/protobuf26/message.py +0 -284
- data/vendor/depot_tools/third_party/protobuf26/message_factory.py +0 -155
- data/vendor/depot_tools/third_party/protobuf26/reflection.py +0 -205
- data/vendor/depot_tools/third_party/protobuf26/service.py +0 -226
- data/vendor/depot_tools/third_party/protobuf26/service_reflection.py +0 -284
- data/vendor/depot_tools/third_party/protobuf26/symbol_database.py +0 -185
- data/vendor/depot_tools/third_party/protobuf26/text_encoding.py +0 -110
- data/vendor/depot_tools/third_party/protobuf26/text_format.py +0 -873
- data/vendor/depot_tools/third_party/pylint.py +0 -37
- data/vendor/depot_tools/third_party/pylint/LICENSE.txt +0 -340
- data/vendor/depot_tools/third_party/pylint/README.chromium +0 -30
- data/vendor/depot_tools/third_party/pylint/__init__.py +0 -46
- data/vendor/depot_tools/third_party/pylint/__main__.py +0 -3
- data/vendor/depot_tools/third_party/pylint/__pkginfo__.py +0 -80
- data/vendor/depot_tools/third_party/pylint/checkers/__init__.py +0 -123
- data/vendor/depot_tools/third_party/pylint/checkers/async.py +0 -82
- data/vendor/depot_tools/third_party/pylint/checkers/base.py +0 -2010
- data/vendor/depot_tools/third_party/pylint/checkers/classes.py +0 -1120
- data/vendor/depot_tools/third_party/pylint/checkers/design_analysis.py +0 -348
- data/vendor/depot_tools/third_party/pylint/checkers/exceptions.py +0 -369
- data/vendor/depot_tools/third_party/pylint/checkers/format.py +0 -993
- data/vendor/depot_tools/third_party/pylint/checkers/imports.py +0 -654
- data/vendor/depot_tools/third_party/pylint/checkers/logging.py +0 -258
- data/vendor/depot_tools/third_party/pylint/checkers/misc.py +0 -105
- data/vendor/depot_tools/third_party/pylint/checkers/newstyle.py +0 -169
- data/vendor/depot_tools/third_party/pylint/checkers/python3.py +0 -591
- data/vendor/depot_tools/third_party/pylint/checkers/raw_metrics.py +0 -129
- data/vendor/depot_tools/third_party/pylint/checkers/similar.py +0 -371
- data/vendor/depot_tools/third_party/pylint/checkers/spelling.py +0 -264
- data/vendor/depot_tools/third_party/pylint/checkers/stdlib.py +0 -280
- data/vendor/depot_tools/third_party/pylint/checkers/strings.py +0 -618
- data/vendor/depot_tools/third_party/pylint/checkers/typecheck.py +0 -974
- data/vendor/depot_tools/third_party/pylint/checkers/utils.py +0 -741
- data/vendor/depot_tools/third_party/pylint/checkers/variables.py +0 -1191
- data/vendor/depot_tools/third_party/pylint/config.py +0 -820
- data/vendor/depot_tools/third_party/pylint/epylint.py +0 -181
- data/vendor/depot_tools/third_party/pylint/extensions/__init__.py +0 -0
- data/vendor/depot_tools/third_party/pylint/extensions/check_docs.py +0 -311
- data/vendor/depot_tools/third_party/pylint/extensions/check_elif.py +0 -62
- data/vendor/depot_tools/third_party/pylint/graph.py +0 -179
- data/vendor/depot_tools/third_party/pylint/gui.py +0 -531
- data/vendor/depot_tools/third_party/pylint/interfaces.py +0 -102
- data/vendor/depot_tools/third_party/pylint/lint.py +0 -1381
- data/vendor/depot_tools/third_party/pylint/pyreverse/__init__.py +0 -5
- data/vendor/depot_tools/third_party/pylint/pyreverse/diadefslib.py +0 -230
- data/vendor/depot_tools/third_party/pylint/pyreverse/diagrams.py +0 -258
- data/vendor/depot_tools/third_party/pylint/pyreverse/inspector.py +0 -372
- data/vendor/depot_tools/third_party/pylint/pyreverse/main.py +0 -147
- data/vendor/depot_tools/third_party/pylint/pyreverse/utils.py +0 -210
- data/vendor/depot_tools/third_party/pylint/pyreverse/vcgutils.py +0 -198
- data/vendor/depot_tools/third_party/pylint/pyreverse/writer.py +0 -198
- data/vendor/depot_tools/third_party/pylint/reporters/__init__.py +0 -149
- data/vendor/depot_tools/third_party/pylint/reporters/guireporter.py +0 -27
- data/vendor/depot_tools/third_party/pylint/reporters/html.py +0 -108
- data/vendor/depot_tools/third_party/pylint/reporters/json.py +0 -64
- data/vendor/depot_tools/third_party/pylint/reporters/text.py +0 -237
- data/vendor/depot_tools/third_party/pylint/reporters/ureports/__init__.py +0 -106
- data/vendor/depot_tools/third_party/pylint/reporters/ureports/html_writer.py +0 -93
- data/vendor/depot_tools/third_party/pylint/reporters/ureports/nodes.py +0 -181
- data/vendor/depot_tools/third_party/pylint/reporters/ureports/text_writer.py +0 -99
- data/vendor/depot_tools/third_party/pylint/testutils.py +0 -414
- data/vendor/depot_tools/third_party/pylint/utils.py +0 -1148
- data/vendor/depot_tools/third_party/pymox/COPYING +0 -202
- data/vendor/depot_tools/third_party/pymox/MANIFEST.in +0 -5
- data/vendor/depot_tools/third_party/pymox/README +0 -56
- data/vendor/depot_tools/third_party/pymox/__init__.py +0 -0
- data/vendor/depot_tools/third_party/pymox/mox.py +0 -1643
- data/vendor/depot_tools/third_party/pymox/mox_test.py +0 -1708
- data/vendor/depot_tools/third_party/pymox/mox_test_helper.py +0 -76
- data/vendor/depot_tools/third_party/pymox/setup.py +0 -14
- data/vendor/depot_tools/third_party/pymox/stubout.py +0 -142
- data/vendor/depot_tools/third_party/pymox/stubout_test.py +0 -47
- data/vendor/depot_tools/third_party/pymox/stubout_testee.py +0 -2
- data/vendor/depot_tools/third_party/simplejson/LICENSE.txt +0 -19
- data/vendor/depot_tools/third_party/simplejson/PKG-INFO +0 -29
- data/vendor/depot_tools/third_party/simplejson/__init__.py +0 -437
- data/vendor/depot_tools/third_party/simplejson/decoder.py +0 -421
- data/vendor/depot_tools/third_party/simplejson/encoder.py +0 -501
- data/vendor/depot_tools/third_party/simplejson/ordered_dict.py +0 -119
- data/vendor/depot_tools/third_party/simplejson/scanner.py +0 -77
- data/vendor/depot_tools/third_party/simplejson/tool.py +0 -39
- data/vendor/depot_tools/third_party/upload.py +0 -2565
|
@@ -11,26 +11,44 @@ import tokenize
|
|
|
11
11
|
import gclient_utils
|
|
12
12
|
|
|
13
13
|
from third_party import schema
|
|
14
|
+
from third_party import six
|
|
14
15
|
|
|
15
|
-
if
|
|
16
|
+
if six.PY2:
|
|
16
17
|
# We use cStringIO.StringIO because it is equivalent to Py3's io.StringIO.
|
|
17
18
|
from cStringIO import StringIO
|
|
19
|
+
import collections as collections_abc
|
|
18
20
|
else:
|
|
21
|
+
from collections import abc as collections_abc
|
|
19
22
|
from io import StringIO
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
# TODO(crbug.com/953884): Remove this when python3 migration is done.
|
|
23
|
-
try:
|
|
24
|
-
basestring
|
|
25
|
-
except NameError:
|
|
26
23
|
# pylint: disable=redefined-builtin
|
|
27
24
|
basestring = str
|
|
28
25
|
|
|
29
26
|
|
|
30
|
-
class
|
|
27
|
+
class ConstantString(object):
|
|
28
|
+
def __init__(self, value):
|
|
29
|
+
self.value = value
|
|
30
|
+
|
|
31
|
+
def __format__(self, format_spec):
|
|
32
|
+
del format_spec
|
|
33
|
+
return self.value
|
|
34
|
+
|
|
35
|
+
def __repr__(self):
|
|
36
|
+
return "Str('" + self.value + "')"
|
|
37
|
+
|
|
38
|
+
def __eq__(self, other):
|
|
39
|
+
if isinstance(other, ConstantString):
|
|
40
|
+
return self.value == other.value
|
|
41
|
+
else:
|
|
42
|
+
return self.value == other
|
|
43
|
+
|
|
44
|
+
def __hash__(self):
|
|
45
|
+
return self.value.__hash__()
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class _NodeDict(collections_abc.MutableMapping):
|
|
31
49
|
"""Dict-like type that also stores information on AST nodes and tokens."""
|
|
32
|
-
def __init__(self, data, tokens=None):
|
|
33
|
-
self.data = collections.OrderedDict(data)
|
|
50
|
+
def __init__(self, data=None, tokens=None):
|
|
51
|
+
self.data = collections.OrderedDict(data or [])
|
|
34
52
|
self.tokens = tokens
|
|
35
53
|
|
|
36
54
|
def __str__(self):
|
|
@@ -57,7 +75,7 @@ class _NodeDict(collections.MutableMapping):
|
|
|
57
75
|
def MoveTokens(self, origin, delta):
|
|
58
76
|
if self.tokens:
|
|
59
77
|
new_tokens = {}
|
|
60
|
-
for pos, token in self.tokens.
|
|
78
|
+
for pos, token in self.tokens.items():
|
|
61
79
|
if pos[0] >= origin:
|
|
62
80
|
pos = (pos[0] + delta, pos[1])
|
|
63
81
|
token = token[:2] + (pos,) + token[3:]
|
|
@@ -117,7 +135,7 @@ _GCLIENT_DEPS_SCHEMA = _NodeDictSchema({
|
|
|
117
135
|
_GCLIENT_HOOKS_SCHEMA = [
|
|
118
136
|
_NodeDictSchema({
|
|
119
137
|
# Hook action: list of command-line arguments to invoke.
|
|
120
|
-
'action': [basestring],
|
|
138
|
+
'action': [schema.Or(basestring)],
|
|
121
139
|
|
|
122
140
|
# Name of the hook. Doesn't affect operation.
|
|
123
141
|
schema.Optional('name'): basestring,
|
|
@@ -138,7 +156,7 @@ _GCLIENT_HOOKS_SCHEMA = [
|
|
|
138
156
|
|
|
139
157
|
_GCLIENT_SCHEMA = schema.Schema(
|
|
140
158
|
_NodeDictSchema({
|
|
141
|
-
# List of host names from which dependencies are allowed (
|
|
159
|
+
# List of host names from which dependencies are allowed (allowlist).
|
|
142
160
|
# NOTE: when not present, all hosts are allowed.
|
|
143
161
|
# NOTE: scoped to current DEPS file, not recursive.
|
|
144
162
|
schema.Optional('allowed_hosts'): [schema.Optional(basestring)],
|
|
@@ -190,7 +208,7 @@ _GCLIENT_SCHEMA = schema.Schema(
|
|
|
190
208
|
# Recursion limit for nested DEPS.
|
|
191
209
|
schema.Optional('recursion'): int,
|
|
192
210
|
|
|
193
|
-
#
|
|
211
|
+
# Allowlists deps for which recursion should be enabled.
|
|
194
212
|
schema.Optional('recursedeps'): [
|
|
195
213
|
schema.Optional(schema.Or(
|
|
196
214
|
basestring,
|
|
@@ -199,7 +217,7 @@ _GCLIENT_SCHEMA = schema.Schema(
|
|
|
199
217
|
)),
|
|
200
218
|
],
|
|
201
219
|
|
|
202
|
-
#
|
|
220
|
+
# Blocklists directories for checking 'include_rules'.
|
|
203
221
|
schema.Optional('skip_child_includes'): [schema.Optional(basestring)],
|
|
204
222
|
|
|
205
223
|
# Mapping from paths to include rules specific for that path.
|
|
@@ -223,7 +241,9 @@ _GCLIENT_SCHEMA = schema.Schema(
|
|
|
223
241
|
|
|
224
242
|
# Variables that can be referenced using Var() - see 'deps'.
|
|
225
243
|
schema.Optional('vars'): _NodeDictSchema({
|
|
226
|
-
schema.Optional(basestring): schema.Or(
|
|
244
|
+
schema.Optional(basestring): schema.Or(ConstantString,
|
|
245
|
+
basestring,
|
|
246
|
+
bool),
|
|
227
247
|
}),
|
|
228
248
|
}))
|
|
229
249
|
|
|
@@ -231,6 +251,8 @@ _GCLIENT_SCHEMA = schema.Schema(
|
|
|
231
251
|
def _gclient_eval(node_or_string, filename='<unknown>', vars_dict=None):
|
|
232
252
|
"""Safely evaluates a single expression. Returns the result."""
|
|
233
253
|
_allowed_names = {'None': None, 'True': True, 'False': False}
|
|
254
|
+
if isinstance(node_or_string, ConstantString):
|
|
255
|
+
return node_or_string.value
|
|
234
256
|
if isinstance(node_or_string, basestring):
|
|
235
257
|
node_or_string = ast.parse(node_or_string, filename=filename, mode='eval')
|
|
236
258
|
if isinstance(node_or_string, ast.Expression):
|
|
@@ -245,7 +267,7 @@ def _gclient_eval(node_or_string, filename='
|
|
|
245
267
|
raise KeyError(
|
|
246
268
|
'%s was used as a variable, but was not declared in the vars dict '
|
|
247
269
|
'(file %r, line %s)' % (
|
|
248
|
-
e.
|
|
270
|
+
e.args[0], filename, getattr(node, 'lineno', '<unknown>')))
|
|
249
271
|
elif isinstance(node, ast.Num):
|
|
250
272
|
return node.n
|
|
251
273
|
elif isinstance(node, ast.Tuple):
|
|
@@ -253,8 +275,15 @@ def _gclient_eval(node_or_string, filename='
|
|
|
253
275
|
elif isinstance(node, ast.List):
|
|
254
276
|
return list(map(_convert, node.elts))
|
|
255
277
|
elif isinstance(node, ast.Dict):
|
|
256
|
-
|
|
257
|
-
|
|
278
|
+
node_dict = _NodeDict()
|
|
279
|
+
for key_node, value_node in zip(node.keys, node.values):
|
|
280
|
+
key = _convert(key_node)
|
|
281
|
+
if key in node_dict:
|
|
282
|
+
raise ValueError(
|
|
283
|
+
'duplicate key in dictionary: %s (file %r, line %s)' % (
|
|
284
|
+
key, filename, getattr(key_node, 'lineno', '<unknown>')))
|
|
285
|
+
node_dict.SetNode(key, _convert(value_node), value_node)
|
|
286
|
+
return node_dict
|
|
258
287
|
elif isinstance(node, ast.Name):
|
|
259
288
|
if node.id not in _allowed_names:
|
|
260
289
|
raise ValueError(
|
|
@@ -265,16 +294,23 @@ def _gclient_eval(node_or_string, filename='
|
|
|
265
294
|
node, ast.NameConstant): # Since Python 3.4
|
|
266
295
|
return node.value
|
|
267
296
|
elif isinstance(node, ast.Call):
|
|
268
|
-
if not isinstance(node.func, ast.Name) or
|
|
297
|
+
if (not isinstance(node.func, ast.Name) or
|
|
298
|
+
(node.func.id not in ('Str', 'Var'))):
|
|
269
299
|
raise ValueError(
|
|
270
|
-
'Var
|
|
300
|
+
'Str and Var are the only allowed functions (file %r, line %s)' % (
|
|
271
301
|
filename, getattr(node, 'lineno', '<unknown>')))
|
|
272
302
|
if node.keywords or getattr(node, 'starargs', None) or getattr(
|
|
273
303
|
node, 'kwargs', None) or len(node.args) != 1:
|
|
274
304
|
raise ValueError(
|
|
275
|
-
'
|
|
276
|
-
filename, getattr(node, 'lineno', '<unknown>')))
|
|
277
|
-
|
|
305
|
+
'%s takes exactly one argument (file %r, line %s)' % (
|
|
306
|
+
node.func.id, filename, getattr(node, 'lineno', '<unknown>')))
|
|
307
|
+
if node.func.id == 'Str':
|
|
308
|
+
if isinstance(node.args[0], ast.Str):
|
|
309
|
+
return ConstantString(node.args[0].s)
|
|
310
|
+
raise ValueError('Passed a non-string to Str() (file %r, line%s)' % (
|
|
311
|
+
filename, getattr(node, 'lineno', '<unknown>')))
|
|
312
|
+
else:
|
|
313
|
+
arg = _convert(node.args[0])
|
|
278
314
|
if not isinstance(arg, basestring):
|
|
279
315
|
raise ValueError(
|
|
280
316
|
'Var\'s argument must be a variable name (file %r, line %s)' % (
|
|
@@ -286,7 +322,10 @@ def _gclient_eval(node_or_string, filename='
|
|
|
286
322
|
'%s was used as a variable, but was not declared in the vars dict '
|
|
287
323
|
'(file %r, line %s)' % (
|
|
288
324
|
arg, filename, getattr(node, 'lineno', '<unknown>')))
|
|
289
|
-
|
|
325
|
+
val = vars_dict[arg]
|
|
326
|
+
if isinstance(val, ConstantString):
|
|
327
|
+
val = val.value
|
|
328
|
+
return val
|
|
290
329
|
elif isinstance(node, ast.BinOp) and isinstance(node.op, ast.Add):
|
|
291
330
|
return _convert(node.left) + _convert(node.right)
|
|
292
331
|
elif isinstance(node, ast.BinOp) and isinstance(node.op, ast.Mod):
|
|
@@ -375,44 +414,10 @@ def Exec(content, filename='
|
|
|
375
414
|
value = _gclient_eval(node, filename, vars_dict)
|
|
376
415
|
local_scope.SetNode(name, value, node)
|
|
377
416
|
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
builtin_vars=None):
|
|
383
|
-
"""Executes a DEPS file |content| using exec."""
|
|
384
|
-
local_scope = {}
|
|
385
|
-
global_scope = {'Var': lambda var_name: '{%s}' % var_name}
|
|
386
|
-
|
|
387
|
-
# If we use 'exec' directly, it complains that 'Parse' contains a nested
|
|
388
|
-
# function with free variables.
|
|
389
|
-
# This is because on versions of Python < 2.7.9, "exec(a, b, c)" not the same
|
|
390
|
-
# as "exec a in b, c" (See https://bugs.python.org/issue21591).
|
|
391
|
-
eval(compile(content, filename, 'exec'), global_scope, local_scope)
|
|
392
|
-
|
|
393
|
-
vars_dict = {}
|
|
394
|
-
vars_dict.update(local_scope.get('vars', {}))
|
|
395
|
-
if builtin_vars:
|
|
396
|
-
vars_dict.update(builtin_vars)
|
|
397
|
-
if vars_override:
|
|
398
|
-
vars_dict.update({k: v for k, v in vars_override.items() if k in vars_dict})
|
|
399
|
-
|
|
400
|
-
if not vars_dict:
|
|
401
|
-
return local_scope
|
|
402
|
-
|
|
403
|
-
def _DeepFormat(node):
|
|
404
|
-
if isinstance(node, basestring):
|
|
405
|
-
return node.format(**vars_dict)
|
|
406
|
-
elif isinstance(node, dict):
|
|
407
|
-
return {k.format(**vars_dict): _DeepFormat(v) for k, v in node.items()}
|
|
408
|
-
elif isinstance(node, list):
|
|
409
|
-
return [_DeepFormat(elem) for elem in node]
|
|
410
|
-
elif isinstance(node, tuple):
|
|
411
|
-
return tuple(_DeepFormat(elem) for elem in node)
|
|
412
|
-
else:
|
|
413
|
-
return node
|
|
414
|
-
|
|
415
|
-
return _DeepFormat(local_scope)
|
|
417
|
+
try:
|
|
418
|
+
return _GCLIENT_SCHEMA.validate(local_scope)
|
|
419
|
+
except schema.SchemaError as e:
|
|
420
|
+
raise gclient_utils.Error(str(e))
|
|
416
421
|
|
|
417
422
|
|
|
418
423
|
def _StandardizeDeps(deps_dict, vars_dict):
|
|
@@ -426,7 +431,7 @@ def _StandardizeDeps(deps_dict, vars_dict):
|
|
|
426
431
|
new_deps_dict = {}
|
|
427
432
|
for dep_name, dep_info in deps_dict.items():
|
|
428
433
|
dep_name = dep_name.format(**vars_dict)
|
|
429
|
-
if not isinstance(dep_info,
|
|
434
|
+
if not isinstance(dep_info, collections_abc.Mapping):
|
|
430
435
|
dep_info = {'url': dep_info}
|
|
431
436
|
dep_info.setdefault('dep_type', 'git')
|
|
432
437
|
new_deps_dict[dep_name] = dep_info
|
|
@@ -480,18 +485,15 @@ def UpdateCondition(info_dict, op, new_condition):
|
|
|
480
485
|
del info_dict['condition']
|
|
481
486
|
|
|
482
487
|
|
|
483
|
-
def Parse(content,
|
|
484
|
-
builtin_vars=None):
|
|
488
|
+
def Parse(content, filename, vars_override=None, builtin_vars=None):
|
|
485
489
|
"""Parses DEPS strings.
|
|
486
490
|
|
|
487
491
|
Executes the Python-like string stored in content, resulting in a Python
|
|
488
|
-
dictionary
|
|
492
|
+
dictionary specified by the schema above. Supports syntax validation and
|
|
489
493
|
variable expansion.
|
|
490
494
|
|
|
491
495
|
Args:
|
|
492
496
|
content: str. DEPS file stored as a string.
|
|
493
|
-
validate_syntax: bool. Whether syntax should be validated using the schema
|
|
494
|
-
defined above.
|
|
495
497
|
filename: str. The name of the DEPS file, or a string describing the source
|
|
496
498
|
of the content, e.g. '<string>', '<unknown>'.
|
|
497
499
|
vars_override: dict, optional. A dictionary with overrides for the variables
|
|
@@ -503,10 +505,7 @@ def Parse(content, validate_syntax, filename, vars_override=None,
|
|
|
503
505
|
A Python dict with the parsed contents of the DEPS file, as specified by the
|
|
504
506
|
schema above.
|
|
505
507
|
"""
|
|
506
|
-
|
|
507
|
-
result = Exec(content, filename, vars_override, builtin_vars)
|
|
508
|
-
else:
|
|
509
|
-
result = ExecLegacy(content, filename, vars_override, builtin_vars)
|
|
508
|
+
result = Exec(content, filename, vars_override, builtin_vars)
|
|
510
509
|
|
|
511
510
|
vars_dict = result.get('vars', {})
|
|
512
511
|
if 'deps' in result:
|
|
@@ -514,14 +513,14 @@ def Parse(content, validate_syntax, filename, vars_override=None,
|
|
|
514
513
|
|
|
515
514
|
if 'deps_os' in result:
|
|
516
515
|
deps = result.setdefault('deps', {})
|
|
517
|
-
for os_name, os_deps in result['deps_os'].
|
|
516
|
+
for os_name, os_deps in result['deps_os'].items():
|
|
518
517
|
os_deps = _StandardizeDeps(os_deps, vars_dict)
|
|
519
518
|
_MergeDepsOs(deps, os_deps, os_name)
|
|
520
519
|
del result['deps_os']
|
|
521
520
|
|
|
522
521
|
if 'hooks_os' in result:
|
|
523
522
|
hooks = result.setdefault('hooks', [])
|
|
524
|
-
for os_name, os_hooks in result['hooks_os'].
|
|
523
|
+
for os_name, os_hooks in result['hooks_os'].items():
|
|
525
524
|
for hook in os_hooks:
|
|
526
525
|
UpdateCondition(hook, 'and', 'checkout_' + os_name)
|
|
527
526
|
hooks.extend(os_hooks)
|
|
@@ -538,9 +537,11 @@ def EvaluateCondition(condition, variables, referenced_variables=None):
|
|
|
538
537
|
main_node = ast.parse(condition, mode='eval')
|
|
539
538
|
if isinstance(main_node, ast.Expression):
|
|
540
539
|
main_node = main_node.body
|
|
541
|
-
def _convert(node):
|
|
540
|
+
def _convert(node, allow_tuple=False):
|
|
542
541
|
if isinstance(node, ast.Str):
|
|
543
542
|
return node.s
|
|
543
|
+
elif isinstance(node, ast.Tuple) and allow_tuple:
|
|
544
|
+
return tuple(map(_convert, node.elts))
|
|
544
545
|
elif isinstance(node, ast.Name):
|
|
545
546
|
if node.id in referenced_variables:
|
|
546
547
|
raise ValueError(
|
|
@@ -567,34 +568,27 @@ def EvaluateCondition(condition, variables, referenced_variables=None):
|
|
|
567
568
|
# between arguments for GN to be passed verbatim, and ones to
|
|
568
569
|
# be evaluated.
|
|
569
570
|
return node.id
|
|
571
|
+
elif not sys.version_info[:2] < (3, 4) and isinstance(
|
|
572
|
+
node, ast.NameConstant): # Since Python 3.4
|
|
573
|
+
return node.value
|
|
570
574
|
elif isinstance(node, ast.BoolOp) and isinstance(node.op, ast.Or):
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
'invalid "or" operand %r (inside %r)' % (left, condition))
|
|
580
|
-
if not isinstance(right, bool):
|
|
581
|
-
raise ValueError(
|
|
582
|
-
'invalid "or" operand %r (inside %r)' % (right, condition))
|
|
583
|
-
return left or right
|
|
575
|
+
bool_values = []
|
|
576
|
+
for value in node.values:
|
|
577
|
+
bool_values.append(_convert(value))
|
|
578
|
+
if not isinstance(bool_values[-1], bool):
|
|
579
|
+
raise ValueError(
|
|
580
|
+
'invalid "or" operand %r (inside %r)' % (
|
|
581
|
+
bool_values[-1], condition))
|
|
582
|
+
return any(bool_values)
|
|
584
583
|
elif isinstance(node, ast.BoolOp) and isinstance(node.op, ast.And):
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
'invalid "and" operand %r (inside %r)' % (left, condition))
|
|
594
|
-
if not isinstance(right, bool):
|
|
595
|
-
raise ValueError(
|
|
596
|
-
'invalid "and" operand %r (inside %r)' % (right, condition))
|
|
597
|
-
return left and right
|
|
584
|
+
bool_values = []
|
|
585
|
+
for value in node.values:
|
|
586
|
+
bool_values.append(_convert(value))
|
|
587
|
+
if not isinstance(bool_values[-1], bool):
|
|
588
|
+
raise ValueError(
|
|
589
|
+
'invalid "and" operand %r (inside %r)' % (
|
|
590
|
+
bool_values[-1], condition))
|
|
591
|
+
return all(bool_values)
|
|
598
592
|
elif isinstance(node, ast.UnaryOp) and isinstance(node.op, ast.Not):
|
|
599
593
|
value = _convert(node.operand)
|
|
600
594
|
if not isinstance(value, bool):
|
|
@@ -612,12 +606,15 @@ def EvaluateCondition(condition, variables, referenced_variables=None):
|
|
|
612
606
|
condition))
|
|
613
607
|
|
|
614
608
|
left = _convert(node.left)
|
|
615
|
-
right = _convert(
|
|
609
|
+
right = _convert(
|
|
610
|
+
node.comparators[0], allow_tuple=isinstance(node.ops[0], ast.In))
|
|
616
611
|
|
|
617
612
|
if isinstance(node.ops[0], ast.Eq):
|
|
618
613
|
return left == right
|
|
619
614
|
if isinstance(node.ops[0], ast.NotEq):
|
|
620
615
|
return left != right
|
|
616
|
+
if isinstance(node.ops[0], ast.In):
|
|
617
|
+
return left in right
|
|
621
618
|
|
|
622
619
|
raise ValueError(
|
|
623
620
|
'unexpected operator: %s %s (inside %r)' % (
|
|
@@ -639,10 +636,13 @@ def RenderDEPSFile(gclient_dict):
|
|
|
639
636
|
|
|
640
637
|
|
|
641
638
|
def _UpdateAstString(tokens, node, value):
|
|
639
|
+
if isinstance(node, ast.Call):
|
|
640
|
+
node = node.args[0]
|
|
642
641
|
position = node.lineno, node.col_offset
|
|
643
642
|
quote_char = ''
|
|
644
643
|
if isinstance(node, ast.Str):
|
|
645
644
|
quote_char = tokens[position][1][0]
|
|
645
|
+
value = value.encode('unicode_escape').decode('utf-8')
|
|
646
646
|
tokens[position][1] = quote_char + value + quote_char
|
|
647
647
|
node.s = value
|
|
648
648
|
|
|
@@ -685,7 +685,7 @@ def AddVar(gclient_dict, var_name, value):
|
|
|
685
685
|
col = node.keys[0].col_offset
|
|
686
686
|
|
|
687
687
|
# We use a minimal Python dictionary, so that ast can parse it.
|
|
688
|
-
var_content = '{\n%s"%s": "%s",\n}' % (' ' * col, var_name, value)
|
|
688
|
+
var_content = '{\n%s"%s": "%s",\n}\n' % (' ' * col, var_name, value)
|
|
689
689
|
var_ast = ast.parse(var_content).body[0].value
|
|
690
690
|
|
|
691
691
|
# Set the ast nodes for the key and value.
|
|
@@ -704,7 +704,7 @@ def AddVar(gclient_dict, var_name, value):
|
|
|
704
704
|
var_tokens = {
|
|
705
705
|
token[2]: list(token)
|
|
706
706
|
# Ignore the tokens corresponding to braces and new lines.
|
|
707
|
-
for token in var_tokens[2:-
|
|
707
|
+
for token in var_tokens[2:-3]
|
|
708
708
|
}
|
|
709
709
|
|
|
710
710
|
gclient_dict.tokens = _ShiftLinesInTokens(gclient_dict.tokens, 1, line)
|
|
@@ -797,6 +797,15 @@ def SetRevision(gclient_dict, dep_name, new_revision):
|
|
|
797
797
|
if isinstance(node, ast.BinOp):
|
|
798
798
|
node = node.right
|
|
799
799
|
|
|
800
|
+
if isinstance(node, ast.Str):
|
|
801
|
+
token = _gclient_eval(tokens[node.lineno, node.col_offset][1])
|
|
802
|
+
if token != node.s:
|
|
803
|
+
raise ValueError(
|
|
804
|
+
'Can\'t update value for %s. Multiline strings and implicitly '
|
|
805
|
+
'concatenated strings are not supported.\n'
|
|
806
|
+
'Consider reformatting the DEPS file.' % dep_key)
|
|
807
|
+
|
|
808
|
+
|
|
800
809
|
if not isinstance(node, ast.Call) and not isinstance(node, ast.Str):
|
|
801
810
|
raise ValueError(
|
|
802
811
|
"Unsupported dependency revision format. Please file a bug to the "
|
|
@@ -838,7 +847,10 @@ def GetVar(gclient_dict, var_name):
|
|
|
838
847
|
raise KeyError(
|
|
839
848
|
"Could not find any variable called %s." % var_name)
|
|
840
849
|
|
|
841
|
-
|
|
850
|
+
val = gclient_dict['vars'][var_name]
|
|
851
|
+
if isinstance(val, ConstantString):
|
|
852
|
+
return val.value
|
|
853
|
+
return val
|
|
842
854
|
|
|
843
855
|
|
|
844
856
|
def GetCIPD(gclient_dict, dep_name, package_name):
|
|
@@ -871,7 +883,7 @@ def GetRevision(gclient_dict, dep_name):
|
|
|
871
883
|
elif isinstance(dep, basestring):
|
|
872
884
|
_, _, revision = dep.partition('@')
|
|
873
885
|
return revision or None
|
|
874
|
-
elif isinstance(dep,
|
|
886
|
+
elif isinstance(dep, collections_abc.Mapping) and 'url' in dep:
|
|
875
887
|
_, _, revision = dep['url'].partition('@')
|
|
876
888
|
return revision or None
|
|
877
889
|
else:
|
|
@@ -10,7 +10,10 @@
|
|
|
10
10
|
|
|
11
11
|
from __future__ import print_function
|
|
12
12
|
|
|
13
|
+
import gclient_utils
|
|
14
|
+
import logging
|
|
13
15
|
import os
|
|
16
|
+
import subprocess2
|
|
14
17
|
import sys
|
|
15
18
|
|
|
16
19
|
|
|
@@ -24,65 +27,66 @@ def FindGclientRoot(from_dir, filename='.gclient'):
|
|
|
24
27
|
return None
|
|
25
28
|
path = split_path[0]
|
|
26
29
|
|
|
30
|
+
logging.info('Found gclient root at ' + path)
|
|
31
|
+
|
|
32
|
+
if path == real_from_dir:
|
|
33
|
+
return path
|
|
34
|
+
|
|
27
35
|
# If we did not find the file in the current directory, make sure we are in a
|
|
28
36
|
# sub directory that is controlled by this configuration.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
entries_filename = os.path.join(path, filename + '_entries')
|
|
38
|
+
if not os.path.exists(entries_filename):
|
|
39
|
+
# If .gclient_entries does not exist, a previous call to gclient sync
|
|
40
|
+
# might have failed. In that case, we cannot verify that the .gclient
|
|
41
|
+
# is the one we want to use. In order to not to cause too much trouble,
|
|
42
|
+
# just issue a warning and return the path anyway.
|
|
43
|
+
print(
|
|
44
|
+
"%s missing, %s file in parent directory %s might not be the file "
|
|
45
|
+
"you want to use." % (entries_filename, filename, path),
|
|
46
|
+
file=sys.stderr)
|
|
47
|
+
return path
|
|
48
|
+
|
|
49
|
+
entries_content = gclient_utils.FileRead(entries_filename)
|
|
50
|
+
scope = {}
|
|
51
|
+
try:
|
|
52
|
+
exec(entries_content, scope)
|
|
53
|
+
except (SyntaxError, Exception) as e:
|
|
54
|
+
gclient_utils.SyntaxErrorToError(filename, e)
|
|
55
|
+
|
|
56
|
+
all_directories = scope['entries'].keys()
|
|
57
|
+
path_to_check = os.path.relpath(real_from_dir, path)
|
|
58
|
+
while path_to_check:
|
|
59
|
+
if path_to_check in all_directories:
|
|
40
60
|
return path
|
|
41
|
-
|
|
42
|
-
try:
|
|
43
|
-
import io
|
|
44
|
-
with io.open(entries_filename, encoding='utf-8') as f:
|
|
45
|
-
exec(f.read(), scope)
|
|
46
|
-
except SyntaxError as e:
|
|
47
|
-
SyntaxErrorToError(filename, e)
|
|
48
|
-
all_directories = scope['entries'].keys()
|
|
49
|
-
path_to_check = real_from_dir[len(path)+1:]
|
|
50
|
-
while path_to_check:
|
|
51
|
-
if path_to_check in all_directories:
|
|
52
|
-
return path
|
|
53
|
-
path_to_check = os.path.dirname(path_to_check)
|
|
54
|
-
return None
|
|
61
|
+
path_to_check = os.path.dirname(path_to_check)
|
|
55
62
|
|
|
56
|
-
|
|
57
|
-
logging.info('Found gclient root at ' + path)
|
|
58
|
-
return path
|
|
63
|
+
return None
|
|
59
64
|
|
|
60
65
|
|
|
61
66
|
def GetPrimarySolutionPath():
|
|
62
67
|
"""Returns the full path to the primary solution. (gclient_root + src)"""
|
|
63
68
|
|
|
64
69
|
gclient_root = FindGclientRoot(os.getcwd())
|
|
65
|
-
if
|
|
66
|
-
# Some projects
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
top_dir = top_dir
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
return os.path.join(gclient_root, source_dir_name)
|
|
70
|
+
if gclient_root:
|
|
71
|
+
# Some projects' top directory is not named 'src'.
|
|
72
|
+
source_dir_name = GetGClientPrimarySolutionName(gclient_root) or 'src'
|
|
73
|
+
return os.path.join(gclient_root, source_dir_name)
|
|
74
|
+
|
|
75
|
+
# Some projects might not use .gclient. Try to see whether we're in a git
|
|
76
|
+
# checkout that contains a 'buildtools' subdir.
|
|
77
|
+
top_dir = os.getcwd()
|
|
78
|
+
try:
|
|
79
|
+
top_dir = subprocess2.check_output(
|
|
80
|
+
['git', 'rev-parse', '--show-toplevel'])
|
|
81
|
+
if sys.version_info.major == 3:
|
|
82
|
+
top_dir = top_dir.decode('utf-8', 'replace')
|
|
83
|
+
top_dir = os.path.normpath(top_dir.strip())
|
|
84
|
+
except subprocess2.CalledProcessError:
|
|
85
|
+
pass
|
|
86
|
+
|
|
87
|
+
if os.path.exists(os.path.join(top_dir, 'buildtools')):
|
|
88
|
+
return top_dir
|
|
89
|
+
return None
|
|
86
90
|
|
|
87
91
|
|
|
88
92
|
def GetBuildtoolsPath():
|
|
@@ -98,12 +102,18 @@ def GetBuildtoolsPath():
|
|
|
98
102
|
primary_solution = GetPrimarySolutionPath()
|
|
99
103
|
if not primary_solution:
|
|
100
104
|
return None
|
|
105
|
+
|
|
101
106
|
buildtools_path = os.path.join(primary_solution, 'buildtools')
|
|
102
|
-
if
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
+
if os.path.exists(buildtools_path):
|
|
108
|
+
return buildtools_path
|
|
109
|
+
|
|
110
|
+
# buildtools may be in the gclient root.
|
|
111
|
+
gclient_root = FindGclientRoot(os.getcwd())
|
|
112
|
+
buildtools_path = os.path.join(gclient_root, 'buildtools')
|
|
113
|
+
if os.path.exists(buildtools_path):
|
|
114
|
+
return buildtools_path
|
|
115
|
+
|
|
116
|
+
return None
|
|
107
117
|
|
|
108
118
|
|
|
109
119
|
def GetBuildtoolsPlatformBinaryPath():
|
|
@@ -119,7 +129,7 @@ def GetBuildtoolsPlatformBinaryPath():
|
|
|
119
129
|
elif sys.platform.startswith('linux'):
|
|
120
130
|
subdir = 'linux64'
|
|
121
131
|
else:
|
|
122
|
-
raise Error('Unknown platform: ' + sys.platform)
|
|
132
|
+
raise gclient_utils.Error('Unknown platform: ' + sys.platform)
|
|
123
133
|
return os.path.join(buildtools_path, subdir)
|
|
124
134
|
|
|
125
135
|
|
|
@@ -133,9 +143,9 @@ def GetExeSuffix():
|
|
|
133
143
|
def GetGClientPrimarySolutionName(gclient_root_dir_path):
|
|
134
144
|
"""Returns the name of the primary solution in the .gclient file specified."""
|
|
135
145
|
gclient_config_file = os.path.join(gclient_root_dir_path, '.gclient')
|
|
146
|
+
gclient_config_contents = gclient_utils.FileRead(gclient_config_file)
|
|
136
147
|
env = {}
|
|
137
|
-
exec(
|
|
138
|
-
env)
|
|
148
|
+
exec(gclient_config_contents, env)
|
|
139
149
|
solutions = env.get('solutions', [])
|
|
140
150
|
if solutions:
|
|
141
151
|
return solutions[0].get('name')
|