libv8 5.7.492.65.1 → 5.9.211.38.0beta0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (297) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +8 -2
  4. data/CHANGELOG.md +4 -0
  5. data/README.md +4 -3
  6. data/Rakefile +27 -10
  7. data/ext/libv8/builder.rb +4 -0
  8. data/lib/libv8/version.rb +1 -1
  9. data/libv8.gemspec +1 -1
  10. data/patches/0001-Build-a-standalone-static-library.patch +5 -5
  11. data/patches/0002-Don-t-compile-unnecessary-stuff.patch +20 -24
  12. data/patches/0003-Use-the-fPIC-flag-for-the-static-library.patch +5 -5
  13. data/patches/0004-Do-not-embed-debug-symbols-in-macOS-libraries.patch +5 -5
  14. data/patches/0005-Fix-GCC-7-build-errors.patch +147 -0
  15. data/scaleway.png +0 -0
  16. data/vendor/depot_tools/.gitattributes +52 -0
  17. data/vendor/depot_tools/.gitignore +10 -0
  18. data/vendor/depot_tools/README.md +7 -3
  19. data/vendor/depot_tools/apply_issue.bat +4 -3
  20. data/vendor/depot_tools/apply_issue.py +0 -10
  21. data/vendor/depot_tools/autoninja +12 -0
  22. data/vendor/depot_tools/autoninja.bat +9 -0
  23. data/vendor/depot_tools/autoninja.py +70 -0
  24. data/vendor/depot_tools/bootstrap/win/README.md +108 -26
  25. data/vendor/depot_tools/bootstrap/win/git-bash.template.sh +3 -3
  26. data/vendor/depot_tools/bootstrap/win/git.template.bat +2 -2
  27. data/vendor/depot_tools/bootstrap/win/manifest.txt +18 -0
  28. data/vendor/depot_tools/bootstrap/win/manifest_bleeding_edge.txt +18 -0
  29. data/vendor/depot_tools/bootstrap/win/python27.new.bat +49 -0
  30. data/vendor/depot_tools/bootstrap/win/win_tools.bat +55 -59
  31. data/vendor/depot_tools/bootstrap/win/win_tools.py +335 -0
  32. data/vendor/depot_tools/cipd +16 -2
  33. data/vendor/depot_tools/cipd.bat +20 -2
  34. data/vendor/depot_tools/cipd.ps1 +36 -22
  35. data/vendor/depot_tools/cipd_bin_setup.bat +6 -0
  36. data/vendor/depot_tools/cipd_bin_setup.sh +10 -0
  37. data/vendor/depot_tools/cipd_client_version +1 -1
  38. data/vendor/depot_tools/cipd_manifest.txt +9 -0
  39. data/vendor/depot_tools/cit.bat +12 -11
  40. data/vendor/depot_tools/clang-format.bat +4 -3
  41. data/vendor/depot_tools/clang_format_merge_driver.bat +12 -11
  42. data/vendor/depot_tools/commit_queue.bat +4 -3
  43. data/vendor/depot_tools/cpplint.bat +9 -3
  44. data/vendor/depot_tools/cpplint.py +3 -3
  45. data/vendor/depot_tools/depot-tools-auth.bat +4 -3
  46. data/vendor/depot_tools/download_from_google_storage.bat +5 -3
  47. data/vendor/depot_tools/download_from_google_storage.py +6 -1
  48. data/vendor/depot_tools/fetch.bat +5 -4
  49. data/vendor/depot_tools/fetch.py +4 -5
  50. data/vendor/depot_tools/gclient-new-workdir.py +82 -46
  51. data/vendor/depot_tools/gclient.bat +5 -4
  52. data/vendor/depot_tools/gclient.py +713 -319
  53. data/vendor/depot_tools/gclient_eval.py +284 -0
  54. data/vendor/depot_tools/gclient_utils.py +70 -4
  55. data/vendor/depot_tools/gerrit_client.py +26 -1
  56. data/vendor/depot_tools/gerrit_util.py +120 -127
  57. data/vendor/depot_tools/git-crrev-parse +1 -0
  58. data/vendor/depot_tools/git-gs +1 -1
  59. data/vendor/depot_tools/git_cl.py +731 -415
  60. data/vendor/depot_tools/git_common.py +23 -3
  61. data/vendor/depot_tools/git_drover.py +10 -1
  62. data/vendor/depot_tools/git_footers.py +62 -22
  63. data/vendor/depot_tools/git_hyper_blame.py +3 -2
  64. data/vendor/depot_tools/git_map.py +30 -3
  65. data/vendor/depot_tools/git_map_branches.py +18 -4
  66. data/vendor/depot_tools/git_number.py +8 -2
  67. data/vendor/depot_tools/git_retry.py +21 -0
  68. data/vendor/depot_tools/gn.bat +4 -3
  69. data/vendor/depot_tools/infra/config/cq.cfg +1 -5
  70. data/vendor/depot_tools/infra/config/recipes.cfg +18 -16
  71. data/vendor/depot_tools/led +12 -0
  72. data/vendor/depot_tools/led.bat +7 -0
  73. data/vendor/depot_tools/man/html/git-cl.html +9 -1
  74. data/vendor/depot_tools/man/html/git-drover.html +22 -18
  75. data/vendor/depot_tools/man/man1/git-cl.1 +8 -3
  76. data/vendor/depot_tools/man/man1/git-drover.1 +22 -20
  77. data/vendor/depot_tools/man/src/git-cl.txt +3 -0
  78. data/vendor/depot_tools/man/src/git-drover.txt +8 -0
  79. data/vendor/depot_tools/my_activity.py +8 -5
  80. data/vendor/depot_tools/owners.py +103 -11
  81. data/vendor/depot_tools/owners_finder.py +14 -2
  82. data/vendor/depot_tools/presubmit_canned_checks.py +25 -67
  83. data/vendor/depot_tools/presubmit_support.py +87 -35
  84. data/vendor/depot_tools/recipes/OWNERS +2 -0
  85. data/vendor/depot_tools/recipes/README.recipes.md +842 -0
  86. data/vendor/depot_tools/recipes/recipe_modules/bot_update/__init__.py +5 -3
  87. data/vendor/depot_tools/recipes/recipe_modules/bot_update/api.py +181 -60
  88. data/vendor/depot_tools/recipes/recipe_modules/bot_update/{example.expected → examples/full.expected}/apply_gerrit_ref.json +4 -2
  89. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic.json +82 -0
  90. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_with_branch_heads.json +149 -0
  91. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/buildbot.json +82 -0
  92. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/clobber.json +149 -0
  93. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json +122 -0
  94. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_rebase_patch_ref.json +149 -0
  95. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_reset.json +149 -0
  96. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_shallow.json +149 -0
  97. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/reset_root_solution_revision.json +148 -0
  98. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/trychange.json +150 -0
  99. data/vendor/depot_tools/recipes/recipe_modules/bot_update/{example.expected → examples/full.expected}/trychange_oauth2.json +0 -0
  100. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/trychange_oauth2_buildbot.json +152 -0
  101. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/trychange_oauth2_json.json +150 -0
  102. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/trychange_oauth2_json_win.json +150 -0
  103. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob.json +156 -0
  104. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail.json +91 -0
  105. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json +118 -0
  106. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json +118 -0
  107. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle.json +202 -0
  108. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle_deprecated.json +158 -0
  109. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_feature_branch.json +196 -0
  110. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8.json +202 -0
  111. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8_feature_branch.json +202 -0
  112. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json +162 -0
  113. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json +162 -0
  114. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_tags.json +149 -0
  115. data/vendor/depot_tools/recipes/recipe_modules/bot_update/{example.py → examples/full.py} +46 -8
  116. data/vendor/depot_tools/recipes/recipe_modules/bot_update/resources/bot_update.py +139 -133
  117. data/vendor/depot_tools/recipes/recipe_modules/bot_update/test_api.py +25 -13
  118. data/vendor/depot_tools/recipes/recipe_modules/cipd/api.py +40 -9
  119. data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.expected → examples/full.expected}/basic.json +0 -0
  120. data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.expected → examples/full.expected}/basic_pkg.json +1 -1
  121. data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.expected → examples/full.expected}/describe-failed.json +0 -0
  122. data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.expected → examples/full.expected}/describe-many-instances.json +0 -0
  123. data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.expected → examples/full.expected}/mac64.json +0 -0
  124. data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.expected → examples/full.expected}/pkg_bad_file.json +1 -1
  125. data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.expected → examples/full.expected}/pkg_bad_mode.json +0 -0
  126. data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.expected → examples/full.expected}/pkg_bad_verfile.json +0 -0
  127. data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.expected → examples/full.expected}/win64.json +0 -0
  128. data/vendor/depot_tools/recipes/recipe_modules/cipd/{example.py → examples/full.py} +1 -0
  129. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk arch.json +7 -0
  130. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk bits.json +7 -0
  131. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_32.json +14 -0
  132. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_64.json +14 -0
  133. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_32.json +14 -0
  134. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_64.json +14 -0
  135. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_mips_64.json +14 -0
  136. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/mac_intel_64.json +14 -0
  137. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_32.json +14 -0
  138. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_64.json +14 -0
  139. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.py +59 -0
  140. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/api.py +5 -0
  141. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/{example.expected → examples/full.expected}/basic.json +7 -0
  142. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/{example.expected → examples/full.expected}/win.json +7 -0
  143. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/{example.py → examples/full.py} +2 -0
  144. data/vendor/depot_tools/recipes/recipe_modules/gclient/__init__.py +1 -4
  145. data/vendor/depot_tools/recipes/recipe_modules/gclient/api.py +28 -14
  146. data/vendor/depot_tools/recipes/recipe_modules/gclient/config.py +10 -235
  147. data/vendor/depot_tools/recipes/recipe_modules/gclient/{example.expected → examples/full.expected}/basic.json +9 -9
  148. data/vendor/depot_tools/recipes/recipe_modules/gclient/{example.expected → examples/full.expected}/buildbot.json +9 -9
  149. data/vendor/depot_tools/recipes/recipe_modules/gclient/{example.expected → examples/full.expected}/revision.json +9 -9
  150. data/vendor/depot_tools/recipes/recipe_modules/gclient/{example.expected → examples/full.expected}/tryserver.json +9 -9
  151. data/vendor/depot_tools/recipes/recipe_modules/gclient/{example.py → examples/full.py} +5 -21
  152. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/patch_project.py +45 -0
  153. data/vendor/depot_tools/recipes/recipe_modules/gerrit/__init__.py +1 -0
  154. data/vendor/depot_tools/recipes/recipe_modules/gerrit/api.py +97 -2
  155. data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.expected/basic.json +283 -0
  156. data/vendor/depot_tools/recipes/recipe_modules/gerrit/{example.py → examples/full.py} +31 -2
  157. data/vendor/depot_tools/recipes/recipe_modules/gerrit/test_api.py +30 -1
  158. data/vendor/depot_tools/recipes/recipe_modules/git/__init__.py +1 -4
  159. data/vendor/depot_tools/recipes/recipe_modules/git/api.py +7 -35
  160. data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/basic.json +3 -3
  161. data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/basic_branch.json +3 -3
  162. data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/basic_file_name.json +3 -3
  163. data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/basic_hash.json +3 -3
  164. data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/basic_ref.json +3 -3
  165. data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/basic_submodule_update_force.json +3 -3
  166. data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/can_fail_build.json +1 -1
  167. data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/cannot_fail_build.json +3 -3
  168. data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/cat-file_test.json +3 -3
  169. data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/count-objects_delta.json +3 -3
  170. data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/count-objects_failed.json +3 -3
  171. data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/count-objects_with_bad_output.json +3 -3
  172. data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/count-objects_with_bad_output_fails_build.json +1 -1
  173. data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/curl_trace_file.json +3 -3
  174. data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/git-cache-checkout.json +6 -6
  175. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/platform_win.json +223 -0
  176. data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/rebase_failed.json +3 -3
  177. data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/remote_not_origin.json +3 -3
  178. data/vendor/depot_tools/recipes/recipe_modules/git/{example.expected → examples/full.expected}/set_got_revision.json +3 -3
  179. data/vendor/depot_tools/recipes/recipe_modules/git/{example.py → examples/full.py} +2 -1
  180. data/vendor/depot_tools/recipes/recipe_modules/git/resources/git_setup.py +12 -21
  181. data/vendor/depot_tools/recipes/recipe_modules/git_cl/__init__.py +1 -4
  182. data/vendor/depot_tools/recipes/recipe_modules/git_cl/api.py +13 -11
  183. data/vendor/depot_tools/recipes/recipe_modules/git_cl/{example.expected → examples/full.expected}/basic.json +0 -0
  184. data/vendor/depot_tools/recipes/recipe_modules/git_cl/{example.py → examples/full.py} +4 -2
  185. data/vendor/depot_tools/recipes/recipe_modules/gitiles/OWNERS +3 -0
  186. data/vendor/depot_tools/recipes/recipe_modules/gitiles/__init__.py +7 -0
  187. data/vendor/depot_tools/recipes/recipe_modules/gitiles/api.py +135 -0
  188. data/vendor/depot_tools/recipes/recipe_modules/gitiles/examples/full.expected/basic.json +537 -0
  189. data/vendor/depot_tools/recipes/recipe_modules/gitiles/examples/full.py +61 -0
  190. data/vendor/depot_tools/recipes/recipe_modules/gitiles/resources/gerrit_client.py +192 -0
  191. data/vendor/depot_tools/recipes/recipe_modules/gitiles/test_api.py +95 -0
  192. data/vendor/depot_tools/recipes/recipe_modules/gsutil/{example.expected → examples/full.expected}/basic.json +0 -0
  193. data/vendor/depot_tools/recipes/recipe_modules/gsutil/{example.py → examples/full.py} +0 -0
  194. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/__init__.py +0 -3
  195. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/{example.expected → examples/full.expected}/basic.json +3 -2
  196. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/{example.expected → examples/full.expected}/paths_buildbot_linux.json +3 -2
  197. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/{example.expected → examples/full.expected}/paths_buildbot_mac.json +3 -2
  198. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/{example.expected → examples/full.expected}/paths_buildbot_win.json +3 -2
  199. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/{example.expected → examples/full.expected}/paths_generic_linux.json +3 -2
  200. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/{example.expected → examples/full.expected}/paths_generic_mac.json +3 -2
  201. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_win.json +16 -0
  202. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_linux.json +16 -0
  203. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_mac.json +16 -0
  204. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_win.json +16 -0
  205. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/{example.py → examples/full.py} +2 -1
  206. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/path_config.py +12 -3
  207. data/vendor/depot_tools/recipes/recipe_modules/presubmit/__init__.py +1 -0
  208. data/vendor/depot_tools/recipes/recipe_modules/presubmit/api.py +2 -2
  209. data/vendor/depot_tools/recipes/recipe_modules/presubmit/{example.expected → examples/full.expected}/basic.json +1 -1
  210. data/vendor/depot_tools/recipes/recipe_modules/presubmit/{example.py → examples/full.py} +0 -0
  211. data/vendor/depot_tools/recipes/recipe_modules/rietveld/__init__.py +0 -4
  212. data/vendor/depot_tools/recipes/recipe_modules/rietveld/{example.expected → examples/full.expected}/basic.json +0 -0
  213. data/vendor/depot_tools/recipes/recipe_modules/rietveld/{example.expected → examples/full.expected}/buildbot.json +0 -0
  214. data/vendor/depot_tools/recipes/recipe_modules/rietveld/examples/full.expected/no_auth.json +27 -0
  215. data/vendor/depot_tools/recipes/recipe_modules/rietveld/{example.py → examples/full.py} +9 -1
  216. data/vendor/depot_tools/recipes/recipe_modules/tryserver/__init__.py +3 -5
  217. data/vendor/depot_tools/recipes/recipe_modules/tryserver/api.py +21 -96
  218. data/vendor/depot_tools/recipes/recipe_modules/tryserver/{example.expected → examples/full.expected}/basic_tags.json +0 -0
  219. data/vendor/depot_tools/recipes/recipe_modules/tryserver/{example.expected → examples/full.expected}/set_failure_hash_with_no_steps.json +0 -0
  220. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch.json +56 -0
  221. data/vendor/depot_tools/recipes/recipe_modules/tryserver/{example.expected/with_gerrit_patch_deprecated.json → examples/full.expected/with_git_patch.json} +2 -2
  222. data/vendor/depot_tools/recipes/recipe_modules/tryserver/{example.expected/with_gerrit_patch.json → examples/full.expected/with_git_patch_luci.json} +2 -2
  223. data/vendor/depot_tools/recipes/recipe_modules/tryserver/{example.expected → examples/full.expected}/with_rietveld_patch.json +0 -20
  224. data/vendor/depot_tools/recipes/recipe_modules/tryserver/{example.expected → examples/full.expected}/with_rietveld_patch_new.json +0 -20
  225. data/vendor/depot_tools/recipes/recipe_modules/tryserver/{example.expected → examples/full.expected}/with_wrong_patch.json +1 -13
  226. data/vendor/depot_tools/recipes/recipe_modules/tryserver/{example.expected → examples/full.expected}/with_wrong_patch_new.json +1 -13
  227. data/vendor/depot_tools/recipes/recipe_modules/tryserver/{example.py → examples/full.py} +3 -17
  228. data/vendor/depot_tools/recipes/recipes.py +141 -96
  229. data/vendor/depot_tools/rietveld.py +8 -1
  230. data/vendor/depot_tools/roll-dep-svn.bat +12 -10
  231. data/vendor/depot_tools/roll-dep.bat +5 -3
  232. data/vendor/depot_tools/scm.py +8 -1
  233. data/vendor/depot_tools/setup_color.py +0 -0
  234. data/vendor/depot_tools/split_cl.py +193 -0
  235. data/vendor/depot_tools/third_party/schema/.editorconfig +15 -0
  236. data/vendor/depot_tools/third_party/schema/.gitignore +174 -0
  237. data/vendor/depot_tools/third_party/schema/.travis.yml +37 -0
  238. data/vendor/depot_tools/third_party/schema/LICENSE-MIT +19 -0
  239. data/vendor/depot_tools/third_party/schema/MANIFEST.in +1 -0
  240. data/vendor/depot_tools/third_party/schema/README.chromium +12 -0
  241. data/vendor/depot_tools/third_party/schema/README.rst +382 -0
  242. data/vendor/depot_tools/third_party/schema/__init__.py +1 -0
  243. data/vendor/depot_tools/third_party/schema/schema.py +338 -0
  244. data/vendor/depot_tools/third_party/schema/setup.cfg +5 -0
  245. data/vendor/depot_tools/third_party/schema/setup.py +30 -0
  246. data/vendor/depot_tools/third_party/schema/test_schema.py +556 -0
  247. data/vendor/depot_tools/third_party/schema/tox.ini +33 -0
  248. data/vendor/depot_tools/third_party/upload.py +4 -0
  249. data/vendor/depot_tools/update_depot_tools +4 -16
  250. data/vendor/depot_tools/update_depot_tools.bat +4 -17
  251. data/vendor/depot_tools/update_depot_tools_toggle.py +38 -0
  252. data/vendor/depot_tools/vpython +12 -0
  253. data/vendor/depot_tools/vpython.bat +7 -0
  254. data/vendor/depot_tools/win_toolchain/get_toolchain_if_necessary.py +17 -5
  255. data/vendor/depot_tools/win_toolchain/package_from_installed.py +63 -33
  256. metadata +161 -113
  257. data/vendor/depot_tools/bootstrap/gclient.bat +0 -22
  258. data/vendor/depot_tools/bootstrap/win/get_file.js +0 -119
  259. data/vendor/depot_tools/bootstrap/win/git_bootstrap.py +0 -193
  260. data/vendor/depot_tools/bootstrap/win/git_version.txt +0 -1
  261. data/vendor/depot_tools/bootstrap/win/git_version_bleeding_edge.txt +0 -1
  262. data/vendor/depot_tools/bootstrap/win/python276.new.bat +0 -8
  263. data/vendor/depot_tools/bootstrap/win/svn.new.bat +0 -4
  264. data/vendor/depot_tools/bootstrap/win/svnversion.new.bat +0 -4
  265. data/vendor/depot_tools/bootstrap/win/unzip.js +0 -91
  266. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/basic.json +0 -53
  267. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/basic_output_manifest.json +0 -60
  268. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/basic_with_branch_heads.json +0 -54
  269. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/buildbot.json +0 -53
  270. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/clobber.json +0 -54
  271. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/gerrit_no_rebase_patch_ref.json +0 -54
  272. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/gerrit_no_reset.json +0 -54
  273. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/no_shallow.json +0 -54
  274. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/reset_root_solution_revision.json +0 -53
  275. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/trychange.json +0 -55
  276. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/trychange_oauth2_buildbot.json +0 -57
  277. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/trychange_oauth2_json.json +0 -55
  278. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/trychange_oauth2_json_win.json +0 -55
  279. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/tryjob.json +0 -59
  280. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/tryjob_fail.json +0 -62
  281. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/tryjob_fail_patch.json +0 -83
  282. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/tryjob_fail_patch_download.json +0 -84
  283. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/tryjob_gerrit_angle.json +0 -60
  284. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/tryjob_gerrit_angle_deprecated.json +0 -60
  285. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/tryjob_v8.json +0 -62
  286. data/vendor/depot_tools/recipes/recipe_modules/bot_update/example.expected/tryjob_v8_head_by_default.json +0 -62
  287. data/vendor/depot_tools/recipes/recipe_modules/gclient/bundle_extra_paths.txt +0 -4
  288. data/vendor/depot_tools/recipes/recipe_modules/gerrit/example.expected/basic.json +0 -66
  289. data/vendor/depot_tools/recipes/recipe_modules/git/bundle_extra_paths.txt +0 -28
  290. data/vendor/depot_tools/recipes/recipe_modules/git/example.expected/platform_win.json +0 -237
  291. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/example.expected/paths_generic_win.json +0 -15
  292. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/example.expected/paths_kitchen_linux.json +0 -15
  293. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/example.expected/paths_kitchen_mac.json +0 -15
  294. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/example.expected/paths_kitchen_win.json +0 -15
  295. data/vendor/depot_tools/recipes/recipe_modules/presubmit/bundle_extra_paths.txt +0 -30
  296. data/vendor/depot_tools/recipes/recipe_modules/tryserver/example.expected/with_git_patch.json +0 -109
  297. data/vendor/depot_tools/recipes/recipe_modules/tryserver/example.expected/with_git_patch_luci.json +0 -8
