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
@@ -9,7 +9,7 @@
9
9
  "cache_dir = '[ROOT]/git_cache'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]"
10
10
  ],
11
11
  "env": {
12
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
12
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
13
13
  },
14
14
  "infra_step": true,
15
15
  "name": "gclient setup"
@@ -33,7 +33,7 @@
33
33
  "/path/to/tmp/json"
34
34
  ],
35
35
  "env": {
36
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
36
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
37
37
  },
38
38
  "infra_step": true,
39
39
  "name": "gclient sync",
@@ -60,7 +60,7 @@
60
60
  "local_bot"
61
61
  ],
62
62
  "env": {
63
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
63
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
64
64
  },
65
65
  "infra_step": true,
66
66
  "name": "gclient recurse (git config user.name)"
@@ -77,7 +77,7 @@
77
77
  "local_bot@example.com"
78
78
  ],
79
79
  "env": {
80
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
80
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
81
81
  },
82
82
  "infra_step": true,
83
83
  "name": "gclient recurse (git config user.email)"
@@ -93,7 +93,7 @@
93
93
  ],
94
94
  "cwd": "[START_DIR]/src/third_party",
95
95
  "env": {
96
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
96
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
97
97
  },
98
98
  "infra_step": true,
99
99
  "name": "[spec: Angle] gclient setup"
@@ -120,7 +120,7 @@
120
120
  ],
121
121
  "cwd": "[START_DIR]/src/third_party",
122
122
  "env": {
123
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
123
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
124
124
  },
125
125
  "infra_step": true,
126
126
  "name": "[spec: Angle] gclient sync",
@@ -152,7 +152,7 @@
152
152
  ],
153
153
  "cwd": "[START_DIR]/src/third_party",
154
154
  "env": {
155
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
155
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
156
156
  },
157
157
  "infra_step": true,
158
158
  "name": "[spec: Angle] gclient recurse (git config user.name)"
@@ -170,7 +170,7 @@
170
170
  ],
171
171
  "cwd": "[START_DIR]/src/third_party",
172
172
  "env": {
173
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
173
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
174
174
  },
175
175
  "infra_step": true,
176
176
  "name": "[spec: Angle] gclient recurse (git config user.email)"
@@ -208,7 +208,7 @@
208
208
  ],
209
209
  "cwd": "[START_DIR]/src",
210
210
  "env": {
211
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
211
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
212
212
  },
213
213
  "name": "gclient runhooks"
214
214
  },
@@ -9,7 +9,7 @@
9
9
  "cache_dir = '[ROOT]/git_cache'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]"
10
10
  ],
11
11
  "env": {
12
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
12
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
13
13
  },
14
14
  "infra_step": true,
15
15
  "name": "gclient setup"
@@ -35,7 +35,7 @@
35
35
  "/path/to/tmp/json"
36
36
  ],
37
37
  "env": {
38
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
38
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
39
39
  },
40
40
  "infra_step": true,
41
41
  "name": "gclient sync",
@@ -62,7 +62,7 @@
62
62
  "local_bot"
63
63
  ],
64
64
  "env": {
65
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
65
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
66
66
  },
67
67
  "infra_step": true,
68
68
  "name": "gclient recurse (git config user.name)"
@@ -79,7 +79,7 @@
79
79
  "local_bot@example.com"
80
80
  ],
81
81
  "env": {
82
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
82
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
83
83
  },
84
84
  "infra_step": true,
85
85
  "name": "gclient recurse (git config user.email)"
@@ -95,7 +95,7 @@
95
95
  ],
96
96
  "cwd": "[START_DIR]/src/third_party",
97
97
  "env": {
98
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
98
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
99
99
  },
100
100
  "infra_step": true,
101
101
  "name": "[spec: Angle] gclient setup"
@@ -124,7 +124,7 @@
124
124
  ],
125
125
  "cwd": "[START_DIR]/src/third_party",
126
126
  "env": {
127
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
127
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
128
128
  },
129
129
  "infra_step": true,
130
130
  "name": "[spec: Angle] gclient sync",
@@ -156,7 +156,7 @@
156
156
  ],
157
157
  "cwd": "[START_DIR]/src/third_party",
