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.
Files changed (718) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +11 -14
  4. data/CHANGELOG.md +10 -0
  5. data/README.md +10 -11
  6. data/Rakefile +30 -36
  7. data/ext/libv8/builder.rb +1 -1
  8. data/lib/libv8/version.rb +1 -1
  9. data/libv8.gemspec +1 -3
  10. data/vendor/depot_tools/{cipd.ps1 → .cipd_impl.ps1} +0 -0
  11. data/vendor/depot_tools/.gitattributes +1 -1
  12. data/vendor/depot_tools/.gitignore +7 -2
  13. data/vendor/depot_tools/.style.yapf +3 -1
  14. data/vendor/depot_tools/.vpython +55 -0
  15. data/vendor/depot_tools/.vpython3 +23 -0
  16. data/vendor/depot_tools/CROS_OWNERS +3 -1
  17. data/vendor/depot_tools/GOMA_OWNERS +9 -0
  18. data/vendor/depot_tools/LUCI_OWNERS +5 -0
  19. data/vendor/depot_tools/OWNERS +21 -6
  20. data/vendor/depot_tools/PRESUBMIT.py +35 -18
  21. data/vendor/depot_tools/README.git-cl.md +0 -14
  22. data/vendor/depot_tools/README.md +1 -1
  23. data/vendor/depot_tools/WATCHLISTS +2 -2
  24. data/vendor/depot_tools/auth.py +60 -772
  25. data/vendor/depot_tools/autoninja +12 -6
  26. data/vendor/depot_tools/autoninja.bat +14 -6
  27. data/vendor/depot_tools/autoninja.py +64 -27
  28. data/vendor/depot_tools/bb +1 -1
  29. data/vendor/depot_tools/bootstrap/{win/README.md → README.md} +28 -14
  30. data/vendor/depot_tools/bootstrap/{win/win_tools.py → bootstrap.py} +60 -43
  31. data/vendor/depot_tools/bootstrap/{win/git-bash.template.sh → git-bash.template.sh} +1 -1
  32. data/vendor/depot_tools/bootstrap/{win/git.template.bat → git.template.bat} +0 -0
  33. data/vendor/depot_tools/bootstrap/manifest.txt +27 -0
  34. data/vendor/depot_tools/bootstrap/manifest_bleeding_edge.txt +27 -0
  35. data/vendor/depot_tools/bootstrap/{win/profile.d.python.sh → profile.d.python.sh} +0 -0
  36. data/vendor/depot_tools/bootstrap/{win/python27.bleeding_edge.bat → python27.bat} +0 -0
  37. data/vendor/depot_tools/bootstrap/{win/python27.new.bat → python3.bat} +3 -3
  38. data/vendor/depot_tools/bootstrap/{win/win_tools.bat → win_tools.bat} +21 -16
  39. data/vendor/depot_tools/bootstrap_python3 +35 -0
  40. data/vendor/depot_tools/cbuildbot +1 -1
  41. data/vendor/depot_tools/chrome_set_ver +1 -1
  42. data/vendor/depot_tools/cipd +43 -39
  43. data/vendor/depot_tools/cipd.bat +2 -2
  44. data/vendor/depot_tools/cipd_client_version +1 -1
  45. data/vendor/depot_tools/cipd_client_version.digests +15 -14
  46. data/vendor/depot_tools/cipd_manifest.txt +31 -8
  47. data/vendor/depot_tools/cipd_manifest.versions +278 -158
  48. data/vendor/depot_tools/cit.py +9 -7
  49. data/vendor/depot_tools/clang_format.py +4 -1
  50. data/vendor/depot_tools/clang_format_merge_driver.py +10 -8
  51. data/vendor/depot_tools/compile_single_file.py +7 -2
  52. data/vendor/depot_tools/cpplint.py +51 -45
  53. data/vendor/depot_tools/cros +87 -0
  54. data/vendor/depot_tools/cros_sdk +1 -1
  55. data/vendor/depot_tools/crosjobs +13 -0
  56. data/vendor/depot_tools/detect_host_arch.py +0 -1
  57. data/vendor/depot_tools/dirmd +12 -0
  58. data/vendor/depot_tools/dirmd.bat +7 -0
  59. data/vendor/depot_tools/download_from_google_storage.py +47 -27
  60. data/vendor/depot_tools/ensure_bootstrap +14 -0
  61. data/vendor/depot_tools/fetch +14 -1
  62. data/vendor/depot_tools/fetch.bat +14 -1
  63. data/vendor/depot_tools/fetch.py +5 -7
  64. data/vendor/depot_tools/fetch_configs/chromium.py +6 -4
  65. data/vendor/depot_tools/fetch_configs/devtools-frontend.py +44 -0
  66. data/vendor/depot_tools/fetch_configs/ios_internal.py +10 -19
  67. data/vendor/depot_tools/fix_encoding.py +19 -5
  68. data/vendor/depot_tools/gclient +28 -12
  69. data/vendor/depot_tools/gclient-new-workdir.py +2 -0
  70. data/vendor/depot_tools/gclient.bat +18 -1
  71. data/vendor/depot_tools/gclient.py +160 -119
  72. data/vendor/depot_tools/gclient_eval.py +119 -107
  73. data/vendor/depot_tools/gclient_paths.py +67 -57
  74. data/vendor/depot_tools/gclient_scm.py +181 -159
  75. data/vendor/depot_tools/gclient_utils.py +177 -124
  76. data/vendor/depot_tools/gerrit_client.py +21 -13
  77. data/vendor/depot_tools/gerrit_util.py +188 -228
  78. data/vendor/depot_tools/git-cache +1 -1
  79. data/vendor/depot_tools/git-cl +1 -1
  80. data/vendor/depot_tools/git-drover +1 -1
  81. data/vendor/depot_tools/git-find-releases +1 -1
  82. data/vendor/depot_tools/git-footers +1 -1
  83. data/vendor/depot_tools/git-freeze +1 -1
  84. data/vendor/depot_tools/git-hyper-blame +1 -1
  85. data/vendor/depot_tools/git-map +1 -1
  86. data/vendor/depot_tools/git-map-branches +1 -1
  87. data/vendor/depot_tools/git-mark-merge-base +1 -1
  88. data/vendor/depot_tools/git-nav-downstream +1 -1
  89. data/vendor/depot_tools/git-new-branch +1 -1
  90. data/vendor/depot_tools/git-number +1 -1
  91. data/vendor/depot_tools/git-rebase-update +1 -1
  92. data/vendor/depot_tools/git-rename-branch +1 -1
  93. data/vendor/depot_tools/git-reparent-branch +1 -1
  94. data/vendor/depot_tools/git-retry +1 -1
  95. data/vendor/depot_tools/git-squash-branch +1 -1
  96. data/vendor/depot_tools/git-thaw +1 -1
  97. data/vendor/depot_tools/git-upstream-diff +1 -1
  98. data/vendor/depot_tools/git_cache.py +255 -360
  99. data/vendor/depot_tools/git_cl.py +1562 -2059
  100. data/vendor/depot_tools/git_cl_completion.sh +16 -2
  101. data/vendor/depot_tools/git_common.py +77 -32
  102. data/vendor/depot_tools/git_drover.py +17 -8
  103. data/vendor/depot_tools/git_find_releases.py +11 -9
  104. data/vendor/depot_tools/git_footers.py +13 -9
  105. data/vendor/depot_tools/git_freezer.py +3 -1
  106. data/vendor/depot_tools/git_hyper_blame.py +25 -32
  107. data/vendor/depot_tools/git_map.py +115 -93
  108. data/vendor/depot_tools/git_map_branches.py +11 -10
  109. data/vendor/depot_tools/git_mark_merge_base.py +8 -6
  110. data/vendor/depot_tools/git_nav_downstream.py +9 -6
  111. data/vendor/depot_tools/git_new_branch.py +39 -33
  112. data/vendor/depot_tools/git_number.py +28 -17
  113. data/vendor/depot_tools/git_rebase_update.py +50 -49
  114. data/vendor/depot_tools/git_rename_branch.py +2 -2
  115. data/vendor/depot_tools/git_reparent_branch.py +8 -6
  116. data/vendor/depot_tools/git_upstream_diff.py +4 -2
  117. data/vendor/depot_tools/gn.py +6 -4
  118. data/vendor/depot_tools/goma_auth +12 -0
  119. data/vendor/depot_tools/goma_auth.bat +8 -0
  120. data/vendor/depot_tools/goma_ctl +12 -0
  121. data/vendor/depot_tools/goma_ctl.bat +8 -0
  122. data/vendor/depot_tools/gsutil.py +5 -2
  123. data/vendor/depot_tools/gsutil.py.bat +8 -0
  124. data/vendor/depot_tools/gsutil.vpython +3 -1
  125. data/vendor/depot_tools/infra/config/OWNERS +2 -2
  126. data/vendor/depot_tools/infra/config/recipes.cfg +3 -2
  127. data/vendor/depot_tools/led +1 -1
  128. data/vendor/depot_tools/lockfile.py +116 -0
  129. data/vendor/depot_tools/luci-auth +1 -1
  130. data/vendor/depot_tools/lucicfg +1 -1
  131. data/vendor/depot_tools/mac_toolchain +1 -1
  132. data/vendor/depot_tools/man/html/depot_tools.html +1 -1
  133. data/vendor/depot_tools/man/html/depot_tools_tutorial.html +31 -25
  134. data/vendor/depot_tools/man/html/git-cl.html +1 -1
  135. data/vendor/depot_tools/man/html/git-drover.html +18 -18
  136. data/vendor/depot_tools/man/html/git-footers.html +1 -1
  137. data/vendor/depot_tools/man/html/git-freeze.html +3 -3
  138. data/vendor/depot_tools/man/html/git-hyper-blame.html +1 -1
  139. data/vendor/depot_tools/man/html/git-map-branches.html +2 -2
  140. data/vendor/depot_tools/man/html/git-map.html +1 -1
  141. data/vendor/depot_tools/man/html/git-mark-merge-base.html +1 -1
  142. data/vendor/depot_tools/man/html/git-nav-downstream.html +3 -3
  143. data/vendor/depot_tools/man/html/git-nav-upstream.html +12 -6
  144. data/vendor/depot_tools/man/html/git-new-branch.html +1 -1
  145. data/vendor/depot_tools/man/html/git-rebase-update.html +20 -1
  146. data/vendor/depot_tools/man/html/git-rename-branch.html +1 -1
  147. data/vendor/depot_tools/man/html/git-reparent-branch.html +1 -1
  148. data/vendor/depot_tools/man/html/git-retry.html +1 -1
  149. data/vendor/depot_tools/man/html/git-squash-branch.html +1 -1
  150. data/vendor/depot_tools/man/html/git-thaw.html +1 -1
  151. data/vendor/depot_tools/man/html/git-upstream-diff.html +10 -6
  152. data/vendor/depot_tools/man/man1/git-cl.1 +4 -4
  153. data/vendor/depot_tools/man/man1/git-drover.1 +21 -21
  154. data/vendor/depot_tools/man/man1/git-footers.1 +4 -4
  155. data/vendor/depot_tools/man/man1/git-freeze.1 +6 -6
  156. data/vendor/depot_tools/man/man1/git-hyper-blame.1 +4 -4
  157. data/vendor/depot_tools/man/man1/git-map-branches.1 +4 -4
  158. data/vendor/depot_tools/man/man1/git-map.1 +4 -4
  159. data/vendor/depot_tools/man/man1/git-mark-merge-base.1 +4 -4
  160. data/vendor/depot_tools/man/man1/git-nav-downstream.1 +6 -6
  161. data/vendor/depot_tools/man/man1/git-nav-upstream.1 +15 -9
  162. data/vendor/depot_tools/man/man1/git-new-branch.1 +3 -3
  163. data/vendor/depot_tools/man/man1/git-rebase-update.1 +14 -4
  164. data/vendor/depot_tools/man/man1/git-rename-branch.1 +4 -4
  165. data/vendor/depot_tools/man/man1/git-reparent-branch.1 +4 -4
  166. data/vendor/depot_tools/man/man1/git-retry.1 +4 -4
  167. data/vendor/depot_tools/man/man1/git-squash-branch.1 +4 -4
  168. data/vendor/depot_tools/man/man1/git-thaw.1 +4 -4
  169. data/vendor/depot_tools/man/man1/git-upstream-diff.1 +7 -13
  170. data/vendor/depot_tools/man/man7/depot_tools.7 +4 -4
  171. data/vendor/depot_tools/man/man7/depot_tools_tutorial.7 +31 -25
  172. data/vendor/depot_tools/man/src/common_demo_functions.sh +2 -2
  173. data/vendor/depot_tools/man/src/depot_tools_tutorial.txt +3 -3
  174. data/vendor/depot_tools/man/src/filter_demo_output.py +4 -2
  175. data/vendor/depot_tools/man/src/git-new-branch.txt +2 -1
  176. data/vendor/depot_tools/man/src/git-rebase-update.txt +8 -1
  177. data/vendor/depot_tools/metrics.README.md +8 -5
  178. data/vendor/depot_tools/metrics.py +7 -6
  179. data/vendor/depot_tools/metrics_utils.py +4 -14
  180. data/vendor/depot_tools/my_activity.py +85 -251
  181. data/vendor/depot_tools/ninja +1 -0
  182. data/vendor/depot_tools/ninja-mac +0 -0
  183. data/vendor/depot_tools/ninjalog_uploader.py +146 -145
  184. data/vendor/depot_tools/ninjalog_uploader_wrapper.py +69 -60
  185. data/vendor/depot_tools/owners.py +156 -43
  186. data/vendor/depot_tools/owners_finder.py +28 -14
  187. data/vendor/depot_tools/post_build_ninja_summary.py +76 -48
  188. data/vendor/depot_tools/presubmit_canned_checks.py +293 -106
  189. data/vendor/depot_tools/presubmit_support.py +527 -333
  190. data/vendor/depot_tools/prpc +1 -1
  191. data/vendor/depot_tools/pylint +2 -12
  192. data/vendor/depot_tools/pylint-1.5 +78 -0
  193. data/vendor/depot_tools/pylint-1.6 +78 -0
  194. data/vendor/depot_tools/pylint-1.7 +78 -0
  195. data/vendor/depot_tools/pylint-1.8 +78 -0
  196. data/vendor/depot_tools/pylint-1.9 +78 -0
  197. data/vendor/depot_tools/{depot-tools-auth.bat → pylint.bat} +2 -2
  198. data/vendor/depot_tools/pylint_main.py +45 -0
  199. data/vendor/depot_tools/pylintrc +14 -1
  200. data/vendor/depot_tools/python-bin/python3 +7 -0
  201. data/vendor/depot_tools/python_runner.sh +13 -8
  202. data/vendor/depot_tools/rdb +12 -0
  203. data/vendor/depot_tools/rdb.bat +7 -0
  204. data/vendor/depot_tools/recipes/OWNERS +0 -1
  205. data/vendor/depot_tools/recipes/README.recipes.md +218 -151
  206. data/vendor/depot_tools/recipes/recipe_modules/OWNERS +1 -1
  207. data/vendor/depot_tools/recipes/recipe_modules/bot_update/__init__.py +17 -16
  208. data/vendor/depot_tools/recipes/recipe_modules/bot_update/api.py +127 -78
  209. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic.json +19 -4
  210. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_luci.json +18 -3
  211. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_with_branch_heads.json +19 -4
  212. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/clobber.json +29 -8
  213. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json +28 -10
  214. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_rebase_patch_ref.json +29 -8
  215. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_reset.json +29 -8
  216. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/input_commit_with_id_without_repo.json +29 -8
  217. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/multiple_patch_refs.json +29 -8
  218. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_apply_patch_on_gclient.json +35 -10
  219. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{with_manifest_name.json → no_cp_checkout_HEAD.json} +25 -15
  220. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_a_branch_head.json +65 -0
  221. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_a_specific_commit.json +65 -0
  222. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_master.json +65 -0
  223. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/refs.json +29 -8
  224. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/reset_root_solution_revision.json +29 -8
  225. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/resolve_chromium_fixed_version.json +117 -0
  226. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail.json +17 -11
  227. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json +41 -10
  228. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json +24 -11
  229. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle.json +35 -10
  230. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_branch_heads.json +35 -10
  231. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_feature_branch.json +38 -11
  232. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8_feature_branch.json +36 -11
  233. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_webrtc.json +35 -10
  234. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json +35 -10
  235. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json +35 -10
  236. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/unrecognized_commit_repo.json +0 -5
  237. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_tags.json +29 -8
  238. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.py +95 -22
  239. data/vendor/depot_tools/recipes/recipe_modules/bot_update/resources/bot_update.py +187 -114
  240. data/vendor/depot_tools/recipes/recipe_modules/bot_update/test_api.py +2 -2
  241. data/vendor/depot_tools/recipes/recipe_modules/bot_update/tests/do_not_retry_patch_failures_in_cq.py +42 -0
  242. data/vendor/depot_tools/recipes/recipe_modules/bot_update/tests/ensure_checkout.py +1 -0
  243. data/vendor/depot_tools/recipes/recipe_modules/cipd/__init__.py +0 -1
  244. data/vendor/depot_tools/recipes/recipe_modules/cipd/api.py +2 -2
  245. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic.json +0 -1
  246. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic_pkg.json +0 -1
  247. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-failed.json +2 -4
  248. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-many-instances.json +0 -1
  249. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/mac64.json +0 -1
  250. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_file.json +26 -6
  251. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_mode.json +23 -5
  252. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_verfile.json +23 -5
  253. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/win64.json +0 -1
  254. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk arch.json +0 -1
  255. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk bits.json +0 -1
  256. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_32.json +0 -1
  257. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_64.json +0 -1
  258. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_32.json +0 -1
  259. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_64.json +0 -1
  260. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_mips_64.json +0 -1
  261. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/mac_intel_64.json +0 -1
  262. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_32.json +0 -1
  263. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_64.json +0 -1
  264. data/vendor/depot_tools/recipes/recipe_modules/cipd/test_api.py +1 -1
  265. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/api.py +4 -1
  266. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic.json +4 -2
  267. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic_luci.json +3 -1
  268. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/win.json +4 -2
  269. data/vendor/depot_tools/recipes/recipe_modules/gclient/__init__.py +2 -1
  270. data/vendor/depot_tools/recipes/recipe_modules/gclient/api.py +82 -13
  271. data/vendor/depot_tools/recipes/recipe_modules/gclient/config.py +23 -11
  272. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/basic.json +3 -4
  273. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/revision.json +3 -6
  274. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/tryserver.json +3 -4
  275. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.py +7 -7
  276. data/vendor/depot_tools/recipes/recipe_modules/gclient/resources/diff_deps.py +16 -0
  277. data/vendor/depot_tools/recipes/recipe_modules/gclient/test_api.py +4 -0
  278. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/basic.json +55 -0
  279. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/dont have revision yet.json +84 -0
  280. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/no change, exception.json +83 -0
  281. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/windows.json +55 -0
  282. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.py +88 -0
  283. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/patch_project.py +9 -21
  284. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/sync_failure.py +24 -0
  285. data/vendor/depot_tools/recipes/recipe_modules/gerrit/api.py +2 -1
  286. data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.expected/basic.json +7 -12
  287. data/vendor/depot_tools/recipes/recipe_modules/git/__init__.py +0 -2
  288. data/vendor/depot_tools/recipes/recipe_modules/git/api.py +9 -17
  289. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic.json +2 -8
  290. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_branch.json +2 -8
  291. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_file_name.json +2 -8
  292. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_hash.json +2 -8
  293. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_ref.json +2 -8
  294. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_submodule_update_force.json +2 -8
  295. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_tags.json +2 -8
  296. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/can_fail_build.json +3 -13
  297. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cannot_fail_build.json +2 -8
  298. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cat-file_test.json +4 -12
  299. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_delta.json +2 -10
  300. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_failed.json +1 -7
  301. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output.json +1 -7
  302. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output_fails_build.json +0 -8
  303. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/curl_trace_file.json +3 -10
  304. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/git-cache-checkout.json +3 -11
  305. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/platform_win.json +2 -8
  306. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/rebase_failed.json +3 -13
  307. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/remote_not_origin.json +2 -8
  308. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/set_got_revision.json +2 -8
  309. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.py +0 -5
  310. data/vendor/depot_tools/recipes/recipe_modules/git_cl/__init__.py +1 -1
  311. data/vendor/depot_tools/recipes/recipe_modules/git_cl/api.py +7 -13
  312. data/vendor/depot_tools/recipes/recipe_modules/git_cl/examples/full.expected/basic.json +21 -16
  313. data/vendor/depot_tools/recipes/recipe_modules/git_cl/examples/full.py +1 -2
  314. data/vendor/depot_tools/recipes/recipe_modules/gitiles/api.py +1 -1
  315. data/vendor/depot_tools/recipes/recipe_modules/gitiles/examples/full.expected/basic.json +0 -1
  316. data/vendor/depot_tools/recipes/recipe_modules/gitiles/resources/gerrit_client.py +2 -2
  317. data/vendor/depot_tools/recipes/recipe_modules/gitiles/tests/parse_repo_url.expected/basic.json +0 -1
  318. data/vendor/depot_tools/recipes/recipe_modules/gsutil/api.py +23 -8
  319. data/vendor/depot_tools/recipes/recipe_modules/gsutil/examples/full.expected/basic.json +52 -1
  320. data/vendor/depot_tools/recipes/recipe_modules/gsutil/examples/full.py +15 -0
  321. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/__init__.py +1 -0
  322. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/api.py +32 -8
  323. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/ancient_version.json +83 -0
  324. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/automatic_version.json +83 -0
  325. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/explicit_version.json +83 -0
  326. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/linux.json +0 -1
  327. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/mac.json +5 -4
  328. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/win.json +0 -1
  329. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.py +21 -2
  330. data/vendor/depot_tools/recipes/recipe_modules/presubmit/__init__.py +20 -0
  331. data/vendor/depot_tools/recipes/recipe_modules/presubmit/api.py +235 -3
  332. data/vendor/depot_tools/recipes/recipe_modules/presubmit/examples/full.expected/basic.json +13 -5
  333. data/vendor/depot_tools/recipes/recipe_modules/presubmit/examples/full.py +5 -1
  334. data/vendor/depot_tools/recipes/recipe_modules/presubmit/properties.proto +14 -0
  335. data/vendor/depot_tools/recipes/recipe_modules/presubmit/test_api.py +19 -0
  336. data/vendor/depot_tools/recipes/recipe_modules/presubmit/tests/execute.py +247 -0
  337. data/vendor/depot_tools/recipes/recipe_modules/presubmit/tests/prepare.py +49 -0
  338. data/vendor/depot_tools/recipes/recipe_modules/tryserver/api.py +33 -45
  339. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/basic_tags.json +0 -1
  340. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch.json +64 -21
  341. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch_and_target_ref.json +64 -21
  342. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch.json +1 -22
  343. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch_new.json +1 -22
  344. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.py +5 -32
  345. data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_fetch_ref_timeout.py +29 -0
  346. data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_owner.expected/basic.json +5 -0
  347. data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_owner.py +22 -0
  348. data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_target_ref.py +32 -0
  349. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/linux.json +0 -1
  350. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/mac.json +0 -1
  351. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/win.json +2 -1
  352. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.py +1 -6
  353. data/vendor/depot_tools/recipes/recipes.py +49 -28
  354. data/vendor/depot_tools/recipes/recipes/fetch_end_to_end_test.expected/basic.json +11 -6
  355. data/vendor/depot_tools/repo +698 -540
  356. data/vendor/depot_tools/roll-dep +14 -1
  357. data/vendor/depot_tools/roll-dep.bat +10 -1
  358. data/vendor/depot_tools/roll_dep.py +15 -10
  359. data/vendor/depot_tools/scm.py +95 -75
  360. data/vendor/depot_tools/setup_color.py +36 -2
  361. data/vendor/depot_tools/split_cl.py +44 -32
  362. data/vendor/depot_tools/subcommand.py +6 -6
  363. data/vendor/depot_tools/subprocess2.py +38 -322
  364. data/vendor/depot_tools/third_party/colorama/LICENSE.txt +0 -1
  365. data/vendor/depot_tools/third_party/colorama/README.chromium +4 -5
  366. data/vendor/depot_tools/third_party/colorama/README.rst +346 -0
  367. data/vendor/depot_tools/third_party/colorama/__init__.py +3 -4
  368. data/vendor/depot_tools/third_party/colorama/ansi.py +82 -30
  369. data/vendor/depot_tools/third_party/colorama/ansitowin32.py +105 -37
  370. data/vendor/depot_tools/third_party/colorama/initialise.py +39 -15
  371. data/vendor/depot_tools/third_party/colorama/win32.py +46 -28
  372. data/vendor/depot_tools/third_party/colorama/winterm.py +80 -31
  373. data/vendor/depot_tools/update_depot_tools +18 -8
  374. data/vendor/depot_tools/update_depot_tools.bat +19 -15
  375. data/vendor/depot_tools/upload_metrics.py +7 -6
  376. data/vendor/depot_tools/upload_to_google_storage.py +23 -16
  377. data/vendor/depot_tools/vpython +4 -4
  378. data/vendor/depot_tools/vpython.bat +1 -1
  379. data/vendor/depot_tools/vpython3 +55 -0
  380. data/vendor/depot_tools/vpython3.bat +12 -0
  381. data/vendor/depot_tools/watchlists.py +14 -11
  382. data/vendor/depot_tools/weekly +4 -2
  383. data/vendor/depot_tools/win32imports.py +61 -0
  384. data/vendor/depot_tools/win_toolchain/get_toolchain_if_necessary.py +49 -41
  385. data/vendor/depot_tools/win_toolchain/package_from_installed.py +142 -149
  386. data/vendor/depot_tools/wtf +5 -3
  387. data/vendor/depot_tools/yapf +5 -1
  388. metadata +68 -343
  389. data/vendor/depot_tools/README.testing +0 -23
  390. data/vendor/depot_tools/annotated_gclient.py +0 -89
  391. data/vendor/depot_tools/appengine_mapper.py +0 -23
  392. data/vendor/depot_tools/bootstrap/win/manifest.txt +0 -20
  393. data/vendor/depot_tools/bootstrap/win/manifest_bleeding_edge.txt +0 -20
  394. data/vendor/depot_tools/bootstrap/win/pylint.new.bat +0 -7
  395. data/vendor/depot_tools/buildbucket.py +0 -186
  396. data/vendor/depot_tools/checkout.py +0 -431
  397. data/vendor/depot_tools/cros +0 -1
  398. data/vendor/depot_tools/dart_format.py +0 -58
  399. data/vendor/depot_tools/depot-tools-auth +0 -8
  400. data/vendor/depot_tools/depot-tools-auth.py +0 -102
  401. data/vendor/depot_tools/my_reviews.py +0 -396
  402. data/vendor/depot_tools/patch.py +0 -548
  403. data/vendor/depot_tools/pylint.py +0 -30
  404. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/buildbot.json +0 -239
  405. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_luci.json +0 -222
  406. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/__init__.py +0 -4
  407. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/api.py +0 -29
  408. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/basic.json +0 -15
  409. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_linux.json +0 -15
  410. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_mac.json +0 -15
  411. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_win.json +0 -15
  412. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_linux.json +0 -15
  413. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_mac.json +0 -15
  414. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_win.json +0 -15
  415. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_linux.json +0 -15
  416. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_mac.json +0 -15
  417. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_win.json +0 -15
  418. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.py +0 -33
  419. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/path_config.py +0 -66
  420. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/set_failure_hash_with_no_steps.json +0 -11
  421. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch.json +0 -45
  422. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch_luci.json +0 -45
  423. data/vendor/depot_tools/rietveld.py +0 -779
  424. data/vendor/depot_tools/roll-dep-svn +0 -8
  425. data/vendor/depot_tools/roll-dep-svn.bat +0 -12
  426. data/vendor/depot_tools/roll_dep_svn.py +0 -430
  427. data/vendor/depot_tools/support/chromite_wrapper +0 -96
  428. data/vendor/depot_tools/third_party/boto/LICENSE +0 -18
  429. data/vendor/depot_tools/third_party/boto/README.chromium +0 -43
  430. data/vendor/depot_tools/third_party/boto/README.rst +0 -163
  431. data/vendor/depot_tools/third_party/boto/__init__.py +0 -793
  432. data/vendor/depot_tools/third_party/boto/auth.py +0 -682
  433. data/vendor/depot_tools/third_party/boto/auth_handler.py +0 -58
  434. data/vendor/depot_tools/third_party/boto/cacerts/__init__.py +0 -22
  435. data/vendor/depot_tools/third_party/boto/cacerts/cacerts.txt +0 -2183
  436. data/vendor/depot_tools/third_party/boto/compat.py +0 -28
  437. data/vendor/depot_tools/third_party/boto/connection.py +0 -1081
  438. data/vendor/depot_tools/third_party/boto/contrib/__init__.py +0 -22
  439. data/vendor/depot_tools/third_party/boto/contrib/ymlmessage.py +0 -52
  440. data/vendor/depot_tools/third_party/boto/core/README +0 -58
  441. data/vendor/depot_tools/third_party/boto/core/__init__.py +0 -23
  442. data/vendor/depot_tools/third_party/boto/core/auth.py +0 -78
  443. data/vendor/depot_tools/third_party/boto/core/credentials.py +0 -154
  444. data/vendor/depot_tools/third_party/boto/core/dictresponse.py +0 -178
  445. data/vendor/depot_tools/third_party/boto/core/service.py +0 -67
  446. data/vendor/depot_tools/third_party/boto/datapipeline/__init__.py +0 -0
  447. data/vendor/depot_tools/third_party/boto/datapipeline/exceptions.py +0 -42
  448. data/vendor/depot_tools/third_party/boto/datapipeline/layer1.py +0 -546
  449. data/vendor/depot_tools/third_party/boto/ecs/__init__.py +0 -90
  450. data/vendor/depot_tools/third_party/boto/ecs/item.py +0 -153
  451. data/vendor/depot_tools/third_party/boto/exception.py +0 -476
  452. data/vendor/depot_tools/third_party/boto/file/README +0 -49
  453. data/vendor/depot_tools/third_party/boto/file/__init__.py +0 -28
  454. data/vendor/depot_tools/third_party/boto/file/bucket.py +0 -112
  455. data/vendor/depot_tools/third_party/boto/file/connection.py +0 -33
  456. data/vendor/depot_tools/third_party/boto/file/key.py +0 -199
  457. data/vendor/depot_tools/third_party/boto/file/simpleresultset.py +0 -30
  458. data/vendor/depot_tools/third_party/boto/fps/__init__.py +0 -21
  459. data/vendor/depot_tools/third_party/boto/fps/connection.py +0 -369
  460. data/vendor/depot_tools/third_party/boto/fps/exception.py +0 -344
  461. data/vendor/depot_tools/third_party/boto/fps/response.py +0 -175
  462. data/vendor/depot_tools/third_party/boto/gs/__init__.py +0 -22
  463. data/vendor/depot_tools/third_party/boto/gs/acl.py +0 -304
  464. data/vendor/depot_tools/third_party/boto/gs/bucket.py +0 -870
  465. data/vendor/depot_tools/third_party/boto/gs/bucketlistresultset.py +0 -64
  466. data/vendor/depot_tools/third_party/boto/gs/connection.py +0 -103
  467. data/vendor/depot_tools/third_party/boto/gs/cors.py +0 -169
  468. data/vendor/depot_tools/third_party/boto/gs/key.py +0 -704
  469. data/vendor/depot_tools/third_party/boto/gs/resumable_upload_handler.py +0 -659
  470. data/vendor/depot_tools/third_party/boto/gs/user.py +0 -54
  471. data/vendor/depot_tools/third_party/boto/handler.py +0 -44
  472. data/vendor/depot_tools/third_party/boto/https_connection.py +0 -124
  473. data/vendor/depot_tools/third_party/boto/jsonresponse.py +0 -163
  474. data/vendor/depot_tools/third_party/boto/manage/__init__.py +0 -23
  475. data/vendor/depot_tools/third_party/boto/manage/cmdshell.py +0 -241
  476. data/vendor/depot_tools/third_party/boto/manage/propget.py +0 -64
  477. data/vendor/depot_tools/third_party/boto/manage/server.py +0 -556
  478. data/vendor/depot_tools/third_party/boto/manage/task.py +0 -175
  479. data/vendor/depot_tools/third_party/boto/manage/test_manage.py +0 -34
  480. data/vendor/depot_tools/third_party/boto/manage/volume.py +0 -420
  481. data/vendor/depot_tools/third_party/boto/mashups/__init__.py +0 -23
  482. data/vendor/depot_tools/third_party/boto/mashups/interactive.py +0 -97
  483. data/vendor/depot_tools/third_party/boto/mashups/iobject.py +0 -115
  484. data/vendor/depot_tools/third_party/boto/mashups/order.py +0 -211
  485. data/vendor/depot_tools/third_party/boto/mashups/server.py +0 -395
  486. data/vendor/depot_tools/third_party/boto/plugin.py +0 -90
  487. data/vendor/depot_tools/third_party/boto/provider.py +0 -337
  488. data/vendor/depot_tools/third_party/boto/pyami/__init__.py +0 -22
  489. data/vendor/depot_tools/third_party/boto/pyami/bootstrap.py +0 -134
  490. data/vendor/depot_tools/third_party/boto/pyami/config.py +0 -229
  491. data/vendor/depot_tools/third_party/boto/pyami/copybot.cfg +0 -60
  492. data/vendor/depot_tools/third_party/boto/pyami/copybot.py +0 -97
  493. data/vendor/depot_tools/third_party/boto/pyami/helloworld.py +0 -28
  494. data/vendor/depot_tools/third_party/boto/pyami/launch_ami.py +0 -178
  495. data/vendor/depot_tools/third_party/boto/pyami/scriptbase.py +0 -44
  496. data/vendor/depot_tools/third_party/boto/pyami/startup.py +0 -60
  497. data/vendor/depot_tools/third_party/boto/regioninfo.py +0 -63
  498. data/vendor/depot_tools/third_party/boto/resultset.py +0 -169
  499. data/vendor/depot_tools/third_party/boto/roboto/__init__.py +0 -1
  500. data/vendor/depot_tools/third_party/boto/roboto/awsqueryrequest.py +0 -504
  501. data/vendor/depot_tools/third_party/boto/roboto/awsqueryservice.py +0 -121
  502. data/vendor/depot_tools/third_party/boto/roboto/param.py +0 -147
  503. data/vendor/depot_tools/third_party/boto/s3/__init__.py +0 -84
  504. data/vendor/depot_tools/third_party/boto/s3/acl.py +0 -164
  505. data/vendor/depot_tools/third_party/boto/s3/bucket.py +0 -1634
  506. data/vendor/depot_tools/third_party/boto/s3/bucketlistresultset.py +0 -139
  507. data/vendor/depot_tools/third_party/boto/s3/bucketlogging.py +0 -83
  508. data/vendor/depot_tools/third_party/boto/s3/connection.py +0 -540
  509. data/vendor/depot_tools/third_party/boto/s3/cors.py +0 -210
  510. data/vendor/depot_tools/third_party/boto/s3/deletemarker.py +0 -55
  511. data/vendor/depot_tools/third_party/boto/s3/key.py +0 -1712
  512. data/vendor/depot_tools/third_party/boto/s3/keyfile.py +0 -134
  513. data/vendor/depot_tools/third_party/boto/s3/lifecycle.py +0 -231
  514. data/vendor/depot_tools/third_party/boto/s3/multidelete.py +0 -138
  515. data/vendor/depot_tools/third_party/boto/s3/multipart.py +0 -315
  516. data/vendor/depot_tools/third_party/boto/s3/prefix.py +0 -42
  517. data/vendor/depot_tools/third_party/boto/s3/resumable_download_handler.py +0 -339
  518. data/vendor/depot_tools/third_party/boto/s3/tagging.py +0 -71
  519. data/vendor/depot_tools/third_party/boto/s3/user.py +0 -49
  520. data/vendor/depot_tools/third_party/boto/s3/website.py +0 -237
  521. data/vendor/depot_tools/third_party/boto/services/__init__.py +0 -23
  522. data/vendor/depot_tools/third_party/boto/services/bs.py +0 -179
  523. data/vendor/depot_tools/third_party/boto/services/message.py +0 -58
  524. data/vendor/depot_tools/third_party/boto/services/result.py +0 -136
  525. data/vendor/depot_tools/third_party/boto/services/service.py +0 -161
  526. data/vendor/depot_tools/third_party/boto/services/servicedef.py +0 -91
  527. data/vendor/depot_tools/third_party/boto/services/sonofmmm.cfg +0 -43
  528. data/vendor/depot_tools/third_party/boto/services/sonofmmm.py +0 -81
  529. data/vendor/depot_tools/third_party/boto/services/submit.py +0 -88
  530. data/vendor/depot_tools/third_party/boto/ses/__init__.py +0 -54
  531. data/vendor/depot_tools/third_party/boto/ses/connection.py +0 -521
  532. data/vendor/depot_tools/third_party/boto/ses/exceptions.py +0 -77
  533. data/vendor/depot_tools/third_party/boto/storage_uri.py +0 -835
  534. data/vendor/depot_tools/third_party/boto/sts/__init__.py +0 -55
  535. data/vendor/depot_tools/third_party/boto/sts/connection.py +0 -207
  536. data/vendor/depot_tools/third_party/boto/sts/credentials.py +0 -215
  537. data/vendor/depot_tools/third_party/boto/utils.py +0 -927
  538. data/vendor/depot_tools/third_party/colorama/README.txt +0 -304
  539. data/vendor/depot_tools/third_party/fancy_urllib/README +0 -22
  540. data/vendor/depot_tools/third_party/fancy_urllib/__init__.py +0 -460
  541. data/vendor/depot_tools/third_party/logilab/README.chromium +0 -6
  542. data/vendor/depot_tools/third_party/logilab/__init__.py +0 -0
  543. data/vendor/depot_tools/third_party/logilab/astroid/LICENSE.txt +0 -340
  544. data/vendor/depot_tools/third_party/logilab/astroid/README.chromium +0 -11
  545. data/vendor/depot_tools/third_party/logilab/astroid/__init__.py +0 -136
  546. data/vendor/depot_tools/third_party/logilab/astroid/__pkginfo__.py +0 -42
  547. data/vendor/depot_tools/third_party/logilab/astroid/arguments.py +0 -233
  548. data/vendor/depot_tools/third_party/logilab/astroid/as_string.py +0 -548
  549. data/vendor/depot_tools/third_party/logilab/astroid/astpeephole.py +0 -86
  550. data/vendor/depot_tools/third_party/logilab/astroid/bases.py +0 -636
  551. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_builtin_inference.py +0 -336
  552. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_dateutil.py +0 -15
  553. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_gi.py +0 -195
  554. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_mechanize.py +0 -18
  555. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_nose.py +0 -82
  556. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_numpy.py +0 -62
  557. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_pytest.py +0 -76
  558. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_qt.py +0 -44
  559. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_six.py +0 -288
  560. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_ssl.py +0 -65
  561. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_stdlib.py +0 -473
  562. data/vendor/depot_tools/third_party/logilab/astroid/builder.py +0 -263
  563. data/vendor/depot_tools/third_party/logilab/astroid/context.py +0 -81
  564. data/vendor/depot_tools/third_party/logilab/astroid/decorators.py +0 -75
  565. data/vendor/depot_tools/third_party/logilab/astroid/exceptions.py +0 -71
  566. data/vendor/depot_tools/third_party/logilab/astroid/inference.py +0 -359
  567. data/vendor/depot_tools/third_party/logilab/astroid/manager.py +0 -267
  568. data/vendor/depot_tools/third_party/logilab/astroid/mixins.py +0 -147
  569. data/vendor/depot_tools/third_party/logilab/astroid/modutils.py +0 -741
  570. data/vendor/depot_tools/third_party/logilab/astroid/node_classes.py +0 -1053
  571. data/vendor/depot_tools/third_party/logilab/astroid/nodes.py +0 -87
  572. data/vendor/depot_tools/third_party/logilab/astroid/objects.py +0 -186
  573. data/vendor/depot_tools/third_party/logilab/astroid/protocols.py +0 -470
  574. data/vendor/depot_tools/third_party/logilab/astroid/raw_building.py +0 -390
  575. data/vendor/depot_tools/third_party/logilab/astroid/rebuilder.py +0 -989
  576. data/vendor/depot_tools/third_party/logilab/astroid/scoped_nodes.py +0 -1716
  577. data/vendor/depot_tools/third_party/logilab/astroid/test_utils.py +0 -201
  578. data/vendor/depot_tools/third_party/logilab/astroid/transforms.py +0 -96
  579. data/vendor/depot_tools/third_party/logilab/astroid/util.py +0 -89
  580. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/LICENSE +0 -19
  581. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/README.chromium +0 -11
  582. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/__init__.py +0 -20
  583. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/cext.c +0 -1421
  584. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/compat.py +0 -9
  585. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/simple.py +0 -246
  586. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/slots.py +0 -414
  587. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/utils.py +0 -13
  588. data/vendor/depot_tools/third_party/logilab/wrapt/LICENSE +0 -24
  589. data/vendor/depot_tools/third_party/logilab/wrapt/README.chromium +0 -11
  590. data/vendor/depot_tools/third_party/logilab/wrapt/__init__.py +0 -19
  591. data/vendor/depot_tools/third_party/logilab/wrapt/_wrappers.c +0 -2729
  592. data/vendor/depot_tools/third_party/logilab/wrapt/arguments.py +0 -96
  593. data/vendor/depot_tools/third_party/logilab/wrapt/decorators.py +0 -512
  594. data/vendor/depot_tools/third_party/logilab/wrapt/importer.py +0 -228
  595. data/vendor/depot_tools/third_party/logilab/wrapt/wrappers.py +0 -901
  596. data/vendor/depot_tools/third_party/mock/LICENSE.txt +0 -26
  597. data/vendor/depot_tools/third_party/mock/README.chromium +0 -24
  598. data/vendor/depot_tools/third_party/mock/__init__.py +0 -2366
  599. data/vendor/depot_tools/third_party/oauth2client/LICENSE +0 -202
  600. data/vendor/depot_tools/third_party/oauth2client/MODIFICATIONS.diff +0 -66
  601. data/vendor/depot_tools/third_party/oauth2client/README.chromium +0 -15
  602. data/vendor/depot_tools/third_party/oauth2client/__init__.py +0 -5
  603. data/vendor/depot_tools/third_party/oauth2client/anyjson.py +0 -32
  604. data/vendor/depot_tools/third_party/oauth2client/appengine.py +0 -963
  605. data/vendor/depot_tools/third_party/oauth2client/client.py +0 -1363
  606. data/vendor/depot_tools/third_party/oauth2client/clientsecrets.py +0 -153
  607. data/vendor/depot_tools/third_party/oauth2client/crypt.py +0 -377
  608. data/vendor/depot_tools/third_party/oauth2client/django_orm.py +0 -134
  609. data/vendor/depot_tools/third_party/oauth2client/file.py +0 -124
  610. data/vendor/depot_tools/third_party/oauth2client/gce.py +0 -90
  611. data/vendor/depot_tools/third_party/oauth2client/keyring_storage.py +0 -109
  612. data/vendor/depot_tools/third_party/oauth2client/locked_file.py +0 -373
  613. data/vendor/depot_tools/third_party/oauth2client/multistore_file.py +0 -465
  614. data/vendor/depot_tools/third_party/oauth2client/old_run.py +0 -160
  615. data/vendor/depot_tools/third_party/oauth2client/tools.py +0 -243
  616. data/vendor/depot_tools/third_party/oauth2client/util.py +0 -196
  617. data/vendor/depot_tools/third_party/oauth2client/xsrfutil.py +0 -113
  618. data/vendor/depot_tools/third_party/protobuf26/README.chromium +0 -23
  619. data/vendor/depot_tools/third_party/protobuf26/__init__.py +0 -0
  620. data/vendor/depot_tools/third_party/protobuf26/compiler/__init__.py +0 -0
  621. data/vendor/depot_tools/third_party/protobuf26/compiler/plugin_pb2.py +0 -184
  622. data/vendor/depot_tools/third_party/protobuf26/descriptor.py +0 -849
  623. data/vendor/depot_tools/third_party/protobuf26/descriptor_database.py +0 -137
  624. data/vendor/depot_tools/third_party/protobuf26/descriptor_pb2.py +0 -1522
  625. data/vendor/depot_tools/third_party/protobuf26/descriptor_pool.py +0 -643
  626. data/vendor/depot_tools/third_party/protobuf26/internal/__init__.py +0 -0
  627. data/vendor/depot_tools/third_party/protobuf26/internal/api_implementation.py +0 -89
  628. data/vendor/depot_tools/third_party/protobuf26/internal/containers.py +0 -269
  629. data/vendor/depot_tools/third_party/protobuf26/internal/cpp_message.py +0 -663
  630. data/vendor/depot_tools/third_party/protobuf26/internal/decoder.py +0 -831
  631. data/vendor/depot_tools/third_party/protobuf26/internal/encoder.py +0 -788
  632. data/vendor/depot_tools/third_party/protobuf26/internal/enum_type_wrapper.py +0 -89
  633. data/vendor/depot_tools/third_party/protobuf26/internal/message_listener.py +0 -78
  634. data/vendor/depot_tools/third_party/protobuf26/internal/python_message.py +0 -1247
  635. data/vendor/depot_tools/third_party/protobuf26/internal/type_checkers.py +0 -328
  636. data/vendor/depot_tools/third_party/protobuf26/internal/wire_format.py +0 -268
  637. data/vendor/depot_tools/third_party/protobuf26/message.py +0 -284
  638. data/vendor/depot_tools/third_party/protobuf26/message_factory.py +0 -155
  639. data/vendor/depot_tools/third_party/protobuf26/reflection.py +0 -205
  640. data/vendor/depot_tools/third_party/protobuf26/service.py +0 -226
  641. data/vendor/depot_tools/third_party/protobuf26/service_reflection.py +0 -284
  642. data/vendor/depot_tools/third_party/protobuf26/symbol_database.py +0 -185
  643. data/vendor/depot_tools/third_party/protobuf26/text_encoding.py +0 -110
  644. data/vendor/depot_tools/third_party/protobuf26/text_format.py +0 -873
  645. data/vendor/depot_tools/third_party/pylint.py +0 -37
  646. data/vendor/depot_tools/third_party/pylint/LICENSE.txt +0 -340
  647. data/vendor/depot_tools/third_party/pylint/README.chromium +0 -30
  648. data/vendor/depot_tools/third_party/pylint/__init__.py +0 -46
  649. data/vendor/depot_tools/third_party/pylint/__main__.py +0 -3
  650. data/vendor/depot_tools/third_party/pylint/__pkginfo__.py +0 -80
  651. data/vendor/depot_tools/third_party/pylint/checkers/__init__.py +0 -123
  652. data/vendor/depot_tools/third_party/pylint/checkers/async.py +0 -82
  653. data/vendor/depot_tools/third_party/pylint/checkers/base.py +0 -2010
  654. data/vendor/depot_tools/third_party/pylint/checkers/classes.py +0 -1120
  655. data/vendor/depot_tools/third_party/pylint/checkers/design_analysis.py +0 -348
  656. data/vendor/depot_tools/third_party/pylint/checkers/exceptions.py +0 -369
  657. data/vendor/depot_tools/third_party/pylint/checkers/format.py +0 -993
  658. data/vendor/depot_tools/third_party/pylint/checkers/imports.py +0 -654
  659. data/vendor/depot_tools/third_party/pylint/checkers/logging.py +0 -258
  660. data/vendor/depot_tools/third_party/pylint/checkers/misc.py +0 -105
  661. data/vendor/depot_tools/third_party/pylint/checkers/newstyle.py +0 -169
  662. data/vendor/depot_tools/third_party/pylint/checkers/python3.py +0 -591
  663. data/vendor/depot_tools/third_party/pylint/checkers/raw_metrics.py +0 -129
  664. data/vendor/depot_tools/third_party/pylint/checkers/similar.py +0 -371
  665. data/vendor/depot_tools/third_party/pylint/checkers/spelling.py +0 -264
  666. data/vendor/depot_tools/third_party/pylint/checkers/stdlib.py +0 -280
  667. data/vendor/depot_tools/third_party/pylint/checkers/strings.py +0 -618
  668. data/vendor/depot_tools/third_party/pylint/checkers/typecheck.py +0 -974
  669. data/vendor/depot_tools/third_party/pylint/checkers/utils.py +0 -741
  670. data/vendor/depot_tools/third_party/pylint/checkers/variables.py +0 -1191
  671. data/vendor/depot_tools/third_party/pylint/config.py +0 -820
  672. data/vendor/depot_tools/third_party/pylint/epylint.py +0 -181
  673. data/vendor/depot_tools/third_party/pylint/extensions/__init__.py +0 -0
  674. data/vendor/depot_tools/third_party/pylint/extensions/check_docs.py +0 -311
  675. data/vendor/depot_tools/third_party/pylint/extensions/check_elif.py +0 -62
  676. data/vendor/depot_tools/third_party/pylint/graph.py +0 -179
  677. data/vendor/depot_tools/third_party/pylint/gui.py +0 -531
  678. data/vendor/depot_tools/third_party/pylint/interfaces.py +0 -102
  679. data/vendor/depot_tools/third_party/pylint/lint.py +0 -1381
  680. data/vendor/depot_tools/third_party/pylint/pyreverse/__init__.py +0 -5
  681. data/vendor/depot_tools/third_party/pylint/pyreverse/diadefslib.py +0 -230
  682. data/vendor/depot_tools/third_party/pylint/pyreverse/diagrams.py +0 -258
  683. data/vendor/depot_tools/third_party/pylint/pyreverse/inspector.py +0 -372
  684. data/vendor/depot_tools/third_party/pylint/pyreverse/main.py +0 -147
  685. data/vendor/depot_tools/third_party/pylint/pyreverse/utils.py +0 -210
  686. data/vendor/depot_tools/third_party/pylint/pyreverse/vcgutils.py +0 -198
  687. data/vendor/depot_tools/third_party/pylint/pyreverse/writer.py +0 -198
  688. data/vendor/depot_tools/third_party/pylint/reporters/__init__.py +0 -149
  689. data/vendor/depot_tools/third_party/pylint/reporters/guireporter.py +0 -27
  690. data/vendor/depot_tools/third_party/pylint/reporters/html.py +0 -108
  691. data/vendor/depot_tools/third_party/pylint/reporters/json.py +0 -64
  692. data/vendor/depot_tools/third_party/pylint/reporters/text.py +0 -237
  693. data/vendor/depot_tools/third_party/pylint/reporters/ureports/__init__.py +0 -106
  694. data/vendor/depot_tools/third_party/pylint/reporters/ureports/html_writer.py +0 -93
  695. data/vendor/depot_tools/third_party/pylint/reporters/ureports/nodes.py +0 -181
  696. data/vendor/depot_tools/third_party/pylint/reporters/ureports/text_writer.py +0 -99
  697. data/vendor/depot_tools/third_party/pylint/testutils.py +0 -414
  698. data/vendor/depot_tools/third_party/pylint/utils.py +0 -1148
  699. data/vendor/depot_tools/third_party/pymox/COPYING +0 -202
  700. data/vendor/depot_tools/third_party/pymox/MANIFEST.in +0 -5
  701. data/vendor/depot_tools/third_party/pymox/README +0 -56
  702. data/vendor/depot_tools/third_party/pymox/__init__.py +0 -0
  703. data/vendor/depot_tools/third_party/pymox/mox.py +0 -1643
  704. data/vendor/depot_tools/third_party/pymox/mox_test.py +0 -1708
  705. data/vendor/depot_tools/third_party/pymox/mox_test_helper.py +0 -76
  706. data/vendor/depot_tools/third_party/pymox/setup.py +0 -14
  707. data/vendor/depot_tools/third_party/pymox/stubout.py +0 -142
  708. data/vendor/depot_tools/third_party/pymox/stubout_test.py +0 -47
  709. data/vendor/depot_tools/third_party/pymox/stubout_testee.py +0 -2
  710. data/vendor/depot_tools/third_party/simplejson/LICENSE.txt +0 -19
  711. data/vendor/depot_tools/third_party/simplejson/PKG-INFO +0 -29
  712. data/vendor/depot_tools/third_party/simplejson/__init__.py +0 -437
  713. data/vendor/depot_tools/third_party/simplejson/decoder.py +0 -421
  714. data/vendor/depot_tools/third_party/simplejson/encoder.py +0 -501
  715. data/vendor/depot_tools/third_party/simplejson/ordered_dict.py +0 -119
  716. data/vendor/depot_tools/third_party/simplejson/scanner.py +0 -77
  717. data/vendor/depot_tools/third_party/simplejson/tool.py +0 -39
  718. data/vendor/depot_tools/third_party/upload.py +0 -2565