@@ -0,0 +1,16 @@
1
+ [
2
+ {
3
+ "cmd": [],
4
+ "name": "show paths",
5
+ "~followup_annotations": [
6
+ "@@@STEP_LOG_LINE@result@base_paths: {'builder_cache': ('/', 'b', 'c', 'b'), 'cache': ('/', 'b', 'c'), 'goma_cache': ('/', 'b', 'c', 'goma_cache'), 'start_dir': ('/', 'b', 'FakeTestingCWD'), 'cleanup': ('/', 'b', 'cleanup'), 'git_cache': ('/', 'b', 'c', 'git_cache'), 'root': ('/', 'b', 'FakeTestingCWD'), 'tmp_base': ('/',)}@@@",
7
+ "@@@STEP_LOG_LINE@result@default_git_cache_dir: Path('git_cache')@@@",
8
+ "@@@STEP_LOG_END@result@@@"
9
+ ]
10
+ },
11
+ {
12
+ "name": "$result",
13
+ "recipe_result": null,
14
+ "status_code": 0
15
+ }
16
+ ]
@@ -0,0 +1,16 @@
1
+ [
2
+ {
3
+ "cmd": [],
4
+ "name": "show paths",
5
+ "~followup_annotations": [
6
+ "@@@STEP_LOG_LINE@result@base_paths: {'builder_cache': ('/', 'b', 'c', 'b'), 'cache': ('/', 'b', 'c'), 'goma_cache': ('/', 'b', 'c', 'goma_cache'), 'start_dir': ('/', 'b', 'FakeTestingCWD'), 'cleanup': ('/', 'b', 'cleanup'), 'git_cache': ('/', 'b', 'c', 'git_cache'), 'root': ('/', 'b', 'FakeTestingCWD'), 'tmp_base': ('/',)}@@@",
7
+ "@@@STEP_LOG_LINE@result@default_git_cache_dir: Path('git_cache')@@@",
8
+ "@@@STEP_LOG_END@result@@@"
9
+ ]
10
+ },
11
+ {
12
+ "name": "$result",
13
+ "recipe_result": null,
14
+ "status_code": 0
15
+ }
16
+ ]
@@ -0,0 +1,16 @@
1
+ [
2
+ {
3
+ "cmd": [],
4
+ "name": "show paths",
5
+ "~followup_annotations": [
6
+ "@@@STEP_LOG_LINE@result@base_paths: {'builder_cache': ('C:\\\\', 'b', 'c', 'b'), 'cache': ('C:\\\\', 'b', 'c'), 'goma_cache': ('C:\\\\', 'b', 'c', 'goma_cache'), 'start_dir': ('C:\\\\', 'b', 'FakeTestingCWD'), 'cleanup': ('C:\\\\', 'b', 'cleanup'), 'git_cache': ('C:\\\\', 'b', 'c', 'git_cache'), 'root': ('C:\\\\', 'b', 'FakeTestingCWD'), 'tmp_base': ('C:\\\\',)}@@@",
7
+ "@@@STEP_LOG_LINE@result@default_git_cache_dir: Path('git_cache')@@@",
8
+ "@@@STEP_LOG_END@result@@@"
9
+ ]
10
+ },
11
+ {
12
+ "name": "$result",
13
+ "recipe_result": null,
14
+ "status_code": 0
15
+ }
16
+ ]
@@ -14,9 +14,10 @@ DEPS = [
14
14
 
15
15
 
16
16
  def RunSteps(api):
17
- api.step('show cache path', [])
17
+ api.step('show paths', [])
18
18
  api.step.active_result.presentation.logs['result'] = [
19
19
  'base_paths: %r' % (api.path.c.base_paths,),
20
+ 'default_git_cache_dir: %r' % (api.infra_paths.default_git_cache_dir,),
20
21
  ]
21
22
 
22
23
 
@@ -13,11 +13,13 @@ def infra_common(c):
13
13
 
14
14
  @CONFIG_CTX(includes=['infra_common'])
15
15
  def infra_buildbot(c):
16
+ """Used on BuildBot by "annotated_run"."""
16
17
  c.base_paths['root'] = c.START_DIR[:-4]
17
18
  c.base_paths['cache'] = c.base_paths['root'] + (
18
19
  'build', 'slave', 'cache')
19
20
  c.base_paths['git_cache'] = c.base_paths['root'] + (
20
21
  'build', 'slave', 'cache_dir')
22
+ c.base_paths['cleanup'] = c.START_DIR[:-1] + ('build.dead',)
21
23
  c.base_paths['goma_cache'] = c.base_paths['root'] + (
22
24
  'build', 'slave', 'goma_cache')
23
25
  for token in ('build_internal', 'build', 'depot_tools'):
@@ -26,6 +28,7 @@ def infra_buildbot(c):
26
28
 
27
29
  @CONFIG_CTX(includes=['infra_common'])
28
30
  def infra_kitchen(c):
31
+ """Used on BuildBot by "remote_run" when NOT running Kitchen."""
29
32
  c.base_paths['root'] = c.START_DIR
30
33
  # TODO(phajdan.jr): have one cache dir, let clients append suffixes.
31
34
 
@@ -36,23 +39,29 @@ def infra_kitchen(c):
36
39
  if c.PLATFORM in ('linux', 'mac'):
37
40
  c.base_paths['cache'] = ('/', 'b', 'c')
38
41
  c.base_paths['builder_cache'] = c.base_paths['cache'] + ('b',)
39
- for path in ('git_cache', 'goma_cache', 'goma_deps_cache'):
42
+ for path in ('git_cache', 'goma_cache'):
40
43
  c.base_paths[path] = c.base_paths['cache'] + (path,)
41
44
  elif b_dir:
42
45
  c.base_paths['cache'] = b_dir + ('c',)
43
46
  c.base_paths['builder_cache'] = c.base_paths['cache'] + ('b',)
44
- for path in ('git_cache', 'goma_cache', 'goma_deps_cache'):
47
+ for path in ('git_cache', 'goma_cache'):
45
48
  c.base_paths[path] = c.base_paths['cache'] + (path,)
46
49
  else: # pragma: no cover
47
50
  c.base_paths['cache'] = c.base_paths['root'] + ('c',)
48
51
  c.base_paths['builder_cache'] = c.base_paths['cache'] + ('b',)
49
52
  c.base_paths['git_cache'] = c.base_paths['root'] + ('cache_dir',)
50
- for path in ('goma_cache', 'goma_deps_cache'):
53
+ for path in ('goma_cache',):
51
54
  c.base_paths[path] = c.base_paths['cache'] + (path,)
52
55
 
53
56
 
54
57
  @CONFIG_CTX()
55
58
  def infra_generic(c):
59
+ """Used by Kitchen runs on both SwarmBucket and "remote_run"+Kitchen.
60
+
61
+ The default path values (ones not set explicitly here) are either installed by
62
+ Kitchen directly, or are recipe engine defaults. Note that in "kitchen",
63
+ the "start_dir" is ephemeral.
64
+ """
56
65
  c.base_paths['builder_cache'] = c.base_paths['cache'] + ('builder',)
57
66
  c.base_paths['git_cache'] = c.base_paths['cache'] + ('git',)
58
67
  c.base_paths['goma_cache'] = c.base_paths['cache'] + ('goma',)
@@ -1,4 +1,5 @@
1
1
  DEPS = [
2
+ 'recipe_engine/context',
2
3
  'recipe_engine/path',
3
4
  'recipe_engine/python',
4
5
  'recipe_engine/step',
@@ -14,11 +14,11 @@ class PresubmitApi(recipe_api.RecipeApi):
14
14
 
15
15
  name = kwargs.pop('name', 'presubmit')
16
16
 
17
- env = self.m.step.get_from_context('env', {})
17
+ env = self.m.context.env
18
18
  env.setdefault('PATH', '%(PATH)s')
19
19
  env['PATH'] = self.m.path.pathsep.join([
20
20
  env['PATH'], str(self._module.PACKAGE_REPO_ROOT)])
21
21
 
22
- with self.m.step.context({'env': env}):
22
+ with self.m.context(env=env):
23
23
  return self.m.python(
24
24
  name, self.presubmit_support_path, list(args), **kwargs)
@@ -6,7 +6,7 @@
6
6
  "RECIPE_PACKAGE_REPO[depot_tools]/presubmit_support.py"
7
7
  ],
8
8
  "env": {
9
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
9
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
10
10
  },
11
11
  "name": "presubmit"
12
12
  },