158
158
  "env": {
159
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
159
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
160
160
  },
161
161
  "infra_step": true,
162
162
  "name": "[spec: Angle] gclient recurse (git config user.name)"
@@ -174,7 +174,7 @@
174
174
  ],
175
175
  "cwd": "[START_DIR]/src/third_party",
176
176
  "env": {
177
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
177
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
178
178
  },
179
179
  "infra_step": true,
180
180
  "name": "[spec: Angle] gclient recurse (git config user.email)"
@@ -212,7 +212,7 @@
212
212
  ],
213
213
  "cwd": "[START_DIR]/src",
214
214
  "env": {
215
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
215
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
216
216
  },
217
217
  "name": "gclient runhooks"
218
218
  },
@@ -9,7 +9,7 @@
9
9
  "cache_dir = '[ROOT]/git_cache'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]"
10
10
  ],
11
11
  "env": {
12
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
12
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
13
13
  },
14
14
  "infra_step": true,
15
15
  "name": "gclient setup"
@@ -35,7 +35,7 @@
35
35
  "/path/to/tmp/json"
36
36
  ],
37
37
  "env": {
38
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
38
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
39
39
  },
40
40
  "infra_step": true,
41
41
  "name": "gclient sync",
@@ -62,7 +62,7 @@
62
62
  "local_bot"
63
63
  ],
64
64
  "env": {
65
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
65
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
66
66
  },
67
67
  "infra_step": true,
68
68
  "name": "gclient recurse (git config user.name)"
@@ -79,7 +79,7 @@
79
79
  "local_bot@example.com"
80
80
  ],
81
81
  "env": {
82
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
82
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
83
83
  },
84
84
  "infra_step": true,
85
85
  "name": "gclient recurse (git config user.email)"
@@ -95,7 +95,7 @@
95
95
  ],
96
96
  "cwd": "[START_DIR]/src/third_party",
97
97
  "env": {
98
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
98
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
99
99
  },
100
100
  "infra_step": true,
101
101
  "name": "[spec: Angle] gclient setup"
@@ -124,7 +124,7 @@
124
124
  ],
125
125
  "cwd": "[START_DIR]/src/third_party",
126
126
  "env": {
127
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
127
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
128
128
  },
129
129
  "infra_step": true,
130
130
  "name": "[spec: Angle] gclient sync",
@@ -156,7 +156,7 @@
156
156
  ],
157
157
  "cwd": "[START_DIR]/src/third_party",
158
158
  "env": {
159
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
159
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
160
160
  },
161
161
  "infra_step": true,
162
162
  "name": "[spec: Angle] gclient recurse (git config user.name)"
@@ -174,7 +174,7 @@
174
174
  ],
175
175
  "cwd": "[START_DIR]/src/third_party",
176
176
  "env": {
177
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
177
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
178
178
  },
179
179
  "infra_step": true,
180
180
  "name": "[spec: Angle] gclient recurse (git config user.email)"
@@ -212,7 +212,7 @@
212
212
  ],
213
213
  "cwd": "[START_DIR]/src",
214
214
  "env": {
215
- "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
215
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
216
216
  },
217
217
  "name": "gclient runhooks"
218
218
  },
@@ -4,6 +4,7 @@
4
4
 