@@ -27,16 +27,18 @@ class Chromium(config_util.Config):
27
27
  if ast.literal_eval(props.get('internal', 'False')):
28
28
  solution['custom_vars']['checkout_src_internal'] = True
29
29
 
30
- # TODO(jbudorick): Remove this once crbug.com/803846 and
31
- # crbug.com/856278 are complete.
32
- solution['custom_vars']['checkout_mobile_internal'] = True
33
-
34
30
  if not ast.literal_eval(props.get('flash', 'False')):
35
31
  solution['custom_deps'].update({
36
32
  'src/third_party/adobe/flash/binaries/ppapi/linux': None,
37
33
  'src/third_party/adobe/flash/binaries/ppapi/linux_x64': None,
34
+ 'src/third_party/adobe/flash/binaries/ppapi/mac_64': None,
35
+ 'src/third_party/adobe/flash/binaries/ppapi/win': None,
36
+ 'src/third_party/adobe/flash/binaries/ppapi/win_x64': None,
38
37
  'src/third_party/adobe/flash/symbols/ppapi/linux': None,
39
38
  'src/third_party/adobe/flash/symbols/ppapi/linux_x64': None,
39
+ 'src/third_party/adobe/flash/symbols/ppapi/mac_64': None,
40
+ 'src/third_party/adobe/flash/symbols/ppapi/win': None,
41
+ 'src/third_party/adobe/flash/symbols/ppapi/win_x64': None,
40
42
  })