@@ -4,7 +4,3 @@ DEPS = [
4
4
  'recipe_engine/python',
5
5
  'recipe_engine/step',
6
6
  ]
7
-
8
-
9
- # TODO(phajdan.jr): provide coverage (http://crbug.com/693058).
10
- DISABLE_STRICT_COVERAGE = True
@@ -0,0 +1,27 @@
1
+ [
2
+ {
3
+ "cmd": [
4
+ "python",
5
+ "-u",
6
+ "RECIPE_PACKAGE_REPO[depot_tools]/apply_issue.py",
7
+ "-r",
8
+ "[START_DIR]/foo/bar",
9
+ "-i",
10
+ "1",
11
+ "-p",
12
+ "1",
13
+ "-s",
14
+ "http://review_tool.url",
15
+ "--no-auth"
16
+ ],
17
+ "name": "apply_issue",
18
+ "~followup_annotations": [
19
+ "@@@STEP_LINK@Applied issue 1@http://review_tool.url/1@@@"
20
+ ]
21
+ },
22
+ {
23
+ "name": "$result",
24
+ "recipe_result": null,
25
+ "status_code": 0
26
+ }
27
+ ]
@@ -12,7 +12,8 @@ DEPS = [
12
12
 
13
13
  def RunSteps(api):
14
14
  api.path['checkout'] = api.path['start_dir']
15
- api.rietveld.apply_issue('foo', 'bar', authentication='oauth2')
15
+ api.rietveld.apply_issue(
16
+ 'foo', 'bar', authentication=api.properties.get('authentication'))
16
17
  api.rietveld.calculate_issue_root({'project': ['']})
17
18
 
18
19
 
@@ -21,10 +22,17 @@ def GenTests(api):
21
22
  issue=1,
22
23
  patchset=1,
23
24
  rietveld='http://review_tool.url',
25
+ authentication='oauth2',
26
+ )
27
+ yield api.test('no_auth') + api.properties(
28
+ issue=1,
29
+ patchset=1,
30
+ rietveld='http://review_tool.url',
24
31
  )
