libv8 5.3.332.38.5 → 5.6.326.50.0beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (352) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +0 -1
  3. data/CHANGELOG.md +2 -0
  4. data/ext/libv8/builder.rb +2 -2
  5. data/lib/libv8/version.rb +1 -1
  6. data/patches/0001-Build-a-standalone-static-library.patch +4 -4
  7. data/patches/0002-Don-t-compile-unnecessary-stuff.patch +16 -11
  8. data/patches/0003-Use-the-fPIC-flag-for-the-static-library.patch +4 -4
  9. data/patches/{0005-Do-not-embed-debug-symbols-in-macOS-libraries.patch → 0004-Do-not-embed-debug-symbols-in-macOS-libraries.patch} +4 -4
  10. data/vendor/depot_tools/.gitignore +4 -0
  11. data/vendor/depot_tools/OWNERS +0 -2
  12. data/vendor/depot_tools/PRESUBMIT.py +20 -23
  13. data/vendor/depot_tools/README.gclient.md +3 -3
  14. data/vendor/depot_tools/README.git-cl.md +13 -12
  15. data/vendor/depot_tools/README.md +2 -3
  16. data/vendor/depot_tools/WATCHLISTS +0 -1
  17. data/vendor/depot_tools/appengine_mapper.py +23 -0
  18. data/vendor/depot_tools/apply_issue.py +2 -8
  19. data/vendor/depot_tools/bootstrap/win/README.md +1 -8
  20. data/vendor/depot_tools/bootstrap/win/git_bootstrap.py +6 -16
  21. data/vendor/depot_tools/bootstrap/win/git_version.txt +1 -1
  22. data/vendor/depot_tools/bootstrap/win/git_version_bleeding_edge.txt +1 -1
  23. data/vendor/depot_tools/checkout.py +20 -433
  24. data/vendor/depot_tools/cipd +73 -0
  25. data/vendor/depot_tools/cipd.bat +12 -0
  26. data/vendor/depot_tools/cipd.ps1 +57 -0
  27. data/vendor/depot_tools/cipd_client_version +1 -0
  28. data/vendor/depot_tools/clang_format.py +9 -6
  29. data/vendor/depot_tools/clang_format_merge_driver +8 -0
  30. data/vendor/depot_tools/clang_format_merge_driver.bat +11 -0
  31. data/vendor/depot_tools/clang_format_merge_driver.py +67 -0
  32. data/vendor/depot_tools/codereview.settings +3 -2
  33. data/vendor/depot_tools/commit_queue.py +1 -1
  34. data/vendor/depot_tools/cpplint.py +2 -0
  35. data/vendor/depot_tools/fetch.py +1 -54
  36. data/vendor/depot_tools/fetch_configs/android.py +2 -2
  37. data/vendor/depot_tools/fetch_configs/breakpad.py +2 -3
  38. data/vendor/depot_tools/fetch_configs/chromium.py +2 -3
  39. data/vendor/depot_tools/fetch_configs/crashpad.py +2 -2
  40. data/vendor/depot_tools/fetch_configs/dart.py +2 -3
  41. data/vendor/depot_tools/fetch_configs/dartino.py +2 -3
  42. data/vendor/depot_tools/fetch_configs/dartium.py +2 -3
  43. data/vendor/depot_tools/fetch_configs/depot_tools.py +3 -6
  44. data/vendor/depot_tools/fetch_configs/gyp.py +2 -3
  45. data/vendor/depot_tools/fetch_configs/infra.py +2 -2
  46. data/vendor/depot_tools/fetch_configs/infra_internal.py +2 -2
  47. data/vendor/depot_tools/fetch_configs/ios.py +2 -2
  48. data/vendor/depot_tools/fetch_configs/ios_internal.py +2 -3
  49. data/vendor/depot_tools/fetch_configs/mojo.py +2 -3
  50. data/vendor/depot_tools/fetch_configs/nacl.py +2 -3
  51. data/vendor/depot_tools/fetch_configs/naclports.py +2 -3
  52. data/vendor/depot_tools/fetch_configs/pdfium.py +2 -2
  53. data/vendor/depot_tools/fetch_configs/skia.py +2 -2
  54. data/vendor/depot_tools/fetch_configs/skia_buildbot.py +2 -2
  55. data/vendor/depot_tools/fetch_configs/syzygy.py +2 -2
  56. data/vendor/depot_tools/fetch_configs/v8.py +2 -3
  57. data/vendor/depot_tools/fetch_configs/webrtc.py +5 -3
  58. data/vendor/depot_tools/fetch_configs/webrtc_android.py +2 -2
  59. data/vendor/depot_tools/fetch_configs/webrtc_ios.py +2 -2
  60. data/vendor/depot_tools/fix_encoding.py +6 -6
  61. data/vendor/depot_tools/gclient.py +136 -368
  62. data/vendor/depot_tools/gclient_scm.py +108 -647
  63. data/vendor/depot_tools/gclient_utils.py +22 -86
  64. data/vendor/depot_tools/gerrit_client.py +105 -0
  65. data/vendor/depot_tools/gerrit_util.py +174 -67
  66. data/vendor/depot_tools/git-crrev-parse +6 -7
  67. data/vendor/depot_tools/git-gs +1 -1
  68. data/vendor/depot_tools/git_cache.py +68 -18
  69. data/vendor/depot_tools/git_cherry_pick_upload.py +4 -4
  70. data/vendor/depot_tools/git_cl.py +1028 -961
  71. data/vendor/depot_tools/git_common.py +2 -3
  72. data/vendor/depot_tools/git_drover.py +0 -1
  73. data/vendor/depot_tools/git_footers.py +3 -43
  74. data/vendor/depot_tools/git_rebase_update.py +9 -1
  75. data/vendor/depot_tools/git_squash_branch.py +1 -1
  76. data/vendor/depot_tools/infra/config/cq.cfg +8 -1
  77. data/vendor/depot_tools/infra/config/recipes.cfg +1 -1
  78. data/vendor/depot_tools/man/html/depot_tools.html +3 -11
  79. data/vendor/depot_tools/man/html/depot_tools_tutorial.html +9 -9
  80. data/vendor/depot_tools/man/html/git-cherry-pick-upload.html +2 -2
  81. data/vendor/depot_tools/man/html/git-drover.html +17 -17
  82. data/vendor/depot_tools/man/html/git-footers.html +2 -2
  83. data/vendor/depot_tools/man/html/git-freeze.html +4 -4
  84. data/vendor/depot_tools/man/html/git-hyper-blame.html +2 -2
  85. data/vendor/depot_tools/man/html/git-map-branches.html +2 -2
  86. data/vendor/depot_tools/man/html/git-map.html +2 -2
  87. data/vendor/depot_tools/man/html/git-mark-merge-base.html +2 -2
  88. data/vendor/depot_tools/man/html/git-nav-downstream.html +2 -2
  89. data/vendor/depot_tools/man/html/git-nav-upstream.html +2 -2
  90. data/vendor/depot_tools/man/html/git-new-branch.html +2 -2
  91. data/vendor/depot_tools/man/html/git-rebase-update.html +2 -2
  92. data/vendor/depot_tools/man/html/git-rename-branch.html +2 -2
  93. data/vendor/depot_tools/man/html/git-reparent-branch.html +2 -2
  94. data/vendor/depot_tools/man/html/git-retry.html +3 -3
  95. data/vendor/depot_tools/man/html/git-squash-branch.html +3 -3
  96. data/vendor/depot_tools/man/html/git-thaw.html +2 -2
  97. data/vendor/depot_tools/man/html/git-upstream-diff.html +3 -3
  98. data/vendor/depot_tools/man/man1/git-cherry-pick-upload.1 +4 -4
  99. data/vendor/depot_tools/man/man1/git-drover.1 +19 -19
  100. data/vendor/depot_tools/man/man1/git-footers.1 +4 -4
  101. data/vendor/depot_tools/man/man1/git-freeze.1 +6 -6
  102. data/vendor/depot_tools/man/man1/git-hyper-blame.1 +4 -4
  103. data/vendor/depot_tools/man/man1/git-map-branches.1 +4 -4
  104. data/vendor/depot_tools/man/man1/git-map.1 +4 -4
  105. data/vendor/depot_tools/man/man1/git-mark-merge-base.1 +4 -4
  106. data/vendor/depot_tools/man/man1/git-nav-downstream.1 +4 -4
  107. data/vendor/depot_tools/man/man1/git-nav-upstream.1 +4 -4
  108. data/vendor/depot_tools/man/man1/git-new-branch.1 +4 -4
  109. data/vendor/depot_tools/man/man1/git-rebase-update.1 +4 -4
  110. data/vendor/depot_tools/man/man1/git-rename-branch.1 +4 -4
  111. data/vendor/depot_tools/man/man1/git-reparent-branch.1 +4 -4
  112. data/vendor/depot_tools/man/man1/git-retry.1 +5 -5
  113. data/vendor/depot_tools/man/man1/git-squash-branch.1 +5 -5
  114. data/vendor/depot_tools/man/man1/git-thaw.1 +4 -4
  115. data/vendor/depot_tools/man/man1/git-upstream-diff.1 +5 -5
  116. data/vendor/depot_tools/man/man7/depot_tools.7 +5 -10
  117. data/vendor/depot_tools/man/man7/depot_tools_tutorial.7 +4 -4
  118. data/vendor/depot_tools/man/src/depot_tools.txt +1 -1
  119. data/vendor/depot_tools/man/src/depot_tools_tutorial.txt +7 -7
  120. data/vendor/depot_tools/man/src/filter_demo_output.py +2 -2
  121. data/vendor/depot_tools/man/src/git-footers.demo.1.sh +1 -1
  122. data/vendor/depot_tools/man/src/git-retry.txt +1 -1
  123. data/vendor/depot_tools/man/src/git-squash-branch.txt +2 -2
  124. data/vendor/depot_tools/man/src/git-upstream-diff.txt +1 -1
  125. data/vendor/depot_tools/my_activity.py +6 -3
  126. data/vendor/depot_tools/my_reviews.py +1 -1
  127. data/vendor/depot_tools/ninja +2 -2
  128. data/vendor/depot_tools/ninja-linux32 +0 -0
  129. data/vendor/depot_tools/ninja-linux64 +0 -0
  130. data/vendor/depot_tools/ninja-mac +0 -0
  131. data/vendor/depot_tools/ninja.exe +0 -0
  132. data/vendor/depot_tools/owners.py +14 -3
  133. data/vendor/depot_tools/presubmit_canned_checks.py +46 -67
  134. data/vendor/depot_tools/presubmit_support.py +109 -371
  135. data/vendor/depot_tools/pylintrc +83 -56
  136. data/vendor/depot_tools/recipe_modules/OWNERS +1 -0
  137. data/vendor/depot_tools/recipe_modules/bot_update/__init__.py +18 -9
  138. data/vendor/depot_tools/recipe_modules/bot_update/api.py +56 -55
  139. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/basic.json +3 -7
  140. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/basic_output_manifest.json +3 -7
  141. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/basic_with_branch_heads.json +3 -7
  142. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/buildbot.json +52 -0
  143. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/clobber.json +19 -10
  144. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/gerrit_no_rebase_patch_ref.json +19 -10
  145. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/gerrit_no_reset.json +19 -10
  146. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/no_shallow.json +19 -10
  147. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/reset_root_solution_revision.json +19 -10
  148. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/trychange.json +3 -7
  149. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/trychange_oauth2.json +2 -54
  150. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/trychange_oauth2_buildbot.json +56 -0
  151. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/{forced.json → trychange_oauth2_json.json} +6 -9
  152. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/trychange_oauth2_json_win.json +54 -0
  153. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob.json +9 -9
  154. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_fail.json +9 -9
  155. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_fail_patch.json +9 -9
  156. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_fail_patch_download.json +9 -9
  157. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_gerrit_angle.json +20 -10
  158. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_gerrit_angle_deprecated.json +59 -0
  159. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_v8.json +9 -9
  160. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_v8_head_by_default.json +20 -10
  161. data/vendor/depot_tools/recipe_modules/bot_update/example.py +45 -63
  162. data/vendor/depot_tools/recipe_modules/bot_update/resources/bot_update.py +210 -807
  163. data/vendor/depot_tools/recipe_modules/bot_update/test_api.py +34 -45
  164. data/vendor/depot_tools/recipe_modules/cipd/api.py +59 -84
  165. data/vendor/depot_tools/recipe_modules/cipd/example.expected/basic.json +71 -117
  166. data/vendor/depot_tools/recipe_modules/cipd/example.expected/describe-failed.json +14 -60
  167. data/vendor/depot_tools/recipe_modules/cipd/example.expected/describe-many-instances.json +71 -117
  168. data/vendor/depot_tools/recipe_modules/cipd/example.expected/mac64.json +71 -117
  169. data/vendor/depot_tools/recipe_modules/cipd/example.expected/win64.json +71 -117
  170. data/vendor/depot_tools/recipe_modules/cipd/example.py +2 -12
  171. data/vendor/depot_tools/recipe_modules/cipd/test_api.py +0 -9
  172. data/vendor/depot_tools/recipe_modules/depot_tools/api.py +6 -0
  173. data/vendor/depot_tools/recipe_modules/depot_tools/example.expected/basic.json +7 -0
  174. data/vendor/depot_tools/recipe_modules/depot_tools/example.expected/win.json +7 -0
  175. data/vendor/depot_tools/recipe_modules/depot_tools/example.py +3 -0
  176. data/vendor/depot_tools/recipe_modules/gclient/__init__.py +4 -0
  177. data/vendor/depot_tools/recipe_modules/gclient/api.py +9 -22
  178. data/vendor/depot_tools/recipe_modules/gclient/config.py +18 -5
  179. data/vendor/depot_tools/recipe_modules/gclient/example.expected/basic.json +14 -14
  180. data/vendor/depot_tools/recipe_modules/gclient/example.expected/buildbot.json +211 -0
  181. data/vendor/depot_tools/recipe_modules/gclient/example.expected/revision.json +16 -14
  182. data/vendor/depot_tools/recipe_modules/gclient/example.expected/tryserver.json +16 -14
  183. data/vendor/depot_tools/recipe_modules/gclient/example.py +13 -11
  184. data/vendor/depot_tools/recipe_modules/gerrit/__init__.py +6 -0
  185. data/vendor/depot_tools/recipe_modules/gerrit/api.py +63 -0
  186. data/vendor/depot_tools/recipe_modules/gerrit/example.expected/basic.json +64 -0
  187. data/vendor/depot_tools/recipe_modules/gerrit/example.py +35 -0
  188. data/vendor/depot_tools/recipe_modules/gerrit/test_api.py +24 -0
  189. data/vendor/depot_tools/recipe_modules/git/__init__.py +4 -0
  190. data/vendor/depot_tools/recipe_modules/git/api.py +155 -142
  191. data/vendor/depot_tools/recipe_modules/git/example.expected/basic.json +43 -17
  192. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_branch.json +43 -17
  193. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_file_name.json +43 -17
  194. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_hash.json +43 -17
  195. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_ref.json +43 -17
  196. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_submodule_update_force.json +43 -17
  197. data/vendor/depot_tools/recipe_modules/git/example.expected/can_fail_build.json +13 -13
  198. data/vendor/depot_tools/recipe_modules/git/example.expected/cannot_fail_build.json +43 -17
  199. data/vendor/depot_tools/recipe_modules/git/example.expected/cat-file_test.json +45 -19
  200. data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_delta.json +45 -19
  201. data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_failed.json +43 -17
  202. data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_with_bad_output.json +43 -17
  203. data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_with_bad_output_fails_build.json +8 -8
  204. data/vendor/depot_tools/recipe_modules/git/example.expected/curl_trace_file.json +44 -18
  205. data/vendor/depot_tools/recipe_modules/git/example.expected/git-cache-checkout.json +48 -22
  206. data/vendor/depot_tools/recipe_modules/git/example.expected/platform_win.json +43 -17
  207. data/vendor/depot_tools/recipe_modules/git/example.expected/rebase_failed.json +42 -16
  208. data/vendor/depot_tools/recipe_modules/git/example.expected/remote_not_origin.json +43 -17
  209. data/vendor/depot_tools/recipe_modules/git/example.expected/set_got_revision.json +43 -17
  210. data/vendor/depot_tools/recipe_modules/git/example.py +9 -3
  211. data/vendor/depot_tools/recipe_modules/git_cl/__init__.py +4 -0
  212. data/vendor/depot_tools/recipe_modules/git_cl/api.py +8 -8
  213. data/vendor/depot_tools/recipe_modules/git_cl/example.py +1 -1
  214. data/vendor/depot_tools/recipe_modules/gsutil/__init__.py +4 -0
  215. data/vendor/depot_tools/recipe_modules/gsutil/api.py +196 -0
  216. data/vendor/depot_tools/recipe_modules/gsutil/example.expected/basic.json +186 -0
  217. data/vendor/depot_tools/recipe_modules/gsutil/example.py +77 -0
  218. data/vendor/depot_tools/recipe_modules/gsutil/resources/gsutil_smart_retry.py +69 -0
  219. data/vendor/depot_tools/recipe_modules/infra_paths/__init__.py +3 -0
  220. data/vendor/depot_tools/recipe_modules/infra_paths/api.py +20 -3
  221. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/basic.json +3 -1
  222. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_buildbot_linux.json +3 -1
  223. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_buildbot_mac.json +3 -1
  224. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_buildbot_win.json +3 -1
  225. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_kitchen_linux.json +3 -1
  226. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_kitchen_mac.json +3 -1
  227. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_kitchen_win.json +3 -1
  228. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_swarmbucket_linux.json +3 -1
  229. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_swarmbucket_mac.json +3 -1
  230. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_swarmbucket_win.json +3 -1
  231. data/vendor/depot_tools/recipe_modules/infra_paths/example.py +6 -1
  232. data/vendor/depot_tools/recipe_modules/infra_paths/path_config.py +4 -6
  233. data/vendor/depot_tools/recipe_modules/rietveld/__init__.py +5 -0
  234. data/vendor/depot_tools/recipe_modules/rietveld/api.py +12 -9
  235. data/vendor/depot_tools/recipe_modules/rietveld/example.expected/basic.json +2 -24
  236. data/vendor/depot_tools/recipe_modules/rietveld/example.expected/buildbot.json +30 -0
  237. data/vendor/depot_tools/recipe_modules/rietveld/example.py +12 -6
  238. data/vendor/depot_tools/recipe_modules/tryserver/__init__.py +4 -0
  239. data/vendor/depot_tools/recipe_modules/tryserver/api.py +46 -70
  240. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/set_failure_hash_with_no_steps.json +8 -0
  241. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/{with_svn_patch.json → with_gerrit_patch.json} +1 -31
  242. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_gerrit_patch_deprecated.json +39 -0
  243. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_git_patch.json +2 -2
  244. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_git_patch_luci.json +8 -0
  245. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_rietveld_patch.json +3 -3
  246. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_rietveld_patch_new.json +3 -3
  247. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_wrong_patch.json +1 -1
  248. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_wrong_patch_new.json +1 -1
  249. data/vendor/depot_tools/recipe_modules/tryserver/example.py +35 -5
  250. data/vendor/depot_tools/recipes.py +52 -28
  251. data/vendor/depot_tools/repo +216 -69
  252. data/vendor/depot_tools/rietveld.py +20 -15
  253. data/vendor/depot_tools/roll_dep.py +1 -1
  254. data/vendor/depot_tools/scm.py +11 -826
  255. data/vendor/depot_tools/subprocess2.py +5 -5
  256. data/vendor/depot_tools/third_party/cq_client/README.depot_tools.md +2 -0
  257. data/vendor/depot_tools/third_party/cq_client/README.md +5 -1
  258. data/vendor/depot_tools/third_party/cq_client/cq.pb.go +183 -104
  259. data/vendor/depot_tools/third_party/cq_client/cq.proto +43 -27
  260. data/vendor/depot_tools/third_party/cq_client/cq_pb2.py +95 -29
  261. data/vendor/depot_tools/third_party/cq_client/testdata/cq_both.cfg +67 -0
  262. data/vendor/depot_tools/third_party/cq_client/testdata/cq_gerrit.cfg +1 -2
  263. data/vendor/depot_tools/third_party/cq_client/testdata/cq_rietveld.cfg +0 -3
  264. data/vendor/depot_tools/third_party/upload.py +44 -24
  265. data/vendor/depot_tools/win_toolchain/get_toolchain_if_necessary.py +0 -5
  266. metadata +38 -93
  267. data/patches/0004-Reinterpret-thread-hash-for-FreeBSD-too.patch +0 -25
  268. data/vendor/depot_tools/git-auto-svn +0 -6
  269. data/vendor/depot_tools/git_auto_svn.py +0 -122
  270. data/vendor/depot_tools/man/html/git-auto-svn.html +0 -837
  271. data/vendor/depot_tools/man/man1/git-auto-svn.1 +0 -113
  272. data/vendor/depot_tools/man/src/_git-auto-svn_desc.helper.txt +0 -1
  273. data/vendor/depot_tools/man/src/git-auto-svn.txt +0 -69
  274. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/off.json +0 -43
  275. data/vendor/depot_tools/recipe_modules/cipd/example.expected/install-failed.json +0 -31
  276. data/vendor/depot_tools/recipe_modules/cipd/resources/bootstrap.py +0 -218
  277. data/vendor/depot_tools/recipe_modules/tryserver/test_api.py +0 -7
  278. data/vendor/depot_tools/third_party/gsutil/CHECKSUM +0 -1
  279. data/vendor/depot_tools/third_party/gsutil/COPYING +0 -202
  280. data/vendor/depot_tools/third_party/gsutil/LICENSE.third_party +0 -295
  281. data/vendor/depot_tools/third_party/gsutil/MANIFEST.in +0 -5
  282. data/vendor/depot_tools/third_party/gsutil/README +0 -38
  283. data/vendor/depot_tools/third_party/gsutil/README.chromium +0 -25
  284. data/vendor/depot_tools/third_party/gsutil/README.pkg +0 -49
  285. data/vendor/depot_tools/third_party/gsutil/ReleaseNotes.txt +0 -825
  286. data/vendor/depot_tools/third_party/gsutil/VERSION +0 -1
  287. data/vendor/depot_tools/third_party/gsutil/gslib/README +0 -5
  288. data/vendor/depot_tools/third_party/gsutil/gslib/__init__.py +0 -22
  289. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/__init__.py +0 -15
  290. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/acls.py +0 -234
  291. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/anon.py +0 -57
  292. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/command_opts.py +0 -116
  293. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/dev.py +0 -139
  294. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/metadata.py +0 -186
  295. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/naming.py +0 -173
  296. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/prod.py +0 -160
  297. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/projects.py +0 -130
  298. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/subdirs.py +0 -110
  299. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/support.py +0 -86
  300. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/versioning.py +0 -242
  301. data/vendor/depot_tools/third_party/gsutil/gslib/addlhelp/wildcards.py +0 -170
  302. data/vendor/depot_tools/third_party/gsutil/gslib/bucket_listing_ref.py +0 -175
  303. data/vendor/depot_tools/third_party/gsutil/gslib/command.py +0 -725
  304. data/vendor/depot_tools/third_party/gsutil/gslib/command_runner.py +0 -102
  305. data/vendor/depot_tools/third_party/gsutil/gslib/commands/__init__.py +0 -15
  306. data/vendor/depot_tools/third_party/gsutil/gslib/commands/cat.py +0 -131
  307. data/vendor/depot_tools/third_party/gsutil/gslib/commands/chacl.py +0 -523
  308. data/vendor/depot_tools/third_party/gsutil/gslib/commands/config.py +0 -662
  309. data/vendor/depot_tools/third_party/gsutil/gslib/commands/cp.py +0 -1819
  310. data/vendor/depot_tools/third_party/gsutil/gslib/commands/disablelogging.py +0 -101
  311. data/vendor/depot_tools/third_party/gsutil/gslib/commands/enablelogging.py +0 -149
  312. data/vendor/depot_tools/third_party/gsutil/gslib/commands/getacl.py +0 -82
  313. data/vendor/depot_tools/third_party/gsutil/gslib/commands/getcors.py +0 -121
  314. data/vendor/depot_tools/third_party/gsutil/gslib/commands/getdefacl.py +0 -86
  315. data/vendor/depot_tools/third_party/gsutil/gslib/commands/getlogging.py +0 -137
  316. data/vendor/depot_tools/third_party/gsutil/gslib/commands/getversioning.py +0 -116
  317. data/vendor/depot_tools/third_party/gsutil/gslib/commands/getwebcfg.py +0 -122
  318. data/vendor/depot_tools/third_party/gsutil/gslib/commands/help.py +0 -218
  319. data/vendor/depot_tools/third_party/gsutil/gslib/commands/ls.py +0 -578
  320. data/vendor/depot_tools/third_party/gsutil/gslib/commands/mb.py +0 -172
  321. data/vendor/depot_tools/third_party/gsutil/gslib/commands/mv.py +0 -159
  322. data/vendor/depot_tools/third_party/gsutil/gslib/commands/perfdiag.py +0 -903
  323. data/vendor/depot_tools/third_party/gsutil/gslib/commands/rb.py +0 -113
  324. data/vendor/depot_tools/third_party/gsutil/gslib/commands/rm.py +0 -237
  325. data/vendor/depot_tools/third_party/gsutil/gslib/commands/setacl.py +0 -138
  326. data/vendor/depot_tools/third_party/gsutil/gslib/commands/setcors.py +0 -145
  327. data/vendor/depot_tools/third_party/gsutil/gslib/commands/setdefacl.py +0 -105
  328. data/vendor/depot_tools/third_party/gsutil/gslib/commands/setmeta.py +0 -420
  329. data/vendor/depot_tools/third_party/gsutil/gslib/commands/setversioning.py +0 -114
  330. data/vendor/depot_tools/third_party/gsutil/gslib/commands/setwebcfg.py +0 -190
  331. data/vendor/depot_tools/third_party/gsutil/gslib/commands/update.py +0 -305
  332. data/vendor/depot_tools/third_party/gsutil/gslib/commands/version.py +0 -150
  333. data/vendor/depot_tools/third_party/gsutil/gslib/exception.py +0 -76
  334. data/vendor/depot_tools/third_party/gsutil/gslib/help_provider.py +0 -81
  335. data/vendor/depot_tools/third_party/gsutil/gslib/name_expansion.py +0 -550
  336. data/vendor/depot_tools/third_party/gsutil/gslib/no_op_auth_plugin.py +0 -30
  337. data/vendor/depot_tools/third_party/gsutil/gslib/plurality_checkable_iterator.py +0 -56
  338. data/vendor/depot_tools/third_party/gsutil/gslib/project_id.py +0 -67
  339. data/vendor/depot_tools/third_party/gsutil/gslib/storage_uri_builder.py +0 -56
  340. data/vendor/depot_tools/third_party/gsutil/gslib/thread_pool.py +0 -79
  341. data/vendor/depot_tools/third_party/gsutil/gslib/util.py +0 -167
  342. data/vendor/depot_tools/third_party/gsutil/gslib/wildcard_iterator.py +0 -498
  343. data/vendor/depot_tools/third_party/gsutil/gsutil +0 -384
  344. data/vendor/depot_tools/third_party/gsutil/gsutil.spec.in +0 -75
  345. data/vendor/depot_tools/third_party/gsutil/oauth2_plugin/__init__.py +0 -22
  346. data/vendor/depot_tools/third_party/gsutil/oauth2_plugin/oauth2_client.py +0 -630
  347. data/vendor/depot_tools/third_party/gsutil/oauth2_plugin/oauth2_client_test.py +0 -374
  348. data/vendor/depot_tools/third_party/gsutil/oauth2_plugin/oauth2_helper.py +0 -103
  349. data/vendor/depot_tools/third_party/gsutil/oauth2_plugin/oauth2_plugin.py +0 -24
  350. data/vendor/depot_tools/third_party/gsutil/pkg_util.py +0 -60
  351. data/vendor/depot_tools/third_party/gsutil/plugins/__init__.py +0 -0
  352. data/vendor/depot_tools/third_party/gsutil/plugins/sso_auth.py +0 -105