41
43
  spec = {
42
44
  'solutions': [solution],
@@ -0,0 +1,44 @@
1
+ # Copyright 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
+ import sys
6
+
7
+ import config_util # pylint: disable=import-error
8
+
9
+
10
+ # This class doesn't need an __init__ method, so we disable the warning
11
+ # pylint: disable=no-init
12
+ class DevToolsFrontend(config_util.Config):
13
+ """Basic Config class for DevTools frontend."""
14
+
15
+ @staticmethod
16
+ def fetch_spec(props):
17
+ url = 'https://chromium.googlesource.com/devtools/devtools-frontend.git'
18
+ solution = {
19
+ 'name' : 'devtools-frontend',
20
+ 'url' : url,
21
+ 'deps_file' : 'DEPS',
22
+ 'managed' : False,
23
+ 'custom_deps' : {},
24
+ }
25
+ spec = {
26
+ 'solutions': [solution],
27
+ 'with_branch_heads': True,
28
+ }
29
+ return {
30
+ 'type': 'gclient_git',
31
+ 'gclient_git_spec': spec,
32
+ }
33
+
34
+ @staticmethod
35
+ def expected_root(_props):
36
+ return 'devtools-frontend'
37
+
38
+
39
+ def main(argv=None):
40
+ return DevToolsFrontend().handle_args(argv)
41
+
42
+
43
+ if __name__ == '__main__':
44
+ sys.exit(main(sys.argv))
@@ -14,30 +14,21 @@ class IOSInternal(config_util.Config):
14
14
 
15
15
  @staticmethod
16
16
  def fetch_spec(props):
17
- url = 'https://chrome-internal.googlesource.com/chrome/ios_internal.git'
18
- solution = { 'name' :'src/ios_internal',
19
- 'url' : url,
20
- 'deps_file': 'DEPS',
21
- 'managed' : False,
22
- 'custom_deps': {},
23
- }
24
- spec = {
25
- 'solutions': [solution],
26
- }
27
- if props.get('target_os'):
28
- spec['target_os'] = props['target_os'].split(',')
29
- else:
30
- spec['target_os'] = ['ios']
31
- if props.get('target_os_only'):
32
- spec['target_os_only'] = props['target_os_only']
33
17
  return {
34
- 'type': 'gclient_git',
35
- 'gclient_git_spec': spec,
18
+ 'alias': {
19
+ 'config': 'chromium',
20
+ 'props': [
21
+ '--flash=False',
22
+ '--internal=True',
23
+ '--target_os=ios',
24
+ '--target_os_only=True',
25
+ ],
26
+ },
36
27
  }
37
28
 
38
29
  @staticmethod
39
30
  def expected_root(_props):
40
- return 'src'
31
+ return ''
41
32
 
42
33
 
43
34
  def main(argv=None):
@@ -6,6 +6,8 @@
6
6
  multiple platforms with python.
7
7
  """
8
8
 
9
+ from __future__ import print_function
10
+
9
11
  import codecs
10
12
  import locale
11
13
  import os
@@ -22,8 +24,9 @@ def complain(message):
22
24
  to our wrapper. So be paranoid about catching errors and reporting them
23
25
  to sys.__stderr__, so that the user has a higher chance to see them.
24
26
  """
25
- print >> sys.__stderr__, (
26
- isinstance(message, str) and message or repr(message))
27
+ print(
28
+ isinstance(message, str) and message or repr(message),
29
+ file=sys.__stderr__)
27
30
 
28
31
 
29
32
  def fix_default_encoding():
@@ -81,6 +84,10 @@ def fix_win_sys_argv(encoding):
81
84
  if _SYS_ARGV_PROCESSED:
82
85
  return False
83
86
 
87
+ if sys.version_info.major == 3:
88
+ _SYS_ARGV_PROCESSED = True
89
+ return True
90
+
84
91
  # These types are available on linux but not Mac.
85
92
  # pylint: disable=no-name-in-module,F0401
86
93
  from ctypes import byref, c_int, POINTER, windll, WINFUNCTYPE
@@ -209,9 +216,13 @@ class WinUnicodeConsoleOutput(WinUnicodeOutputBase):
209
216
 
210
217
  def write(self, text):
211
218
  try:
212
- if not isinstance(text, unicode):
219
+ if sys.version_info.major == 2 and not isinstance(text, unicode):
213
220
  # Convert to unicode.
214
221
  text = str(text).decode(self.encoding, 'replace')
222
+ elif sys.version_info.major == 3 and isinstance(text, bytes):
223
+ # Bytestrings need to be decoded to a string before being passed to
224
+ # Windows.
225
+ text = text.decode(self.encoding, 'replace')
215
226
  remaining = len(text)
216
227
  while remaining > 0:
217
228
  n = self._DWORD(0)
@@ -239,7 +250,7 @@ class WinUnicodeOutput(WinUnicodeOutputBase):
239
250
  """Output adaptor to a file output on Windows.
240
251
 
241
252
  If the standard FileWrite function is used, it will be encoded in the current
242
- code page. WriteConsoleW() permits writting any character.
253
+ code page. WriteConsoleW() permits writing any character.
243
254
  """
244
255
  def __init__(self, stream, fileno, encoding):
245
256
  super(WinUnicodeOutput, self).__init__(
@@ -259,9 +270,12 @@ class WinUnicodeOutput(WinUnicodeOutputBase):
259
270
 
260
271
  def write(self, text):
261
272
  try:
262
- if isinstance(text, unicode):
273
+ if sys.version_info.major == 2 and isinstance(text, unicode):
263
274
  # Replace characters that cannot be printed instead of failing.
264
275
  text = text.encode(self.encoding, 'replace')
276
+ if sys.version_info.major == 3 and isinstance(text, bytes):
277
+ # Replace characters that cannot be printed instead of failing.
278
+ text = text.decode(self.encoding, 'replace')
265
279
  self._stream.write(text)
266
280
  except Exception as e:
267
281
  complain('%s.write: %r' % (self.name, e))
@@ -6,17 +6,33 @@
6
6
  base_dir=$(dirname "$0")
7
7
 
8
8
  if [[ "#grep#fetch#cleanup#diff#setdep#" != *"#$1#"* ]]; then
9
- "$base_dir"/update_depot_tools "$@"
10
- case $? in
11
- 123)
12
- # msys environment was upgraded, need to quit.
13
- exit 0
14
- ;;
15
- 0)
16
- ;;
17
- *)
18
- exit $?
19
- esac
9
+ # Shall skip authomatic update?
10
+ if [[ $DEPOT_TOOLS_UPDATE != 0 ]]; then
11
+ "$base_dir"/update_depot_tools "$@"
12
+ case $? in
13
+ 123)
14
+ # msys environment was upgraded, need to quit.
15
+ exit 0
16
+ ;;
17
+ 0)
18
+ ;;
19
+ *)
20
+ exit $?
21
+ esac
22
+ fi
20
23
  fi