25
32
  yield api.test('buildbot') + api.properties(
26
33
  path_config='buildbot',
27
34
  issue=1,
28
35
  patchset=1,
29
36
  rietveld='http://review_tool.url',
37
+ authentication='oauth2',
30
38
  )
@@ -3,18 +3,16 @@
3
3
  # found in the LICENSE file.
4
4
 
5
5
  DEPS = [
6
+ 'gerrit',
6
7
  'git',
7
8
  'git_cl',
9
+ 'recipe_engine/context',
8
10
  'recipe_engine/json',
9
11
  'recipe_engine/path',
10
12
  'recipe_engine/platform',
11
13
  'recipe_engine/properties',
12
14
  'recipe_engine/python',
13
15
  'recipe_engine/raw_io',
14
- 'rietveld',
15
16
  'recipe_engine/step',
17
+ 'rietveld',
16
18
  ]
17
-
18
-
19
- # TODO(phajdan): provide coverage (http://crbug.com/693058).
20
- DISABLE_STRICT_COVERAGE = True
@@ -9,10 +9,6 @@ import hashlib
9
9
  from recipe_engine import recipe_api
10
10
 
11
11
 
12
- PATCH_STORAGE_RIETVELD = 'rietveld'
13
- PATCH_STORAGE_GIT = 'git'
14
-
15
-
16
12
  class TryserverApi(recipe_api.RecipeApi):