@@ -87,13 +87,13 @@
87
87
  "RECIPE_PACKAGE_REPO[depot_tools]/gclient.py",
88
88
  "config",
89
89
  "--spec",
90
- "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'WebKit', 'safesync_url': 'https://blink-status.appspot.com/lkgr', 'url': 'svn://svn.chromium.org/blink/trunk'}]"
90
+ "cache_dir = '[CACHE]/git'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'Angle', 'url': 'https://chromium.googlesource.com/angle/angle.git'}]"
91
91
  ],
92
- "cwd": "[SLAVE_BUILD]/src/third_party",
92
+ "cwd": "[START_DIR]/src/third_party",
93
93
  "env": {
94
94
  "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
95
95
  },
96
- "name": "[spec: WebKit] gclient setup"
96
+ "name": "[spec: Angle] gclient setup"
97
97
  },
98
98
  {
99
99
  "cmd": [
@@ -111,20 +111,22 @@
111
111
  "--no-nag-max",
112
112
  "--delete_unversioned_trees",
113
113
  "--revision",
114
- "third_party/WebKit@123",
114
+ "Angle@HEAD",
115
+ "--revision",
116
+ "src/third_party/angle@refs/heads/lkgr",
115
117
  "--output-json",
116
118
  "/path/to/tmp/json"
117
119
  ],
118
- "cwd": "[SLAVE_BUILD]/src/third_party",
120
+ "cwd": "[START_DIR]/src/third_party",
119
121
  "env": {
120
122
  "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
121
123
  },
122
- "name": "[spec: WebKit] gclient sync",
124
+ "name": "[spec: Angle] gclient sync",
123
125
  "~followup_annotations": [
124
126
  "@@@STEP_LOG_LINE@json.output@{@@@",
125
127
  "@@@STEP_LOG_LINE@json.output@ \"solutions\": {@@@",
126
- "@@@STEP_LOG_LINE@json.output@ \"WebKit/\": {@@@",
127
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"3eebce6ea96f9e6c03e9252a4f8ef2ea9fe141c2\"@@@",
128
+ "@@@STEP_LOG_LINE@json.output@ \"Angle/\": {@@@",
129
+ "@@@STEP_LOG_LINE@json.output@ \"revision\": \"1fd70473fb3de634b409d4acaf49ffc1f90aae1f\"@@@",
128
130
  "@@@STEP_LOG_LINE@json.output@ }, @@@",
129
131
  "@@@STEP_LOG_LINE@json.output@ \"src/blatley/\": {@@@",
130
132
  "@@@STEP_LOG_LINE@json.output@ \"revision\": \"5e800497199d615131a76cd10651e74d7c8a0962\"@@@",
@@ -146,11 +148,11 @@
146
148
  "user.name",
147
149
  "local_bot"
148
150
  ],
149
- "cwd": "[SLAVE_BUILD]/src/third_party",
151
+ "cwd": "[START_DIR]/src/third_party",
150
152
  "env": {
151
153
  "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
152
154
  },
153
- "name": "[spec: WebKit] gclient recurse (git config user.name)"
155
+ "name": "[spec: Angle] gclient recurse (git config user.name)"
154
156
  },