21
24
 
22
- PYTHONDONTWRITEBYTECODE=1 exec python "$base_dir/gclient.py" "$@"
25
+ # Ensure that "depot_tools" is somewhere in PATH so this tool can be used
26
+ # standalone, but allow other PATH manipulations to take priority.
27
+ PATH=$PATH:$base_dir
28
+
29
+ if [[ $GCLIENT_PY3 == 1 ]]; then
30
+ # Explicitly run on Python 3
31
+ PYTHONDONTWRITEBYTECODE=1 exec vpython3 "$base_dir/gclient.py" "$@"
32
+ elif [[ $GCLIENT_PY3 == 0 ]]; then
33
+ # Explicitly run on Python 2
34
+ PYTHONDONTWRITEBYTECODE=1 exec vpython "$base_dir/gclient.py" "$@"
35
+ else
36
+ # Run on Python 3, allows default to be flipped.
37
+ PYTHONDONTWRITEBYTECODE=1 exec vpython3 "$base_dir/gclient.py" "$@"
38
+ fi
@@ -7,6 +7,8 @@
7
7
  # gclient-new-workdir.py [options] <repository> <new_workdir>
8
8
  #
9
9
 
10
+ from __future__ import print_function
11
+
10
12
  import argparse
11
13
  import os
12
14
  import shutil