17
13
  def __init__(self, *args, **kwargs):
18
14
  super(TryserverApi, self).__init__(*args, **kwargs)
@@ -43,84 +39,10 @@ class TryserverApi(recipe_api.RecipeApi):
43
39
 
44
40
  @property
45
41
  def is_patch_in_git(self):
46
- return (self.m.properties.get('patch_storage') == PATCH_STORAGE_GIT and
42
+ return (self.m.properties.get('patch_storage') == 'git' and
47
43
  self.m.properties.get('patch_repo_url') and
48
44
  self.m.properties.get('patch_ref'))
49
45
 
50
- def _apply_patch_step(self, patch_file=None, patch_content=None, root=None):
51
- assert not (patch_file and patch_content), (
52
- 'Please only specify either patch_file or patch_content, not both!')
53
- patch_cmd = [
54
- 'patch',
55
- '--dir', root or self.m.path['checkout'],
56
- '--force',
57
- '--forward',
58
- '--remove-empty-files',
59
- '--strip', '0',
60
- ]
61
- if patch_file:
62
- patch_cmd.extend(['--input', patch_file])
63
-
64
- self.m.step('apply patch', patch_cmd,
65
- stdin=patch_content)
66
-
67
- def apply_from_git(self, cwd):
68
- """Downloads patch from given git repo and ref and applies it"""
69
- # TODO(nodir): accept these properties as parameters
70
- patch_repo_url = self.m.properties['patch_repo_url']
71
- patch_ref = self.m.properties['patch_ref']
72
-
73
- patch_dir = self.m.path.mkdtemp('patch')
74
- try:
75
- build_path = self.m.path['build']
76
- except KeyError:
77
- raise self.m.step.StepFailure(
78
- 'path["build"] is not defined. '
79
- 'Possibly this is a LUCI build. '
80
- 'tryserver.apply_from_git is not supported in LUCI builds.')
81
-
82
- git_setup_py = build_path.join('scripts', 'slave', 'git_setup.py')
83
- git_setup_args = ['--path', patch_dir, '--url', patch_repo_url]
84
- patch_path = patch_dir.join('patch.diff')
85
-
86
- self.m.python('patch git setup', git_setup_py, git_setup_args)
87
- with self.m.step.context({'cwd': patch_dir}):
88
- self.m.git('fetch', 'origin', patch_ref, name='patch fetch')
89
- self.m.git('clean', '-f', '-d', '-x', name='patch clean')
90
- self.m.git('checkout', '-f', 'FETCH_HEAD', name='patch git checkout')
91
- self._apply_patch_step(patch_file=patch_path, root=cwd)
92
- self.m.step('remove patch', ['rm', '-rf', patch_dir])
93
-
94
- def determine_patch_storage(self):
95
- """Determines patch_storage automatically based on properties."""
96
- storage = self.m.properties.get('patch_storage')
97
- if storage:
98
- return storage
99
-
100
- if self.can_apply_issue:
101
- return PATCH_STORAGE_RIETVELD
102
-
103
- def maybe_apply_issue(self, cwd=None, authentication=None):
104
- """If we're a trybot, apply a codereview issue.
105
-
106
- Args:
107
- cwd: If specified, apply the patch from the specified directory.
108
- authentication: authentication scheme whenever apply_issue.py is called.
109
- This is only used if the patch comes from Rietveld. Possible values:
110
- None, 'oauth2' (see also api.rietveld.apply_issue.)
111
- """
112
- storage = self.determine_patch_storage()
113
-
114
- if storage == PATCH_STORAGE_RIETVELD:
115
- return self.m.rietveld.apply_issue(
116
- self.m.rietveld.calculate_issue_root(),
117
- authentication=authentication)
118
- elif storage == PATCH_STORAGE_GIT:
119
- return self.apply_from_git(cwd)
120
- else:
121
- # Since this method is "maybe", we don't raise an Exception.
122
- pass
123
-
124
46
  def get_files_affected_by_patch(self, patch_root=None, **kwargs):
125
47
  """Returns list of paths to files affected by the patch.
126
48
 
@@ -138,9 +60,9 @@ class TryserverApi(recipe_api.RecipeApi):
138
60
  # removed.
139
61
  if patch_root is None:
140
62
  return self._old_get_files_affected_by_patch()
141
- with self.m.step.context({
142
- 'cwd': self.m.step.get_from_context(
143
- 'cwd', self.m.path['start_dir'].join(patch_root))}):
63
+
64
+ cwd = self.m.context.cwd or self.m.path['start_dir'].join(patch_root)
65
+ with self.m.context(cwd=cwd):
144
66
  step_result = self.m.git('diff', '--cached', '--name-only',
145
67
  name='git diff to analyze patch',
146
68
  stdout=self.m.raw_io.output(),
@@ -158,11 +80,10 @@ class TryserverApi(recipe_api.RecipeApi):
158
80
 
159
81
 
160
82
  def _old_get_files_affected_by_patch(self):
161
- context = {}
162
83
  issue_root = self.m.rietveld.calculate_issue_root()
163
- if issue_root:
164
- context['cwd'] = self.m.path['checkout'].join(issue_root)
165
- with self.m.step.context(context):
84
+ cwd = self.m.path['checkout'].join(issue_root) if issue_root else None
85
+
86
+ with self.m.context(cwd=cwd):
166
87
  step_result = self.m.git('diff', '--cached', '--name-only',
167
88
  name='git diff to analyze patch',
168
89
  stdout=self.m.raw_io.output(),
@@ -265,17 +186,19 @@ class TryserverApi(recipe_api.RecipeApi):
265
186
  git-footers documentation for more information.
266
187
  """
267
188
  if patch_text is None:
268
- codereview = None
269
- if not self.can_apply_issue: #pragma: no cover
270
- raise recipe_api.StepFailure("Cannot get tags from gerrit yet.")
271
- else:
272
- codereview = 'rietveld'
273
- patch = (
274
- self.m.properties['rietveld'].strip('/') + '/' +
189
+ if self.is_gerrit_issue:
190
+ patch_text = self.m.gerrit.get_change_description(
191
+ self.m.properties['patch_gerrit_url'],
192
+ self.m.properties['patch_issue'],
193
+ self.m.properties['patch_set'])
194
+ elif self.can_apply_issue:
195
+ patch_url = (
196
+ self.m.properties['rietveld'].rstrip('/') + '/' +
275
197
  str(self.m.properties['issue']))
276
-
277
- patch_text = self.m.git_cl.get_description(
278
- patch=patch, codereview=codereview).stdout
198
+ patch_text = self.m.git_cl.get_description(
199
+ patch_url=patch_url, codereview='rietveld').stdout
200
+ else: # pragma: no cover
201
+ raise recipe_api.StepFailure('Unknown patch storage.')
279
202
 
280
203
  result = self.m.python(
281
204
  'parse description', self.package_repo_resource('git_footers.py'),
@@ -287,3 +210,5 @@ class TryserverApi(recipe_api.RecipeApi):
287
210
  """Gets a specific tag from a CL description"""
288
211
  return self.get_footers(patch_text).get(tag, [])
289
212
 
213
+ def normalize_footer_name(self, footer):
214
+ return '-'.join([ word.title() for word in footer.strip().split('-') ])
@@ -0,0 +1,56 @@
1
+ [
2
+ {
3
+ "cmd": [
4
+ "python",
5
+ "-u",
6
+ "RECIPE_PACKAGE_REPO[depot_tools]/gerrit_client.py",
7
+ "changes",
8
+ "--host",
9
+ "https://chromium-review.googlesource.com",
10
+ "--json_file",
11
+ "/path/to/tmp/json",
12
+ "--limit",
13
+ "1",
14
+ "-p",
15
+ "change=456789",
16
+ "-o",
17
+ "ALL_REVISIONS",
18
+ "-o",
19
+ "ALL_COMMITS"
20
+ ],
21
+ "env": {
22
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
23
+ },
24
+ "infra_step": true,
25
+ "name": "gerrit changes",
26
+ "~followup_annotations": [
27
+ "@@@STEP_LOG_LINE@json.output@[@@@",
28
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
29
+ "@@@STEP_LOG_LINE@json.output@ \"_number\": \"91827\", @@@",
30
+ "@@@STEP_LOG_LINE@json.output@ \"branch\": \"master\", @@@",
31
+ "@@@STEP_LOG_LINE@json.output@ \"change_id\": \"Ideadbeef\", @@@",
32
+ "@@@STEP_LOG_LINE@json.output@ \"created\": \"2017-01-30 13:11:20.000000000\", @@@",
33
+ "@@@STEP_LOG_LINE@json.output@ \"has_review_started\": false, @@@",
34
+ "@@@STEP_LOG_LINE@json.output@ \"project\": \"chromium/src\", @@@",
35
+ "@@@STEP_LOG_LINE@json.output@ \"revisions\": {@@@",
36
+ "@@@STEP_LOG_LINE@json.output@ \"184ebe53805e102605d11f6b143486d15c23a09c\": {@@@",
37
+ "@@@STEP_LOG_LINE@json.output@ \"_number\": \"1\", @@@",
38
+ "@@@STEP_LOG_LINE@json.output@ \"commit\": {@@@",
39
+ "@@@STEP_LOG_LINE@json.output@ \"message\": \"Change commit message\"@@@",
40
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
41
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
42
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
43
+ "@@@STEP_LOG_LINE@json.output@ \"status\": \"NEW\", @@@",
44
+ "@@@STEP_LOG_LINE@json.output@ \"subject\": \"Change title\"@@@",
45
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
46
+ "@@@STEP_LOG_LINE@json.output@]@@@",
47
+ "@@@STEP_LOG_END@json.output@@@"
48
+ ]
49
+ },
50
+ {
51
+ "name": "$result",
52
+ "reason": "Error querying for CL description: host:'https://chromium-review.googlesource.com' change:456789; patchset:12",
53
+ "recipe_result": null,
54
+ "status_code": 1
55
+ }
56
+ ]