5
5
  DEPS = [
6
6
  'gclient',
7
+ 'recipe_engine/context',
7
8
  'recipe_engine/path',
8
9
  'recipe_engine/properties',
9
10
  'recipe_engine/step',
@@ -12,49 +13,31 @@ DEPS = [
12
13
 
13
14
  TEST_CONFIGS = [
14
15
  'android',
15
- 'android_bare',
16
- 'blink',
17
16
  'boringssl',
18
17
  'build_internal',
19
18
  'build_internal_scripts_slave',
20
19
  'catapult',
21
- 'chromedriver',
22
- 'chrome_internal',
23
- 'chromium',
24
- 'chromium_lkcr',
25
- 'chromium_lkgr',
26
- 'chromium_perf',
27
- 'chromium_perf_android',
28
- 'chromium_skia',
29
- 'chromium_webrtc',
30
- 'chromium_webrtc_tot',
31
20
  'crashpad',
32
21
  'custom_tabs_client',
33
22
  'dart',
23
+ 'disable_syntax_validation',
34
24
  'gerrit_test_cq_normal',
35
25
  'gyp',
36
26
  'infra',
37
27
  'infradata_master_manager',
38
28
  'internal_deps',
39
- 'ios',
40
29
  'luci_gae',
41
30
  'luci_go',
42
31
  'luci_py',
43
32
  'master_deps',
44
33
  'mojo',
45
34
  'nacl',
46
- 'ndk_next',
47
35
  'pdfium',
48
- 'perf',
49
36
  'recipes_py',
50
37
  'recipes_py_bare',
51
- 'show_v8_revision',
52
38
  'slave_deps',
53
- 'v8_bleeding_edge_git',
54
- 'v8_canary',
55
39
  'wasm_llvm',
56
40
  'webports',
57
- 'webrtc_test_resources',
58
41
  'with_branch_heads',
59
42
  ]
60
43
 
@@ -80,12 +63,13 @@ def RunSteps(api):
80
63
  bl_cfg.revisions['src/third_party/angle'] = 'refs/heads/lkgr'
81
64
 
82
65
  bl_cfg.got_revision_mapping['src/blatley'] = 'got_blatley_revision'
83
- with api.step.context({
84
- 'cwd': api.path['start_dir'].join('src', 'third_party')}):
66
+ with api.context(cwd=api.path['start_dir'].join('src', 'third_party')):
85
67
  api.gclient.checkout(
86
68
  gclient_config=bl_cfg,
87
69
  with_branch_heads=True)
88
70
 
71
+ api.gclient.got_revision_reverse_mapping(bl_cfg)
72
+
89
73
  api.gclient.break_locks()
90
74
 
91
75
  del api.gclient.spec_alias
@@ -0,0 +1,45 @@
1
+ # Copyright 2017 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
+ from recipe_engine import post_process
6
+ from recipe_engine import recipe_api
7
+
8
+
9
+ DEPS = [
10
+ 'gclient',
11
+ 'recipe_engine/properties',
12
+ ]
13
+
14
+
15
+ PROPERTIES = {
16
+ 'patch_project': recipe_api.Property(),
17
+ }
18
+
19
+
20
+ def RunSteps(api, patch_project):
21
+ src_cfg = api.gclient.make_config(CACHE_DIR='[ROOT]/git_cache')
22
+ soln = src_cfg.solutions.add()
23
+ soln.name = 'src'
24
+ soln.url = 'https://chromium.googlesource.com/chromium/src.git'
25
+ src_cfg.patch_projects['v8'] = ('src/v8', 'HEAD')
26
+ src_cfg.patch_projects['v8/v8'] = ('src/v8', 'HEAD')
27
+ api.gclient.c = src_cfg
28
+
29
+ patch_root = api.gclient.calculate_patch_root(patch_project)
30
+
31
+ api.gclient.set_patch_project_revision(patch_project)
32
+
33
+
34
+ def GenTests(api):
35
+ yield (
36
+ api.test('chromium') +
37
+ api.properties(patch_project='chromium') +
38
+ api.post_process(post_process.DropExpectation)
39
+ )
40
+
41
+ yield (
42
+ api.test('v8') +
43
+ api.properties(patch_project='v8') +
44
+ api.post_process(post_process.DropExpectation)
45
+ )
@@ -1,4 +1,5 @@
1
1
  DEPS = [
2
+ 'recipe_engine/context',
2
3
  'recipe_engine/json',
3
4
  'recipe_engine/path',
4
5
  'recipe_engine/python',
@@ -12,12 +12,12 @@ class GerritApi(recipe_api.RecipeApi):
12
12
  assert isinstance(cmd, (list, tuple))
13
13
  prefix = 'gerrit '
14
14
 
15
- env = self.m.step.get_from_context('env', {})
15
+ env = self.m.context.env
16
16
  env.setdefault('PATH', '%(PATH)s')
17
17
  env['PATH'] = self.m.path.pathsep.join([
18
18
  env['PATH'], str(self._module.PACKAGE_REPO_ROOT)])
19
19
 
20
- with self.m.step.context({'env': env}):
20
+ with self.m.context(env=env):
21
21
  return self.m.python(prefix + name,
22
22
  self.package_repo_resource('gerrit_client.py'),
23
23
  cmd,
@@ -44,6 +44,8 @@ class GerritApi(recipe_api.RecipeApi):
44
44
  ref = step_result.json.output.get('ref')
45
45
  return ref
46
46
 
47
+ # TODO(machenbach): Rename to get_revision? And maybe above to
48
+ # create_ref?
47
49
  def get_gerrit_branch(self, host, project, branch, **kwargs):
48
50
  """
49
51
  Get a branch from given project and commit
@@ -62,3 +64,96 @@ class GerritApi(recipe_api.RecipeApi):
62
64
  step_result = self(step_name, args, **kwargs)
63
65
  revision = step_result.json.output.get('revision')
64
66
  return revision
67
+
68
+ def get_change_destination_branch(self, host, change, **kwargs):
69
+ """
70
+ Get the upstream branch for a given CL.
71
+
72
+ Args:
73
+ host: Gerrit host to query.
74
+ change: The change number.
75
+
76
+ Returns:
77
+ the name of the branch
78
+ """
79
+ assert int(change)
80
+ kwargs.setdefault('name', 'get_change_destination_branch')
81
+ changes = self.get_changes(
82
+ host,
83
+ [('change', change)],
84
+ limit=1,
85
+ **kwargs
86
+ )
87
+ if not changes or 'branch' not in changes[0]:
88
+ self.m.step.active_result.presentation.status = self.m.step.EXCEPTION
89
+ raise self.m.step.InfraFailure(
90
+ 'Error quering for branch of CL %s' % change)
91
+ return changes[0]['branch']
92
+
93
+ def get_change_description(self, host, change, patchset):
94
+ """
95
+ Get the description for a given CL and patchset.
96
+
97
+ Args:
98
+ host: Gerrit host to query.
99
+ change: The change number.
100
+ patchset: The patchset number.
101
+
102
+ Returns:
103
+ The description corresponding to given CL and patchset.
104
+ """
105
+ assert int(change), change
106
+ assert int(patchset), patchset
107
+ cls = self.get_changes(
108
+ host,
109
+ query_params=[('change', str(change))],
110
+ o_params=['ALL_REVISIONS', 'ALL_COMMITS'],
111
+ limit=1)
112
+ cl = cls[0] if len(cls) == 1 else {'revisions': {}}
113
+ for ri in cl['revisions'].itervalues():
114
+ # TODO(tandrii): add support for patchset=='current'.
115
+ if str(ri['_number']) == str(patchset):
116
+ return ri['commit']['message']
117
+
118
+ raise self.m.step.InfraFailure(
119
+ 'Error querying for CL description: host:%r change:%r; patchset:%r' % (
120
+ host, change, patchset))
121
+
122
+ def get_changes(self, host, query_params, start=None, limit=None,
123
+ o_params=None, **kwargs):
124
+ """
125
+ Query changes for the given host.
126
+
127
+ Args:
128
+ host: Gerrit host to query.
129
+ query_params: Query parameters as list of (key, value) tuples to form a
130
+ query as documented here:
131
+ https://gerrit-review.googlesource.com/Documentation/user-search.html#search-operators
132
+ start: How many changes to skip (starting with the most recent).
133
+ limit: Maximum number of results to return.
134
+ o_params: A list of additional output specifiers, as documented here:
135
+ https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#list-changes
136
+ Returns:
137
+ A list of change dicts as documented here:
138
+ https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#list-changes
139
+ """
140
+ args = [
141
+ 'changes',
142
+ '--host', host,
143
+ '--json_file', self.m.json.output()
144
+ ]
145
+ if start:
146
+ args += ['--start', str(start)]
147
+ if limit:
148
+ args += ['--limit', str(limit)]
149
+ for k, v in query_params:
150
+ args += ['-p', '%s=%s' % (k, v)]
151
+ for v in (o_params or []):
152
+ args += ['-o', v]
153
+
154
+ return self(
155
+ kwargs.pop('name', 'changes'),
156
+ args,
157
+ step_test_data=lambda: self.test_api.get_one_change_response_data(),
158
+ **kwargs
159
+ ).json.output