@@ -4,12 +4,29 @@
4
4
  :: found in the LICENSE file.
5
5
  setlocal
6
6
 
7
+ :: Shall skip automatic update?
8
+ IF "%DEPOT_TOOLS_UPDATE%" == "0" GOTO :CALL_GCLIENT
9
+
7
10
  :: Synchronize the root directory before deferring control back to gclient.py.
8
11
  call "%~dp0update_depot_tools.bat" %*
12
+ :: Abort the script if we failed to update depot_tools.
13
+ IF %errorlevel% NEQ 0 (
14
+ goto :EOF
15
+ )
9
16
 
17
+ :CALL_GCLIENT
10
18
  :: Ensure that "depot_tools" is somewhere in PATH so this tool can be used
11
19
  :: standalone, but allow other PATH manipulations to take priority.
12
20
  set PATH=%PATH%;%~dp0
13
21
 
14
22
  :: Defer control.
15
- python "%~dp0gclient.py" %*
23
+ IF "%GCLIENT_PY3%" == "1" (
24
+ :: Explicitly run on Python 3
25
+ call vpython3 "%~dp0gclient.py" %*
26
+ ) ELSE IF "%GCLIENT_PY3%" == "0" (
27
+ :: Explicitly run on Python 2
28
+ call vpython "%~dp0gclient.py" %*
29
+ ) ELSE (
30
+ :: Run on Python 3, allows default to be flipped.
31
+ call vpython3 "%~dp0gclient.py" %*
32
+ )
@@ -78,7 +78,7 @@
78
78
  #