155
157
  {
156
158
  "cmd": [
@@ -163,18 +165,18 @@
163
165
  "user.email",
164
166
  "local_bot@example.com"
165
167
  ],
166
- "cwd": "[SLAVE_BUILD]/src/third_party",
168
+ "cwd": "[START_DIR]/src/third_party",
167
169
  "env": {
168
170
  "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
169
171
  },
170
- "name": "[spec: WebKit] gclient recurse (git config user.email)"
172
+ "name": "[spec: Angle] gclient recurse (git config user.email)"
171
173
  },
172
174
  {
173
175
  "cmd": [
174
176
  "python",
175
177
  "-u",
176
178
  "\nimport os, sys\n\nbuild_path = sys.argv[1]\nif os.path.exists(build_path):\n for (path, dir, files) in os.walk(build_path):\n for cur_file in files:\n if cur_file.endswith('index.lock'):\n path_to_file = os.path.join(path, cur_file)\n print 'deleting %s' % path_to_file\n os.remove(path_to_file)\n",
177
- "[SLAVE_BUILD]"
179
+ "[START_DIR]"
178
180
  ],
179
181
  "name": "cleanup index.lock",
180
182
  "~followup_annotations": [
@@ -199,7 +201,7 @@
199
201
  "RECIPE_PACKAGE_REPO[depot_tools]/gclient.py",
200
202
  "runhooks"
201
203
  ],
202
- "cwd": "[SLAVE_BUILD]/src",
204
+ "cwd": "[START_DIR]/src",
203
205
  "env": {
204
206
  "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
205
207
  },
@@ -6,6 +6,7 @@ DEPS = [
6
6
  'gclient',
7
7
  'recipe_engine/path',
8
8
  'recipe_engine/properties',
9
+ 'recipe_engine/step',
9
10
  ]
10
11
 
11
12
 
@@ -42,6 +43,7 @@ TEST_CONFIGS = [
42
43
  'master_deps',
43
44
  'mojo',
44
45
  'nacl',
46
+ 'ndk_next',
45
47
  'pdfium',
46
48
  'perf',
47
49
  'recipes_py',
@@ -70,21 +72,19 @@ def RunSteps(api):
70
72
  api.gclient.c = src_cfg
71
73
  api.gclient.checkout()
72
74
 
73
- api.gclient.spec_alias = 'WebKit'
75
+ api.gclient.spec_alias = 'Angle'
74
76
  bl_cfg = api.gclient.make_config()
75
77
  soln = bl_cfg.solutions.add()
76
- soln.name = 'WebKit'
77
- soln.url = 'svn://svn.chromium.org/blink/trunk'
78
- bl_cfg.revisions['third_party/WebKit'] = '123'
79
-
80
- # Use safesync url for lkgr.
81
- soln.safesync_url = 'https://blink-status.appspot.com/lkgr'
78
+ soln.name = 'Angle'
79
+ soln.url = 'https://chromium.googlesource.com/angle/angle.git'
80
+ bl_cfg.revisions['src/third_party/angle'] = 'refs/heads/lkgr'
82
81
 
83
82
  bl_cfg.got_revision_mapping['src/blatley'] = 'got_blatley_revision'
84
- api.gclient.checkout(
85
- gclient_config=bl_cfg,
86
- with_branch_heads=True,
87
- cwd=api.path['slave_build'].join('src', 'third_party'))
83
+ with api.step.context({
84
+ 'cwd': api.path['start_dir'].join('src', 'third_party')}):
85
+ api.gclient.checkout(
86
+ gclient_config=bl_cfg,
87
+ with_branch_heads=True)
88
88
 
89
89
  api.gclient.break_locks()
90
90
 
@@ -98,6 +98,8 @@ def RunSteps(api):
98
98
  def GenTests(api):
99
99
  yield api.test('basic')
100
100
 
101
+ yield api.test('buildbot') + api.properties(path_config='buildbot')
102
+
101
103
  yield api.test('revision') + api.properties(revision='abc')
102
104
 
103
105
  yield api.test('tryserver') + api.properties.tryserver()
@@ -0,0 +1,6 @@
1
+ DEPS = [
2
+ 'recipe_engine/json',
3
+ 'recipe_engine/path',
4
+ 'recipe_engine/python',
5
+ 'recipe_engine/raw_io',
6
+ ]
@@ -0,0 +1,63 @@
1
+ # Copyright 2013 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 recipe_api
6
+
7
+ class GerritApi(recipe_api.RecipeApi):
8
+ """Module for interact with gerrit endpoints"""
9
+
10
+ def __call__(self, name, cmd, infra_step=True, **kwargs):
11
+ """Wrapper for easy calling of gerrit_utils steps."""
12
+ assert isinstance(cmd, (list, tuple))
13
+ prefix = 'gerrit '
14
+
15
+ kwargs.setdefault('env', {})
16
+ kwargs['env'].setdefault('PATH', '%(PATH)s')
17
+ kwargs['env']['PATH'] = self.m.path.pathsep.join([
18
+ kwargs['env']['PATH'], str(self._module.PACKAGE_REPO_ROOT)])
19
+
20
+ return self.m.python(prefix + name,
21
+ self.package_repo_resource('gerrit_client.py'),
22
+ cmd,
23
+ infra_step=infra_step,
24
+ **kwargs)
25
+
26
+ def create_gerrit_branch(self, host, project, branch, commit, **kwargs):
27
+ """
28
+ Create a new branch from given project and commit
29
+
30
+ Returns:
31
+ the ref of the branch created
32
+ """
33
+ args = [
34
+ 'branch',
35
+ '--host', host,
36
+ '--project', project,
37
+ '--branch', branch,
38
+ '--commit', commit,
39
+ '--json_file', self.m.json.output()
40
+ ]
41
+ step_name = 'create_gerrit_branch'
42
+ step_result = self(step_name, args, **kwargs)
43
+ ref = step_result.json.output.get('ref')
44
+ return ref
45
+
46
+ def get_gerrit_branch(self, host, project, branch, **kwargs):
47
+ """
48
+ Get a branch from given project and commit
49
+
50
+ Returns:
51
+ the revision of the branch
52
+ """
53
+ args = [
54
+ 'branchinfo',
55
+ '--host', host,
56
+ '--project', project,
57
+ '--branch', branch,
58
+ '--json_file', self.m.json.output()
59
+ ]
60
+ step_name='get_gerrit_branch'
61
+ step_result = self(step_name, args, **kwargs)
62
+ revision = step_result.json.output.get('revision')
63
+ return revision
@@ -0,0 +1,64 @@
1
+ [
2
+ {
3
+ "cmd": [
4
+ "python",
5
+ "-u",
6
+ "RECIPE_PACKAGE_REPO[depot_tools]/gerrit_client.py",
7
+ "branch",
8
+ "--host",
9
+ "https://chromium-review.googlesource.com/a",
10
+ "--project",
11
+ "v8/v8",
12
+ "--branch",
13
+ "test",
14
+ "--commit",
15
+ "67ebf73496383c6777035e374d2d664009e2aa5c",
16
+ "--json_file",
17
+ "/path/to/tmp/json"
18
+ ],
19
+ "env": {
20
+ "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
21
+ },
22
+ "name": "gerrit create_gerrit_branch",
23
+ "~followup_annotations": [
24
+ "@@@STEP_LOG_LINE@json.output@{@@@",
25
+ "@@@STEP_LOG_LINE@json.output@ \"can_delete\": true, @@@",
26
+ "@@@STEP_LOG_LINE@json.output@ \"ref\": \"refs/heads/test\", @@@",
27
+ "@@@STEP_LOG_LINE@json.output@ \"revision\": \"76016386a0d8ecc7b6be212424978bb45959d668\"@@@",
28
+ "@@@STEP_LOG_LINE@json.output@}@@@",
29
+ "@@@STEP_LOG_END@json.output@@@"
30
+ ]
31
+ },
32
+ {
33
+ "cmd": [
34
+ "python",
35
+ "-u",
36
+ "RECIPE_PACKAGE_REPO[depot_tools]/gerrit_client.py",
37
+ "branchinfo",
38
+ "--host",
39
+ "https://chromium-review.googlesource.com/a",
40
+ "--project",
41
+ "v8/v8",
42
+ "--branch",
43
+ "master",
44
+ "--json_file",
45
+ "/path/to/tmp/json"
46
+ ],
47
+ "env": {
48
+ "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
49
+ },
50
+ "name": "gerrit get_gerrit_branch",
51
+ "~followup_annotations": [
52
+ "@@@STEP_LOG_LINE@json.output@{@@@",
53
+ "@@@STEP_LOG_LINE@json.output@ \"ref\": \"refs/heads/master\", @@@",
54
+ "@@@STEP_LOG_LINE@json.output@ \"revision\": \"67ebf73496383c6777035e374d2d664009e2aa5c\"@@@",
55
+ "@@@STEP_LOG_LINE@json.output@}@@@",
56
+ "@@@STEP_LOG_END@json.output@@@"
57
+ ]
58
+ },
59
+ {
60
+ "name": "$result",
61
+ "recipe_result": null,
62
+ "status_code": 0
63
+ }
64
+ ]
@@ -0,0 +1,35 @@
1
+ # Copyright 2014 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
+ DEPS = [
6
+ 'gerrit'
7
+ ]
8
+
9
+
10
+ def RunSteps(api):
11
+ host = 'https://chromium-review.googlesource.com/a'
12
+ project = 'v8/v8'
13
+
14
+ branch = 'test'
15
+ commit = '67ebf73496383c6777035e374d2d664009e2aa5c'
16
+
17
+ data = api.gerrit.create_gerrit_branch(host, project, branch, commit)
18
+ assert data == 'refs/heads/test'
19
+
20
+ data = api.gerrit.get_gerrit_branch(host, project, 'master')
21
+ assert data == '67ebf73496383c6777035e374d2d664009e2aa5c'
22
+
23
+
24
+ def GenTests(api):
25
+ yield (
26
+ api.test('basic')
27
+ + api.step_data(
28
+ 'gerrit create_gerrit_branch',
29
+ api.gerrit.make_gerrit_create_branch_response_data()
30
+ )
31
+ + api.step_data(
32
+ 'gerrit get_gerrit_branch',
33
+ api.gerrit.make_gerrit_get_branch_response_data()
34
+ )
35
+ )
@@ -0,0 +1,24 @@
1
+ # Copyright 2014 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 recipe_test_api
6
+
7
+
8
+ class GerritTestApi(recipe_test_api.RecipeTestApi):
9
+
10
+ def _make_gerrit_response_json(self, data):
11
+ return self.m.json.output(data)
12
+
13
+ def make_gerrit_create_branch_response_data(self):
14
+ return self._make_gerrit_response_json({
15
+ "ref": "refs/heads/test",
16
+ "revision": "76016386a0d8ecc7b6be212424978bb45959d668",
17
+ "can_delete": True
18
+ })
19
+
20
+ def make_gerrit_get_branch_response_data(self):
21
+ return self._make_gerrit_response_json({
22
+ "ref": "refs/heads/master",
23
+ "revision": "67ebf73496383c6777035e374d2d664009e2aa5c"
24
+ })
@@ -7,3 +7,7 @@ DEPS = [
7
7
  'recipe_engine/raw_io',
8
8
  'recipe_engine/step',
9
9
  ]
10
+
11
+
12
+ # TODO(phajdan.jr): provide coverage (http://crbug.com/693058).
13
+ DISABLE_STRICT_COVERAGE = True
@@ -18,8 +18,6 @@ class GitApi(recipe_api.RecipeApi):
18
18
  """Return a git command step."""
19
19
  name = kwargs.pop('name', 'git ' + args[0])
20
20
  infra_step = kwargs.pop('infra_step', True)
21
- if 'cwd' not in kwargs:
22
- kwargs.setdefault('cwd', self.m.path['checkout'])
23
21
  git_cmd = ['git']
24
22
  if self.m.platform.is_win:
25
23
  self.ensure_win_git_tooling()
@@ -29,8 +27,12 @@ class GitApi(recipe_api.RecipeApi):
29
27
  git_cmd.extend(['-c', '%s=%s' % (k, v)])
30
28
  can_fail_build = kwargs.pop('can_fail_build', True)
31
29
  try:
32
- return self.m.step(name, git_cmd + list(args), infra_step=infra_step,
33
- **kwargs)
30
+ context = {}
31
+ if not self.m.step.get_from_context('cwd') and self.m.path['checkout']:
32
+ context['cwd'] = self.m.path['checkout']
33
+ with self.m.step.context(context):
34
+ return self.m.step(name, git_cmd + list(args), infra_step=infra_step,
35
+ **kwargs)
34
36
  except self.m.step.StepFailure as f:
35
37
  if can_fail_build:
36
38
  raise
@@ -41,13 +43,13 @@ class GitApi(recipe_api.RecipeApi):
41
43
  """Ensures that depot_tools/git.bat actually exists."""
42
44
  if not self.m.platform.is_win or self.initialized_win_git:
43
45
  return
44
- self.m.python(
45
- 'ensure git tooling on windows',
46
- self.package_repo_resource('bootstrap', 'win', 'git_bootstrap.py'),
47
- ['--verbose'],
48
- infra_step=True,
49
- cwd=self.package_repo_resource(),
50
- timeout=300)
46
+ with self.m.step.context({'cwd': self.package_repo_resource()}):
47
+ self.m.python(
48
+ 'ensure git tooling on windows',
49
+ self.package_repo_resource('bootstrap', 'win', 'git_bootstrap.py'),
50
+ ['--verbose'],
51
+ infra_step=True,
52
+ timeout=300)
51
53
  self.initialized_win_git = True
52
54
 
53
55
  def fetch_tags(self, remote_name=None, **kwargs):
@@ -186,7 +188,7 @@ class GitApi(recipe_api.RecipeApi):
186
188
  # ex: ssh://host:repo/foobar/.git
187
189
  dir_path = dir_path or dir_path.rsplit('/', 1)[-1]
188
190
 
189
- dir_path = self.m.path['slave_build'].join(dir_path)
191
+ dir_path = self.m.path['start_dir'].join(dir_path)
190
192
 
191
193
  if 'checkout' not in self.m.path:
192
194
  self.m.path['checkout'] = dir_path
@@ -213,133 +215,124 @@ class GitApi(recipe_api.RecipeApi):
213
215
  path = self.m.path.pathsep.join([
214
216
  str(self.package_repo_resource()), '%(PATH)s'])
215
217
 
216
- if use_git_cache:
217
- with self.m.step.context({'env': {'PATH': path}}):
218
- self('retry', 'cache', 'populate', '-c', self.m.path['git_cache'], url,
219
- name='populate cache',
220
- can_fail_build=can_fail_build,
221
- cwd=dir_path)
222
- dir_cmd = self(
223
- 'cache', 'exists', '--quiet',
224
- '--cache-dir', self.m.path['git_cache'], url,
225
- can_fail_build=can_fail_build,
226
- stdout=self.m.raw_io.output(),
227
- step_test_data=lambda:
228
- self.m.raw_io.test_api.stream_output('mirror_dir'),
229
- cwd=dir_path)
230
- mirror_dir = dir_cmd.stdout.strip()
231
- self('remote', 'set-url', 'origin', mirror_dir,
232
- can_fail_build=can_fail_build,
233
- cwd=dir_path)
234
-
235
- # There are five kinds of refs we can be handed:
236
- # 0) None. In this case, we default to properties['branch'].
237
- # 1) A 40-character SHA1 hash.
238
- # 2) A fully-qualifed arbitrary ref, e.g. 'refs/foo/bar/baz'.
239
- # 3) A fully qualified branch name, e.g. 'refs/heads/master'.
240
- # Chop off 'refs/heads' and now it matches case (4).
241
- # 4) A branch name, e.g. 'master'.
242
- # Note that 'FETCH_HEAD' can be many things (and therefore not a valid
243
- # checkout target) if many refs are fetched, but we only explicitly fetch
244
- # one ref here, so this is safe.
245
- fetch_args = []
246
- if not ref: # Case 0
247
- fetch_remote = remote_name
248
- fetch_ref = self.m.properties.get('branch') or 'master'
249
- checkout_ref = 'FETCH_HEAD'
250
- elif self._GIT_HASH_RE.match(ref): # Case 1.
251
- fetch_remote = remote_name
252
- fetch_ref = ''
253
- checkout_ref = ref
254
- elif ref.startswith('refs/heads/'): # Case 3.
255
- fetch_remote = remote_name
256
- fetch_ref = ref[len('refs/heads/'):]
257
- checkout_ref = 'FETCH_HEAD'
258
- else: # Cases 2 and 4.
259
- fetch_remote = remote_name
260
- fetch_ref = ref
261
- checkout_ref = 'FETCH_HEAD'
262
-
263
- fetch_args = [x for x in (fetch_remote, fetch_ref) if x]
264
- if recursive:
265
- fetch_args.append('--recurse-submodules')
266
-
267
- fetch_env = {'PATH': path}
268
- fetch_stderr = None
269
- if curl_trace_file:
270
- fetch_env['GIT_CURL_VERBOSE'] = '1'
271
- fetch_stderr = self.m.raw_io.output(leak_to=curl_trace_file)
272
-
273
- fetch_step_name = 'git fetch%s' % step_suffix
274
- if display_fetch_size:
275
- count_objects_before_fetch = self.count_objects(
276
- name='count-objects before %s' % fetch_step_name,
277
- cwd=dir_path,
278
- step_test_data=lambda: self.m.raw_io.test_api.stream_output(
279
- self.test_api.count_objects_output(1000)))
280
- self('retry', 'fetch', *fetch_args,
281
- cwd=dir_path,
282
- name=fetch_step_name,
283
- env=fetch_env,
284
- stderr=fetch_stderr,
285
- can_fail_build=can_fail_build)
286
- if display_fetch_size:
287
- self.count_objects(
288
- name='count-objects after %s' % fetch_step_name,
289
- cwd=dir_path,
290
- previous_result=count_objects_before_fetch,
291
- step_test_data=lambda: self.m.raw_io.test_api.stream_output(
292
- self.test_api.count_objects_output(2000)))
293
-
294
- if file_name:
295
- self('checkout', '-f', checkout_ref, '--', file_name,
296
- cwd=dir_path,
297
- name='git checkout%s' % step_suffix,
218
+ with self.m.step.context({'cwd': dir_path}):
219
+ if use_git_cache:
220
+ with self.m.step.context({'env': {'PATH': path}}):
221
+ self('retry', 'cache', 'populate', '-c',
222
+ self.m.infra_paths.default_git_cache_dir, url,
223
+
224
+ name='populate cache',
225
+ can_fail_build=can_fail_build)
226
+ dir_cmd = self(
227
+ 'cache', 'exists', '--quiet',
228
+ '--cache-dir', self.m.infra_paths.default_git_cache_dir, url,
229
+ can_fail_build=can_fail_build,
230
+ stdout=self.m.raw_io.output(),
231
+ step_test_data=lambda:
232
+ self.m.raw_io.test_api.stream_output('mirror_dir'))
233
+ mirror_dir = dir_cmd.stdout.strip()
234
+ self('remote', 'set-url', 'origin', mirror_dir,
235
+ can_fail_build=can_fail_build)
236
+
237
+ # There are five kinds of refs we can be handed:
238
+ # 0) None. In this case, we default to properties['branch'].
239
+ # 1) A 40-character SHA1 hash.
240
+ # 2) A fully-qualifed arbitrary ref, e.g. 'refs/foo/bar/baz'.
241
+ # 3) A fully qualified branch name, e.g. 'refs/heads/master'.
242
+ # Chop off 'refs/heads' and now it matches case (4).
243
+ # 4) A branch name, e.g. 'master'.
244
+ # Note that 'FETCH_HEAD' can be many things (and therefore not a valid
245
+ # checkout target) if many refs are fetched, but we only explicitly fetch
246
+ # one ref here, so this is safe.
247
+ fetch_args = []
248
+ if not ref: # Case 0
249
+ fetch_remote = remote_name
250
+ fetch_ref = self.m.properties.get('branch') or 'master'
251
+ checkout_ref = 'FETCH_HEAD'
252
+ elif self._GIT_HASH_RE.match(ref): # Case 1.
253
+ fetch_remote = remote_name
254
+ fetch_ref = ''
255
+ checkout_ref = ref
256
+ elif ref.startswith('refs/heads/'): # Case 3.
257
+ fetch_remote = remote_name
258
+ fetch_ref = ref[len('refs/heads/'):]
259
+ checkout_ref = 'FETCH_HEAD'
260
+ else: # Cases 2 and 4.
261
+ fetch_remote = remote_name
262
+ fetch_ref = ref
263
+ checkout_ref = 'FETCH_HEAD'
264
+
265
+ fetch_args = [x for x in (fetch_remote, fetch_ref) if x]
266
+ if recursive:
267
+ fetch_args.append('--recurse-submodules')
268
+
269
+ fetch_env = {'PATH': path}
270
+ fetch_stderr = None
271
+ if curl_trace_file:
272
+ fetch_env['GIT_CURL_VERBOSE'] = '1'
273
+ fetch_stderr = self.m.raw_io.output(leak_to=curl_trace_file)
274
+
275
+ fetch_step_name = 'git fetch%s' % step_suffix
276
+ if display_fetch_size:
277
+ count_objects_before_fetch = self.count_objects(
278
+ name='count-objects before %s' % fetch_step_name,
279
+ step_test_data=lambda: self.m.raw_io.test_api.stream_output(
280
+ self.test_api.count_objects_output(1000)))
281
+ self('retry', 'fetch', *fetch_args,
282
+ name=fetch_step_name,
283
+ env=fetch_env,
284
+ stderr=fetch_stderr,
298
285
  can_fail_build=can_fail_build)
286
+ if display_fetch_size:
287
+ self.count_objects(
288
+ name='count-objects after %s' % fetch_step_name,
289
+ previous_result=count_objects_before_fetch,
290
+ step_test_data=lambda: self.m.raw_io.test_api.stream_output(
291
+ self.test_api.count_objects_output(2000)))
292
+
293
+ if file_name:
294
+ self('checkout', '-f', checkout_ref, '--', file_name,
295
+ name='git checkout%s' % step_suffix,
296
+ can_fail_build=can_fail_build)
299
297
 
300
- else:
301
- self('checkout', '-f', checkout_ref,
302
- cwd=dir_path,
303
- name='git checkout%s' % step_suffix,
298
+ else:
299
+ self('checkout', '-f', checkout_ref,
300
+ name='git checkout%s' % step_suffix,
301
+ can_fail_build=can_fail_build)
302
+
303
+ rev_parse_step = self('rev-parse', 'HEAD',
304
+ name='read revision',
305
+ stdout=self.m.raw_io.output(),
306
+ can_fail_build=False,
307
+ step_test_data=lambda:
308
+ self.m.raw_io.test_api.stream_output('deadbeef'))
309
+
310
+ if rev_parse_step.presentation.status == 'SUCCESS':
311
+ sha = rev_parse_step.stdout.strip()
312
+ retVal = sha
313
+ rev_parse_step.presentation.step_text = "<br/>checked out %r<br/>" % sha
314
+ if set_got_revision:
315
+ rev_parse_step.presentation.properties['got_revision'] = sha
316
+
317
+ clean_args = list(itertools.chain(
318
+ *[('-e', path) for path in keep_paths or []]))
319
+
320
+ self('clean', '-f', '-d', '-x', *clean_args,
321
+ name='git clean%s' % step_suffix,
304
322
  can_fail_build=can_fail_build)
305
323
 
306
- rev_parse_step = self('rev-parse', 'HEAD',
307
- cwd=dir_path,
308
- name='read revision',
309
- stdout=self.m.raw_io.output(),
310
- can_fail_build=False,
311
- step_test_data=lambda:
312
- self.m.raw_io.test_api.stream_output('deadbeef'))
313
-
314
- if rev_parse_step.presentation.status == 'SUCCESS':
315
- sha = rev_parse_step.stdout.strip()
316
- retVal = sha
317
- rev_parse_step.presentation.step_text = "<br/>checked out %r<br/>" % sha
318
- if set_got_revision:
319
- rev_parse_step.presentation.properties['got_revision'] = sha
320
-
321
- clean_args = list(itertools.chain(
322
- *[('-e', path) for path in keep_paths or []]))
323
-
324
- self('clean', '-f', '-d', '-x', *clean_args,
325
- name='git clean%s' % step_suffix,
326
- cwd=dir_path,
327
- can_fail_build=can_fail_build)
328
-
329
- if submodules:
330
- self('submodule', 'sync',
331
- name='submodule sync%s' % step_suffix,
332
- cwd=dir_path,
333
- can_fail_build=can_fail_build)
334
- submodule_update = ['submodule', 'update', '--init']
335
- if submodule_update_recursive:
336
- submodule_update.append('--recursive')
337
- if submodule_update_force:
338
- submodule_update.append('--force')
339
- self(*submodule_update,
340
- name='submodule update%s' % step_suffix,
341
- cwd=dir_path,
342
- can_fail_build=can_fail_build)
324
+ if submodules:
325
+ self('submodule', 'sync',
326
+ name='submodule sync%s' % step_suffix,
327
+ can_fail_build=can_fail_build)
328
+ submodule_update = ['submodule', 'update', '--init']
329
+ if submodule_update_recursive:
330
+ submodule_update.append('--recursive')
331
+ if submodule_update_force:
332
+ submodule_update.append('--force')
333
+ self(*submodule_update,
334
+ name='submodule update%s' % step_suffix,
335
+ can_fail_build=can_fail_build)
343
336
 
344
337
  return retVal
345
338
 
@@ -362,13 +355,14 @@ class GitApi(recipe_api.RecipeApi):
362
355
  remote_name (str): the remote name to rebase from if not origin
363
356
  """
364
357
  remote_name = remote_name or 'origin'
365
- try:
366
- self('rebase', '%s/master' % remote_name,
367
- name="%s rebase" % name_prefix, cwd=dir_path, **kwargs)
368
- except self.m.step.StepFailure:
369
- self('rebase', '--abort', name='%s rebase abort' % name_prefix,
370
- cwd=dir_path, **kwargs)
371
- raise
358
+ with self.m.step.context({'cwd': dir_path}):
359
+ try:
360
+ self('rebase', '%s/master' % remote_name,
361
+ name="%s rebase" % name_prefix, **kwargs)
362
+ except self.m.step.StepFailure:
363
+ self('rebase', '--abort', name='%s rebase abort' % name_prefix,
364
+ **kwargs)
365
+ raise
372
366
 
373
367
  def config_get(self, prop_name, **kwargs):
374
368
  """Returns: (str) The Git config output, or None if no output was generated.
@@ -409,3 +403,22 @@ class GitApi(recipe_api.RecipeApi):
409
403
  if not rev_list_args:
410
404
  rev_list_args = ['--all']
411
405
  self('bundle', 'create', bundle_path, *rev_list_args, **kwargs)
406
+
407
+ def new_branch(self, branch, name=None, upstream=None, **kwargs):
408
+ """Runs git new-branch on a Git repository, to be used before git cl upload.
409
+
410
+ Args:
411
+ branch (str): new branch name, which must not yet exist.
412
+ name (str): step name.
413
+ upstream (str): to origin/master.
414
+ kwargs: Forwarded to '__call__'.
415
+ """
416
+ env = kwargs.pop('env', {})
417
+ env['PATH'] = self.m.path.pathsep.join([
418
+ str(self.package_repo_resource()), '%(PATH)s'])
419
+ args = ['new-branch', branch]
420
+ if upstream:
421
+ args.extend(['--upstream', upstream])
422
+ if not name:
423
+ name = 'git new-branch %s' % branch
424
+ return self(*args, name=name, env=env, **kwargs)