79
79
  # Specifying a target CPU
80
80
  # To specify a target CPU, the variables target_cpu and target_cpu_only
81
- # are available and are analagous to target_os and target_os_only.
81
+ # are available and are analogous to target_os and target_os_only.
82
82
 
83
83
  from __future__ import print_function
84
84
 
@@ -116,15 +116,16 @@ import subcommand
116
116
  import subprocess2
117
117
  import setup_color
118
118
 
119
+ from third_party import six
119
120
 
120
121
  # TODO(crbug.com/953884): Remove this when python3 migration is done.
121
- try:
122
- basestring
123
- except NameError:
122
+ if six.PY3:
124
123
  # pylint: disable=redefined-builtin
125
124
  basestring = str
126
125
 
127
126
 
127
+ DEPOT_TOOLS_DIR = os.path.dirname(os.path.abspath(os.path.realpath(__file__)))
128
+
128
129
  # Singleton object to represent an unset cache_dir (as opposed to a disabled
129
130
  # one, e.g. if a spec explicitly says `cache_dir = None`.)
130
131
  UNSET_CACHE_DIR = object()
@@ -240,17 +241,15 @@ class Hook(object):
240
241
  cmd = [arg for arg in self._action]
241
242
 
242
243
  if cmd[0] == 'python':
243
- # If the hook specified "python" as the first item, the action is a
244
- # Python script. Run it by starting a new copy of the same
245
- # interpreter.
246
- cmd[0] = sys.executable
247
- elif cmd[0] == 'vpython' and _detect_host_os() == 'win':
244
+ cmd[0] = 'vpython'
245
+ if cmd[0] == 'vpython' and _detect_host_os() == 'win':
248
246
  cmd[0] += '.bat'
249
247
 
250
248
  try:
251
249
  start_time = time.time()
252
- gclient_utils.CheckCallAndFilterAndHeader(
253
- cmd, cwd=self.effective_cwd, always=self._verbose)
250
+ gclient_utils.CheckCallAndFilter(
251
+ cmd, cwd=self.effective_cwd, print_stdout=True, show_header=True,
252
+ always_show_header=self._verbose)
254
253
  except (gclient_utils.Error, subprocess2.CalledProcessError) as e:
255
254
  # Use a discrete exit status code of 2 to indicate that a hook action
256
255
  # failed. Users of this script may wish to treat hook action failures
@@ -428,6 +427,8 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
428
427
  # The actual revision we ended up getting, or None if that information is
429
428
  # unavailable
430
429
  self._got_revision = None
430
+ # Whether this dependency should use relative paths.
431
+ self._use_relative_paths = False
431
432
 
432
433
  # recursedeps is a mutable value that selectively overrides the default
433
434
  # 'no recursion' setting on a dep-by-dep basis.
@@ -459,29 +460,46 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
459
460
  logging.info('Dependency(%s)._OverrideUrl(%s) -> %s', self._name,
460
461
  self.url, parsed_url)
461
462
  self.set_url(parsed_url)
463
+ return
462
464
 
463
- elif isinstance(self.url, basestring):
464
- parsed_url = urlparse.urlparse(self.url)
465
- if (not parsed_url[0] and
466
- not re.match(r'^\w+\@[\w\.-]+\:[\w\/]+', parsed_url[2])):
467
- path = parsed_url[2]
468
- if not path.startswith('/'):
469
- raise gclient_utils.Error(
470
- 'relative DEPS entry \'%s\' must begin with a slash' % self.url)
471
- # A relative url. Get the parent url, strip from the last '/'
472
- # (equivalent to unix basename), and append the relative url.
473
- parent_url = self.parent.url
474
- parsed_url = parent_url[:parent_url.rfind('/')] + self.url
475
- logging.info('Dependency(%s)._OverrideUrl(%s) -> %s', self.name,
476
- self.url, parsed_url)
477
- self.set_url(parsed_url)
478
-
479
- elif self.url is None:
465
+ if self.url is None:
480
466
  logging.info('Dependency(%s)._OverrideUrl(None) -> None', self._name)
467
+ return
481
468
 
482
- else:
469
+ if not isinstance(self.url, basestring):
483
470
  raise gclient_utils.Error('Unknown url type')
484
471
 
472
+ # self.url is a local path
473
+ path, at, rev = self.url.partition('@')
474
+ if os.path.isdir(path):
475
+ return
476
+
477
+ # self.url is a URL
478
+ parsed_url = urlparse.urlparse(self.url)
479
+ if parsed_url[0] or re.match(r'^\w+\@[\w\.-]+\:[\w\/]+', parsed_url[2]):
480
+ return
481
+
482
+ # self.url is relative to the parent's URL.
483
+ if not path.startswith('/'):
484
+ raise gclient_utils.Error(
485
+ 'relative DEPS entry \'%s\' must begin with a slash' % self.url)
486
+
487
+ parent_url = self.parent.url
488
+ parent_path = self.parent.url.split('@')[0]
489
+ if os.path.isdir(parent_path):
490
+ # Parent's URL is a local path. Get parent's URL dirname and append
491
+ # self.url.
492
+ parent_path = os.path.dirname(parent_path)
493
+ parsed_url = parent_path + path.replace('/', os.sep) + at + rev
494
+ else:
495
+ # Parent's URL is a URL. Get parent's URL, strip from the last '/'
496
+ # (equivalent to unix dirname) and append self.url.
497
+ parsed_url = parent_url[:parent_url.rfind('/')] + self.url
498
+
499
+ logging.info('Dependency(%s)._OverrideUrl(%s) -> %s', self.name,
500
+ self.url, parsed_url)
501
+ self.set_url(parsed_url)
502
+
485
503
  def PinToActualRevision(self):
486
504
  """Updates self.url to the revision checked out on disk."""
487
505
  if self.url is None:
@@ -522,7 +540,7 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
522
540
  # thus unsorted, while the .gclient format is a list thus sorted.
523
541
  #
524
542
  # Interestingly enough, the following condition only works in the case we
525
- # want: self is a 2nd level node. 3nd level node wouldn't need this since
543
+ # want: self is a 2nd level node. 3rd level node wouldn't need this since
526
544
  # they already have their parent as a requirement.
527
545
  if self.parent and self.parent.parent and not self.parent.parent.parent:
528
546
  requirements |= set(i.name for i in self.root.dependencies if i.name)
@@ -573,7 +591,7 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
573
591
  self.url))
574
592
  # In theory we could keep it as a shadow of the other one. In
575
593
  # practice, simply ignore it.
576
- logging.warn('Won\'t process duplicate dependency %s' % sibling)
594
+ logging.warning("Won't process duplicate dependency %s" % sibling)
577
595
  return False
578
596
  return True
579
597
 
@@ -595,7 +613,7 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
595
613
  # recursively included by "src/ios_foo/DEPS" should also require
596
614
  # "checkout_ios=True".
597
615
  if self.condition:
598
- for value in deps.itervalues():
616
+ for value in deps.values():
599
617
  gclient_eval.UpdateCondition(value, 'and', self.condition)
600
618
 
601
619
  if rel_prefix:
@@ -693,8 +711,7 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
693
711
  if deps_content:
694
712
  try:
695
713
  local_scope = gclient_eval.Parse(
696
- deps_content, self._get_option('validate_syntax', False),
697
- filepath, self.get_vars(), self.get_builtin_vars())
714
+ deps_content, filepath, self.get_vars(), self.get_builtin_vars())
698
715
  except SyntaxError as e:
699
716
  gclient_utils.SyntaxErrorToError(filepath, e)
700
717
 
@@ -736,9 +753,9 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
736
753
  # (and therefore set self.relative on this Dependency object), then we
737
754
  # want to modify the deps and recursedeps by prepending the parent
738
755
  # directory of this dependency.
739
- use_relative_paths = local_scope.get('use_relative_paths', False)
756
+ self._use_relative_paths = local_scope.get('use_relative_paths', False)
740
757
  rel_prefix = None
741
- if use_relative_paths:
758
+ if self._use_relative_paths:
742
759
  rel_prefix = self.name
743
760
  elif self._relative:
744
761
  rel_prefix = os.path.dirname(self.name)
@@ -773,13 +790,13 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
773
790
 
774
791
  deps = local_scope.get('deps', {})
775
792
  deps_to_add = self._deps_to_objects(
776
- self._postprocess_deps(deps, rel_prefix), use_relative_paths)
793
+ self._postprocess_deps(deps, rel_prefix), self._use_relative_paths)
777
794
 
778
795
  # compute which working directory should be used for hooks
779
796
  use_relative_hooks = local_scope.get('use_relative_hooks', False)
780
797
  hooks_cwd = self.root.root_dir
781
798
  if use_relative_hooks:
782
- if not use_relative_paths:
799
+ if not self._use_relative_paths:
783
800
  raise gclient_utils.Error(
784
801
  'ParseDepsFile(%s): use_relative_hooks must be used with '
785
802
  'use_relative_paths' % self.name)
@@ -1016,11 +1033,19 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
1016
1033
  variables = self.get_vars()
1017
1034
  for arg in self._gn_args:
1018
1035
  value = variables[arg]
1019
- if isinstance(value, basestring):
1036
+ if isinstance(value, gclient_eval.ConstantString):
1037
+ value = value.value
1038
+ elif isinstance(value, basestring):
1020
1039
  value = gclient_eval.EvaluateCondition(value, variables)
1021
1040
  lines.append('%s = %s' % (arg, ToGNString(value)))
1022
- with open(os.path.join(self.root.root_dir, self._gn_args_file), 'w') as f:
1023
- f.write('\n'.join(lines))
1041
+
1042
+ # When use_relative_paths is set, gn_args_file is relative to this DEPS
1043
+ path_prefix = self.root.root_dir
1044
+ if self._use_relative_paths:
1045
+ path_prefix = os.path.join(path_prefix, self.name)
1046
+
1047
+ with open(os.path.join(path_prefix, self._gn_args_file), 'wb') as f:
1048
+ f.write('\n'.join(lines).encode('utf-8', 'replace'))
1024
1049
 
1025
1050
  @gclient_utils.lockedmethod
1026
1051
  def _run_is_done(self, file_list):
@@ -1238,11 +1263,11 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
1238
1263
  result = {}
1239
1264
  result.update(self._vars)
1240
1265
  if self.parent:
1241
- parent_vars = self.parent.get_vars()
1242
- result.update(parent_vars)
1266
+ merge_vars(result, self.parent.get_vars())
1243
1267
  # Provide some built-in variables.
1244
1268
  result.update(self.get_builtin_vars())
1245
- result.update(self.custom_vars or {})
1269
+ merge_vars(result, self.custom_vars)
1270
+
1246
1271
  return result
1247
1272
 
1248
1273
 
@@ -1250,11 +1275,26 @@ _PLATFORM_MAPPING = {
1250
1275
  'cygwin': 'win',
1251
1276
  'darwin': 'mac',
1252
1277
  'linux2': 'linux',
1278
+ 'linux': 'linux',
1253
1279
  'win32': 'win',
1254
1280
  'aix6': 'aix',
1255
1281
  }
1256
1282
 
1257
1283
 
1284
+ def merge_vars(result, new_vars):
1285
+ for k, v in new_vars.items():
1286
+ if k in result:
1287
+ if isinstance(result[k], gclient_eval.ConstantString):
1288
+ if isinstance(v, gclient_eval.ConstantString):
1289
+ result[k] = v
1290
+ else:
1291
+ result[k].value = v
1292
+ else:
1293
+ result[k] = v
1294
+ else:
1295
+ result[k] = v
1296
+
1297
+
1258
1298
  def _detect_host_os():
1259
1299
  return _PLATFORM_MAPPING[sys.platform]
1260
1300
 
@@ -1298,10 +1338,10 @@ class GClient(GitDependency):
1298
1338
 
1299
1339
  DEFAULT_CLIENT_FILE_TEXT = ("""\
1300
1340
  solutions = [
1301
- { "name" : "%(solution_name)s",
1302
- "url" : "%(solution_url)s",
1303
- "deps_file" : "%(deps_file)s",
1304
- "managed" : %(managed)s,
1341
+ { "name" : %(solution_name)r,
1342
+ "url" : %(solution_url)r,
1343
+ "deps_file" : %(deps_file)r,
1344
+ "managed" : %(managed)r,
1305
1345
  "custom_deps" : {
1306
1346
  },
1307
1347
  "custom_vars": %(custom_vars)r,
@@ -1344,7 +1384,7 @@ solutions = %(solution_list)s
1344
1384
  else:
1345
1385
  enforced_os = [self.DEPS_OS_CHOICES.get(sys.platform, 'unix')]
1346
1386
  if 'all' in enforced_os:
1347
- enforced_os = self.DEPS_OS_CHOICES.itervalues()
1387
+ enforced_os = self.DEPS_OS_CHOICES.values()
1348
1388
  self._enforced_os = tuple(set(enforced_os))
1349
1389
  self._enforced_cpu = detect_host_arch.HostArch(),
1350
1390
  self._root_dir = root_dir
@@ -1379,12 +1419,14 @@ The local checkout in %(checkout_path)s reports:
1379
1419
 
1380
1420
  You should ensure that the URL listed in .gclient is correct and either change
1381
1421
  it or fix the checkout.
1382
- ''' % {'checkout_path': os.path.join(self.root_dir, dep.name),
1383
- 'expected_url': dep.url,
1384
- 'expected_scm': dep.GetScmName(),
1385
- 'mirror_string': mirror_string,
1386
- 'actual_url': actual_url,
1387
- 'actual_scm': dep.GetScmName()})
1422
+ ''' % {
1423
+ 'checkout_path': os.path.join(self.root_dir, dep.name),
1424
+ 'expected_url': dep.url,
1425
+ 'expected_scm': dep.GetScmName(),
1426
+ 'mirror_string': mirror_string,
1427
+ 'actual_url': actual_url,
1428
+ 'actual_scm': dep.GetScmName()
1429
+ })
1388
1430
 
1389
1431
  def SetConfig(self, content):
1390
1432
  assert not self.dependencies
@@ -1448,7 +1490,7 @@ it or fix the checkout.
1448
1490
  metrics.collector.add(
1449
1491
  'project_urls',
1450
1492
  [
1451
- dep.url if not dep.url.endswith('.git') else dep.url[:-len('.git')]
1493
+ dep.FuzzyMatchUrl(metrics_utils.KNOWN_PROJECT_URLS)
1452
1494
  for dep in deps_to_add
1453
1495
  if dep.FuzzyMatchUrl(metrics_utils.KNOWN_PROJECT_URLS)
1454
1496
  ]
@@ -1572,13 +1614,12 @@ it or fix the checkout.
1572
1614
  return patch_refs, target_branches
1573
1615
  for given_patch_ref in self._options.patch_refs:
1574
1616
  patch_repo, _, patch_ref = given_patch_ref.partition('@')
1575
- if not patch_repo or not patch_ref:
1617
+ if not patch_repo or not patch_ref or ':' not in patch_ref:
1576
1618
  raise gclient_utils.Error(
1577
1619
  'Wrong revision format: %s should be of the form '
1578
- 'patch_repo@[target_branch:]patch_ref.' % given_patch_ref)
1579
- if ':' in patch_ref:
1580
- target_branch, _, patch_ref = patch_ref.partition(':')
1581
- target_branches[patch_repo] = target_branch
1620
+ 'patch_repo@target_branch:patch_ref.' % given_patch_ref)
1621
+ target_branch, _, patch_ref = patch_ref.partition(':')
1622
+ target_branches[patch_repo] = target_branch
1582
1623
  patch_refs[patch_repo] = patch_ref
1583
1624
  return patch_refs, target_branches
1584
1625
 
@@ -1648,12 +1689,11 @@ it or fix the checkout.
1648
1689
  # clean checkout.
1649
1690
  gclient_scm.scm.GIT.CleanupDir(par_scm_root, rel_e_dir)
1650
1691
  assert not os.path.exists(os.path.join(e_dir, '.git'))
1651
- print(('\nWARNING: \'%s\' has been moved from DEPS to a higher '
1652
- 'level checkout. The git folder containing all the local'
1653
- ' branches has been saved to %s.\n'
1654
- 'If you don\'t care about its state you can safely '
1655
- 'remove that folder to free up space.') %
1656
- (entry, save_dir))
1692
+ print('\nWARNING: \'%s\' has been moved from DEPS to a higher '
1693
+ 'level checkout. The git folder containing all the local'
1694
+ ' branches has been saved to %s.\n'
1695
+ 'If you don\'t care about its state you can safely '
1696
+ 'remove that folder to free up space.' % (entry, save_dir))
1657
1697
  continue
1658
1698
 
1659
1699
  if scm_root in full_entries:
@@ -1682,9 +1722,16 @@ it or fix the checkout.
1682
1722
  should_recurse=False,
1683
1723
  relative=None,
1684
1724
  condition=None))
1685
- print(('\nWARNING: \'%s\' is no longer part of this client.\n'
1686
- 'It is recommended that you manually remove it or use '
1687
- '\'gclient sync -D\' next time.') % entry_fixed)
1725
+ if modified_files and self._options.delete_unversioned_trees:
1726
+ print('\nWARNING: \'%s\' is no longer part of this client.\n'
1727
+ 'Despite running \'gclient sync -D\' no action was taken '
1728
+ 'as there are modifications.\nIt is recommended you revert '
1729
+ 'all changes or run \'gclient sync -D --force\' next '
1730
+ 'time.' % entry_fixed)
1731
+ else:
1732
+ print('\nWARNING: \'%s\' is no longer part of this client.\n'
1733
+ 'It is recommended that you manually remove it or use '
1734
+ '\'gclient sync -D\' next time.' % entry_fixed)
1688
1735
  else:
1689
1736
  # Delete the entry
1690
1737
  print('\n________ deleting \'%s\' in \'%s\'' % (
@@ -1742,7 +1789,7 @@ it or fix the checkout.
1742
1789
  'The following --patch-ref flags were not used. Please fix it:\n%s' %
1743
1790
  ('\n'.join(
1744
1791
  patch_repo + '@' + patch_ref
1745
- for patch_repo, patch_ref in patch_refs.iteritems())))
1792
+ for patch_repo, patch_ref in patch_refs.items())))
1746
1793
 
1747
1794
  # Once all the dependencies have been processed, it's now safe to write
1748
1795
  # out the gn_args_file and run the hooks.
@@ -1829,7 +1876,7 @@ it or fix the checkout.
1829
1876
  'url': rev.split('@')[0] if rev else None,
1830
1877
  'rev': rev.split('@')[1] if rev and '@' in rev else None,
1831
1878
  }
1832
- for name, rev in entries.iteritems()
1879
+ for name, rev in entries.items()
1833
1880
  }
1834
1881
  if self._options.output_json == '-':
1835
1882
  print(json.dumps(json_output, indent=2, separators=(',', ': ')))
@@ -1977,7 +2024,7 @@ class CipdDependency(Dependency):
1977
2024
  ])
1978
2025
  for p in sorted(
1979
2026
  self._cipd_root.packages(self._cipd_subdir),
1980
- cmp=lambda x, y: cmp(x.name, y.name)):
2027
+ key=lambda x: x.name):
1981
2028
  s.extend([
1982
2029
  ' {',
1983
2030
  ' "package": "%s",' % escape_cipd_var(p.name),
@@ -2117,7 +2164,7 @@ class Flattener(object):
2117
2164
  self._flatten_dep(solution)
2118
2165
 
2119
2166
  if pin_all_deps:
2120
- for dep in self._deps.itervalues():
2167
+ for dep in self._deps.values():
2121
2168
  self._pin_dep(dep)
2122
2169
 
2123
2170
  def add_deps_file(dep):
@@ -2135,7 +2182,7 @@ class Flattener(object):
2135
2182
  return
2136
2183
  assert dep.url
2137
2184
  self._deps_files.add((dep.url, deps_file, dep.hierarchy_data()))
2138
- for dep in self._deps.itervalues():
2185
+ for dep in self._deps.values():
2139
2186
  add_deps_file(dep)
2140
2187
 
2141
2188
  gn_args_dep = self._deps.get(self._client.dependencies[0]._gn_args_from,
@@ -2178,7 +2225,7 @@ class Flattener(object):
2178
2225
  # Only include vars explicitly listed in the DEPS files or gclient solution,
2179
2226
  # not automatic, local overrides (i.e. not all of dep.get_vars()).
2180
2227
  hierarchy = dep.hierarchy(include_url=False)
2181
- for key, value in dep._vars.iteritems():
2228
+ for key, value in dep._vars.items():
2182
2229
  # Make sure there are no conflicting variables. It is fine however
2183
2230
  # to use same variable name, as long as the value is consistent.
2184
2231
  assert key not in self._vars or self._vars[key][1] == value, (
@@ -2186,7 +2233,7 @@ class Flattener(object):
2186
2233
  dep.name, key, value, self._vars[key][1]))
2187
2234
  self._vars[key] = (hierarchy, value)
2188
2235
  # Override explicit custom variables.
2189
- for key, value in dep.custom_vars.iteritems():
2236
+ for key, value in dep.custom_vars.items():
2190
2237
  # Do custom_vars that don't correspond to DEPS vars ever make sense? DEPS
2191
2238
  # conditionals shouldn't be using vars that aren't also defined in the
2192
2239
  # DEPS (presubmit actually disallows this), so any new custom_var must be
@@ -2277,7 +2324,7 @@ def _DepsToLines(deps):
2277
2324
  if not deps:
2278
2325
  return []
2279
2326
  s = ['deps = {']
2280
- for _, dep in sorted(deps.iteritems()):
2327
+ for _, dep in sorted(deps.items()):
2281
2328
  s.extend(dep.ToLines())
2282
2329
  s.extend(['}', ''])
2283
2330
  return s
@@ -2288,9 +2335,9 @@ def _DepsOsToLines(deps_os):
2288
2335
  if not deps_os:
2289
2336
  return []
2290
2337
  s = ['deps_os = {']
2291
- for dep_os, os_deps in sorted(deps_os.iteritems()):
2338
+ for dep_os, os_deps in sorted(deps_os.items()):
2292
2339
  s.append(' "%s": {' % dep_os)
2293
- for name, dep in sorted(os_deps.iteritems()):
2340
+ for name, dep in sorted(os_deps.items()):
2294
2341
  condition_part = ([' "condition": %r,' % dep.condition]
2295
2342
  if dep.condition else [])
2296
2343
  s.extend([
@@ -2339,7 +2386,7 @@ def _HooksOsToLines(hooks_os):
2339
2386
  if not hooks_os:
2340
2387
  return []
2341
2388
  s = ['hooks_os = {']
2342
- for hook_os, os_hooks in hooks_os.iteritems():
2389
+ for hook_os, os_hooks in hooks_os.items():
2343
2390
  s.append(' "%s": [' % hook_os)
2344
2391
  for dep, hook in os_hooks:
2345
2392
  s.extend([
@@ -2370,7 +2417,7 @@ def _VarsToLines(variables):
2370
2417
  if not variables:
2371
2418
  return []
2372
2419
  s = ['vars = {']
2373
- for key, tup in sorted(variables.iteritems()):
2420
+ for key, tup in sorted(variables.items()):
2374
2421
  hierarchy, value = tup
2375
2422
  s.extend([
2376
2423
  ' # %s' % hierarchy,
@@ -2597,7 +2644,7 @@ def CMDsync(parser, args):
2597
2644
  parser.add_option('--patch-ref', action='append',
2598
2645
  dest='patch_refs', metavar='GERRIT_REF', default=[],
2599
2646
  help='Patches the given reference with the format '
2600
- 'dep@[target-ref:]patch-ref. '
2647
+ 'dep@target-ref:patch-ref. '
2601
2648
  'For |dep|, you can specify URLs as well as paths, '
2602
2649
  'with URLs taking preference. '
2603
2650
  '|patch-ref| will be applied to |dep|, rebased on top '
@@ -2607,10 +2654,7 @@ def CMDsync(parser, args):
2607
2654
  '|target-ref| is the target branch against which a '
2608
2655
  'patch was created, it is used to determine which '
2609
2656
  'commits from the |patch-ref| actually constitute a '
2610
- 'patch. If not given, we will iterate over all remote '
2611
- 'branches and select one that contains the revision '
2612
- '|dep| is synced at. '
2613
- 'WARNING: |target-ref| will be mandatory soon.')
2657
+ 'patch.')
2614
2658
  parser.add_option('--with_branch_heads', action='store_true',
2615
2659
  help='Clone git "branch_heads" refspecs in addition to '
2616
2660
  'the default refspecs. This adds about 1/2GB to a '
@@ -2657,27 +2701,15 @@ def CMDsync(parser, args):
2657
2701
  parser.add_option('--no_bootstrap', '--no-bootstrap',
2658
2702
  action='store_true',
2659
2703
  help='Don\'t bootstrap from Google Storage.')
2660
- parser.add_option('--ignore_locks', action='store_true',
2661
- help='GIT ONLY - Ignore cache locks.')
2662
- parser.add_option('--break_repo_locks', action='store_true',
2663
- help='GIT ONLY - Forcibly remove repo locks (e.g. '
2664
- 'index.lock). This should only be used if you know for '
2665
- 'certain that this invocation of gclient is the only '
2666
- 'thing operating on the git repos (e.g. on a bot).')
2704
+ parser.add_option('--ignore_locks',
2705
+ action='store_true',
2706
+ help='No longer used.')
2707
+ parser.add_option('--break_repo_locks',
2708
+ action='store_true',
2709
+ help='No longer used.')
2667
2710
  parser.add_option('--lock_timeout', type='int', default=5000,
2668
2711
  help='GIT ONLY - Deadline (in seconds) to wait for git '
2669
2712
  'cache lock to become available. Default is %default.')
2670
- # TODO(agable): Remove these when the oldest CrOS release milestone is M56.
2671
- parser.add_option('-t', '--transitive', action='store_true',
2672
- help='DEPRECATED: This is a no-op.')
2673
- parser.add_option('-m', '--manually_grab_svn_rev', action='store_true',
2674
- help='DEPRECATED: This is a no-op.')
2675
- # TODO(phajdan.jr): Remove validation options once default (crbug/570091).
2676
- parser.add_option('--validate-syntax', action='store_true', default=True,
2677
- help='Validate the .gclient and DEPS syntax')
2678
- parser.add_option('--disable-syntax-validation', action='store_false',
2679
- dest='validate_syntax',
2680
- help='Disable validation of .gclient and DEPS syntax.')
2681
2713
  parser.add_option('--no-rebase-patch-ref', action='store_false',
2682
2714
  dest='rebase_patch_ref', default=True,
2683
2715
  help='Bypass rebase of the patch ref after checkout.')
@@ -2690,6 +2722,13 @@ def CMDsync(parser, args):
2690
2722
  if not client:
2691
2723
  raise gclient_utils.Error('client not configured; see \'gclient config\'')
2692
2724
 
2725
+ if options.ignore_locks:
2726
+ print('Warning: ignore_locks is no longer used. Please remove its usage.')
2727
+
2728
+ if options.break_repo_locks:
2729
+ print('Warning: break_repo_locks is no longer used. Please remove its '
2730
+ 'usage.')
2731
+
2693
2732
  if options.revisions and options.head:
2694
2733
  # TODO(maruel): Make it a parser.error if it doesn't break any builder.
2695
2734
  print('Warning: you cannot use both --head and --revision')
@@ -2707,7 +2746,7 @@ def CMDsync(parser, args):
2707
2746
  'url': str(d.url) if d.url else None,
2708
2747
  'was_processed': d.should_process,
2709
2748
  }
2710
- with open(options.output_json, 'wb') as f:
2749
+ with open(options.output_json, 'w') as f:
2711
2750
  json.dump({'solutions': slns}, f)
2712
2751
  return ret
2713
2752
 
@@ -2719,7 +2758,6 @@ CMDupdate = CMDsync
2719
2758
  def CMDvalidate(parser, args):
2720
2759
  """Validates the .gclient and DEPS syntax."""
2721
2760
  options, args = parser.parse_args(args)
2722
- options.validate_syntax = True
2723
2761
  client = GClient.LoadCurrentConfig(options)
2724
2762
  rv = client.RunOnDeps('validate', args)
2725
2763
  if rv == 0:
@@ -2761,12 +2799,14 @@ def CMDrevert(parser, args):
2761
2799
  help='don\'t run pre-DEPS hooks', default=False)
2762
2800
  parser.add_option('--upstream', action='store_true',
2763
2801
  help='Make repo state match upstream branch.')
2764
- parser.add_option('--break_repo_locks', action='store_true',
2765
- help='GIT ONLY - Forcibly remove repo locks (e.g. '
2766
- 'index.lock). This should only be used if you know for '
2767
- 'certain that this invocation of gclient is the only '
2768
- 'thing operating on the git repos (e.g. on a bot).')
2802
+ parser.add_option('--break_repo_locks',
2803
+ action='store_true',
2804
+ help='No longer used.')
2769
2805
  (options, args) = parser.parse_args(args)
2806
+ if options.break_repo_locks:
2807
+ print('Warning: break_repo_locks is no longer used. Please remove its ' +
2808
+ 'usage.')
2809
+
2770
2810
  # --force is implied.
2771
2811
  options.force = True
2772
2812
  options.reset = False
@@ -2862,7 +2902,7 @@ def CMDgetdep(parser, args):
2862
2902
  if client is not None:
2863
2903
  builtin_vars = client.get_builtin_vars()
2864
2904
  else:
2865
- logging.warn(
2905
+ logging.warning(
2866
2906
  'Couldn\'t find a valid gclient config. Will attempt to parse the DEPS '
2867
2907
  'file without support for built-in variables.')
2868
2908
  builtin_vars = None
@@ -2922,7 +2962,7 @@ def CMDsetdep(parser, args):
2922
2962
  if client is not None:
2923
2963
  builtin_vars = client.get_builtin_vars()
2924
2964
  else:
2925
- logging.warn(
2965
+ logging.warning(
2926
2966
  'Couldn\'t find a valid gclient config. Will attempt to parse the DEPS '
2927
2967
  'file without support for built-in variables.')
2928
2968
  builtin_vars = None
@@ -2955,8 +2995,8 @@ def CMDsetdep(parser, args):
2955
2995
  else:
2956
2996
  gclient_eval.SetRevision(local_scope, name, value)
2957
2997
 
2958
- with open(options.deps_file, 'w') as f:
2959
- f.write(gclient_eval.RenderDEPSFile(local_scope))
2998
+ with open(options.deps_file, 'wb') as f:
2999
+ f.write(gclient_eval.RenderDEPSFile(local_scope).encode('utf-8'))
2960
3000
 
2961
3001
 
2962
3002
  @metrics.collector.collect_metrics('gclient verify')
@@ -3056,14 +3096,14 @@ class OptionParser(optparse.OptionParser):
3056
3096
  # Store the options passed by the user in an _actual_options attribute.
3057
3097
  # We store only the keys, and not the values, since the values can contain
3058
3098
  # arbitrary information, which might be PII.
3059
- metrics.collector.add('arguments', actual_options.__dict__.keys())
3099
+ metrics.collector.add('arguments', list(actual_options.__dict__))
3060
3100
 
3061
3101
  levels = [logging.ERROR, logging.WARNING, logging.INFO, logging.DEBUG]
3062
3102
  logging.basicConfig(
3063
3103
  level=levels[min(options.verbose, len(levels) - 1)],
3064
3104
  format='%(module)s(%(lineno)d) %(funcName)s:%(message)s')
3065
3105
  if options.config_filename and options.spec:
3066
- self.error('Cannot specifiy both --gclientfile and --spec')
3106
+ self.error('Cannot specify both --gclientfile and --spec')
3067
3107
  if (options.config_filename and
3068
3108
  options.config_filename != os.path.basename(options.config_filename)):
3069
3109
  self.error('--gclientfile target must be a filename, not a path')
@@ -3100,7 +3140,8 @@ def disable_buffering():
3100
3140
 
3101
3141
  def path_contains_tilde():
3102
3142
  for element in os.environ['PATH'].split(os.pathsep):
3103
- if element.startswith('~/'):
3143
+ if element.startswith('~') and os.path.abspath(
3144
+ os.path.realpath(os.path.expanduser(element))) == DEPOT_TOOLS_DIR:
3104
3145
  return True
3105
3146
  return False
3106
3147