libv8 4.5.95.5 → 5.0.71.48.0beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (332) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +45 -19
  3. data/CHANGELOG.md +14 -0
  4. data/README.md +30 -15
  5. data/Rakefile +7 -6
  6. data/ext/libv8/arch.rb +5 -4
  7. data/ext/libv8/builder.rb +25 -19
  8. data/ext/libv8/compiler.rb +6 -33
  9. data/ext/libv8/location.rb +7 -8
  10. data/lib/libv8/version.rb +1 -1
  11. data/libv8.gemspec +1 -1
  12. data/patches/build-standalone-static-library.patch +14 -0
  13. data/patches/disable-building-tests.patch +48 -10
  14. data/patches/fPIC-for-static.patch +3 -3
  15. data/release/x86-linux/Vagrantfile +8 -4
  16. data/release/x86_64-freebsd10/Vagrantfile +86 -0
  17. data/release/x86_64-linux/Vagrantfile +8 -4
  18. data/spec/compiler_spec.rb +5 -29
  19. data/spec/support/compiler_helpers.rb +2 -4
  20. data/vendor/depot_tools/.gitignore +15 -3
  21. data/vendor/depot_tools/OWNERS +2 -2
  22. data/vendor/depot_tools/PRESUBMIT.py +4 -2
  23. data/vendor/depot_tools/WATCHLISTS +6 -0
  24. data/vendor/depot_tools/apply_issue.py +70 -38
  25. data/vendor/depot_tools/bootstrap/win/README.md +66 -0
  26. data/vendor/depot_tools/bootstrap/win/git-bash.template.sh +12 -0
  27. data/vendor/depot_tools/bootstrap/win/git.template.bat +5 -0
  28. data/vendor/depot_tools/bootstrap/win/profile.d.python.sh +20 -0
  29. data/vendor/depot_tools/bootstrap/win/win_tools.bat +96 -45
  30. data/vendor/depot_tools/breakpad.py +6 -141
  31. data/vendor/depot_tools/buildbucket.py +45 -31
  32. data/vendor/depot_tools/cbuildbot +1 -0
  33. data/vendor/depot_tools/checkout.py +2 -1
  34. data/vendor/depot_tools/chrome_set_ver +1 -0
  35. data/vendor/depot_tools/cit +8 -0
  36. data/vendor/depot_tools/cit.bat +11 -0
  37. data/vendor/depot_tools/cit.py +120 -0
  38. data/vendor/depot_tools/codereview.settings +0 -2
  39. data/vendor/depot_tools/commit_queue +1 -5
  40. data/vendor/depot_tools/commit_queue.bat +1 -4
  41. data/vendor/depot_tools/commit_queue.py +78 -29
  42. data/vendor/depot_tools/cpplint.py +22 -14
  43. data/vendor/depot_tools/cros +1 -0
  44. data/vendor/depot_tools/cros_sdk +1 -0
  45. data/vendor/depot_tools/depot-tools-auth.py +3 -3
  46. data/vendor/depot_tools/download_from_google_storage.py +101 -21
  47. data/vendor/depot_tools/drover.py +2 -3
  48. data/vendor/depot_tools/fetch.py +31 -27
  49. data/vendor/depot_tools/{recipes → fetch_configs}/android.py +4 -4
  50. data/vendor/depot_tools/fetch_configs/breakpad.py +45 -0
  51. data/vendor/depot_tools/{recipes → fetch_configs}/chromium.py +3 -3
  52. data/vendor/depot_tools/{recipes/recipe_util.py → fetch_configs/config_util.py} +3 -3
  53. data/vendor/depot_tools/fetch_configs/crashpad.py +41 -0
  54. data/vendor/depot_tools/{recipes → fetch_configs}/dart.py +3 -3
  55. data/vendor/depot_tools/{recipes/pdfium.py → fetch_configs/dartino.py} +14 -13
  56. data/vendor/depot_tools/{recipes → fetch_configs}/dartium.py +3 -3
  57. data/vendor/depot_tools/{recipes → fetch_configs}/depot_tools.py +3 -3
  58. data/vendor/depot_tools/fetch_configs/gyp.py +42 -0
  59. data/vendor/depot_tools/{recipes → fetch_configs}/infra.py +3 -3
  60. data/vendor/depot_tools/{recipes → fetch_configs}/infra_internal.py +3 -3
  61. data/vendor/depot_tools/{recipes → fetch_configs}/ios.py +4 -4
  62. data/vendor/depot_tools/{recipes → fetch_configs}/mojo.py +3 -3
  63. data/vendor/depot_tools/{recipes → fetch_configs}/nacl.py +3 -3
  64. data/vendor/depot_tools/{recipes → fetch_configs}/naclports.py +3 -3
  65. data/vendor/depot_tools/fetch_configs/pdfium.py +40 -0
  66. data/vendor/depot_tools/{recipes → fetch_configs}/skia.py +3 -3
  67. data/vendor/depot_tools/{recipes → fetch_configs}/skia_buildbot.py +3 -3
  68. data/vendor/depot_tools/fetch_configs/syzygy.py +41 -0
  69. data/vendor/depot_tools/{recipes → fetch_configs}/v8.py +3 -3
  70. data/vendor/depot_tools/{recipes → fetch_configs}/webrtc.py +3 -3
  71. data/vendor/depot_tools/{recipes → fetch_configs}/webrtc_android.py +4 -4
  72. data/vendor/depot_tools/{recipes → fetch_configs}/webrtc_ios.py +4 -4
  73. data/vendor/depot_tools/fix_encoding.py +6 -6
  74. data/vendor/depot_tools/gcl.py +11 -21
  75. data/vendor/depot_tools/gclient +10 -0
  76. data/vendor/depot_tools/gclient-new-workdir.py +7 -38
  77. data/vendor/depot_tools/gclient.bat +2 -2
  78. data/vendor/depot_tools/gclient.py +85 -65
  79. data/vendor/depot_tools/gclient_scm.py +83 -10
  80. data/vendor/depot_tools/gclient_utils.py +5 -1
  81. data/vendor/depot_tools/gerrit_util.py +243 -26
  82. data/vendor/depot_tools/git-auto-svn +1 -1
  83. data/vendor/depot_tools/git-cache +1 -1
  84. data/vendor/depot_tools/git-cherry-pick-upload +1 -1
  85. data/vendor/depot_tools/git-cl +1 -1
  86. data/vendor/depot_tools/git-drover +6 -0
  87. data/vendor/depot_tools/git-find-releases +6 -0
  88. data/vendor/depot_tools/git-footers +1 -1
  89. data/vendor/depot_tools/git-freeze +1 -1
  90. data/vendor/depot_tools/git-gs +1 -1
  91. data/vendor/depot_tools/git-hyper-blame +6 -0
  92. data/vendor/depot_tools/git-map +1 -1
  93. data/vendor/depot_tools/git-map-branches +1 -1
  94. data/vendor/depot_tools/git-mark-merge-base +1 -1
  95. data/vendor/depot_tools/git-nav-downstream +1 -1
  96. data/vendor/depot_tools/git-new-branch +1 -1
  97. data/vendor/depot_tools/git-number +1 -1
  98. data/vendor/depot_tools/git-rebase-update +1 -1
  99. data/vendor/depot_tools/git-rename-branch +1 -1
  100. data/vendor/depot_tools/git-reparent-branch +1 -1
  101. data/vendor/depot_tools/git-retry +1 -1
  102. data/vendor/depot_tools/git-squash-branch +1 -1
  103. data/vendor/depot_tools/git-thaw +1 -1
  104. data/vendor/depot_tools/git-try +1 -1
  105. data/vendor/depot_tools/git-upstream-diff +1 -1
  106. data/vendor/depot_tools/git_auto_svn.py +24 -6
  107. data/vendor/depot_tools/git_cache.py +74 -27
  108. data/vendor/depot_tools/git_cl.py +2118 -747
  109. data/vendor/depot_tools/git_common.py +100 -6
  110. data/vendor/depot_tools/git_dates.py +62 -0
  111. data/vendor/depot_tools/git_drover.py +424 -0
  112. data/vendor/depot_tools/git_find_releases.py +65 -0
  113. data/vendor/depot_tools/git_footers.py +42 -0
  114. data/vendor/depot_tools/git_hyper_blame.py +391 -0
  115. data/vendor/depot_tools/git_map_branches.py +8 -6
  116. data/vendor/depot_tools/git_new_branch.py +6 -1
  117. data/vendor/depot_tools/git_rebase_update.py +56 -16
  118. data/vendor/depot_tools/git_reparent_branch.py +13 -0
  119. data/vendor/depot_tools/git_try.py +0 -2
  120. data/vendor/depot_tools/gsutil.py +51 -20
  121. data/vendor/depot_tools/infra/config/OWNERS +3 -1
  122. data/vendor/depot_tools/infra/config/cq.cfg +7 -3
  123. data/vendor/depot_tools/infra/config/recipes.cfg +9 -0
  124. data/vendor/depot_tools/luci_hacks/README.md +35 -0
  125. data/vendor/depot_tools/{bootstrap/virtualenv/tests → luci_hacks}/__init__.py +0 -0
  126. data/vendor/depot_tools/luci_hacks/luci_recipe_run.isolate +12 -0
  127. data/vendor/depot_tools/luci_hacks/luci_recipe_run.py +81 -0
  128. data/vendor/depot_tools/luci_hacks/trigger_luci_job.py +128 -0
  129. data/vendor/depot_tools/man/html/depot_tools.html +9 -1
  130. data/vendor/depot_tools/man/html/depot_tools_tutorial.html +4 -4
  131. data/vendor/depot_tools/man/html/git-drover.html +191 -35
  132. data/vendor/depot_tools/man/html/git-hyper-blame.html +878 -0
  133. data/vendor/depot_tools/man/html/git-rebase-update.html +9 -4
  134. data/vendor/depot_tools/man/man1/git-drover.1 +189 -36
  135. data/vendor/depot_tools/man/man1/git-hyper-blame.1 +128 -0
  136. data/vendor/depot_tools/man/man1/git-rebase-update.1 +8 -6
  137. data/vendor/depot_tools/man/man7/depot_tools.7 +9 -4
  138. data/vendor/depot_tools/man/src/_git-hyper-blame_desc.helper.txt +1 -0
  139. data/vendor/depot_tools/man/src/common_demo_functions.sh +5 -0
  140. data/vendor/depot_tools/man/src/depot_tools_tutorial.txt +1 -1
  141. data/vendor/depot_tools/man/src/git-drover.demo.1.sh +11 -16
  142. data/vendor/depot_tools/man/src/git-drover.demo.3.sh +27 -0
  143. data/vendor/depot_tools/man/src/git-drover.demo.4.sh +39 -0
  144. data/vendor/depot_tools/man/src/git-drover.txt +49 -3
  145. data/vendor/depot_tools/man/src/git-hyper-blame.demo.1.sh +3 -0
  146. data/vendor/depot_tools/man/src/git-hyper-blame.demo.2.sh +4 -0
  147. data/vendor/depot_tools/man/src/git-hyper-blame.demo.common.sh +57 -0
  148. data/vendor/depot_tools/man/src/git-hyper-blame.txt +85 -0
  149. data/vendor/depot_tools/man/src/git-rebase-update.txt +5 -1
  150. data/vendor/depot_tools/my_activity.py +6 -21
  151. data/vendor/depot_tools/ninja +2 -2
  152. data/vendor/depot_tools/ninja-linux32 +0 -0
  153. data/vendor/depot_tools/ninja-linux64 +0 -0
  154. data/vendor/depot_tools/ninja-mac +0 -0
  155. data/vendor/depot_tools/ninja.exe +0 -0
  156. data/vendor/depot_tools/presubmit_canned_checks.py +83 -69
  157. data/vendor/depot_tools/presubmit_support.py +126 -42
  158. data/vendor/depot_tools/pylint.py +5 -1
  159. data/vendor/depot_tools/python_runner.sh +55 -0
  160. data/vendor/depot_tools/recipe_modules/bot_update/__init__.py +32 -0
  161. data/vendor/depot_tools/recipe_modules/bot_update/api.py +283 -0
  162. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/basic.json +56 -0
  163. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/basic_output_manifest.json +63 -0
  164. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/basic_with_branch_heads.json +57 -0
  165. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/clobber.json +44 -0
  166. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/forced.json +57 -0
  167. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/gerrit_no_reset.json +44 -0
  168. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/no_shallow.json +44 -0
  169. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/off.json +43 -0
  170. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/reset_root_solution_revision.json +43 -0
  171. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/svn_mode.json +59 -0
  172. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/trychange.json +58 -0
  173. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/trychange_oauth2.json +60 -0
  174. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob.json +58 -0
  175. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_fail.json +60 -0
  176. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_fail_patch.json +81 -0
  177. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_fail_patch_download.json +81 -0
  178. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_gerrit_angle.json +49 -0
  179. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_v8.json +61 -0
  180. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_v8_head_by_default.json +51 -0
  181. data/vendor/depot_tools/recipe_modules/bot_update/example.py +172 -0
  182. data/vendor/depot_tools/{bootstrap/virtualenv/virtualenv_support → recipe_modules/bot_update/resources}/__init__.py +0 -0
  183. data/vendor/depot_tools/recipe_modules/bot_update/resources/bot_update.py +1764 -0
  184. data/vendor/depot_tools/recipe_modules/bot_update/test_api.py +86 -0
  185. data/vendor/depot_tools/recipe_modules/depot_tools/__init__.py +3 -0
  186. data/vendor/depot_tools/recipe_modules/depot_tools/api.py +27 -0
  187. data/vendor/depot_tools/recipe_modules/gclient/__init__.py +10 -0
  188. data/vendor/depot_tools/recipe_modules/gclient/api.py +378 -0
  189. data/vendor/depot_tools/recipe_modules/gclient/config.py +671 -0
  190. data/vendor/depot_tools/recipe_modules/gclient/example.expected/basic.json +172 -0
  191. data/vendor/depot_tools/recipe_modules/gclient/example.expected/revision.json +174 -0
  192. data/vendor/depot_tools/recipe_modules/gclient/example.expected/tryserver.json +185 -0
  193. data/vendor/depot_tools/recipe_modules/gclient/example.py +100 -0
  194. data/vendor/depot_tools/recipe_modules/gclient/test_api.py +37 -0
  195. data/vendor/depot_tools/recipe_modules/git/__init__.py +9 -0
  196. data/vendor/depot_tools/recipe_modules/git/api.py +377 -0
  197. data/vendor/depot_tools/recipe_modules/git/example.expected/basic.json +177 -0
  198. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_branch.json +177 -0
  199. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_file_name.json +179 -0
  200. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_hash.json +176 -0
  201. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_ref.json +177 -0
  202. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_submodule_update_force.json +178 -0
  203. data/vendor/depot_tools/recipe_modules/git/example.expected/can_fail_build.json +153 -0
  204. data/vendor/depot_tools/recipe_modules/git/example.expected/cannot_fail_build.json +181 -0
  205. data/vendor/depot_tools/recipe_modules/git/example.expected/cat-file_test.json +199 -0
  206. data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_delta.json +250 -0
  207. data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_failed.json +181 -0
  208. data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_with_bad_output.json +182 -0
  209. data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_with_bad_output_fails_build.json +102 -0
  210. data/vendor/depot_tools/recipe_modules/git/example.expected/curl_trace_file.json +181 -0
  211. data/vendor/depot_tools/recipe_modules/git/example.expected/platform_win.json +186 -0
  212. data/vendor/depot_tools/recipe_modules/git/example.expected/rebase_failed.json +179 -0
  213. data/vendor/depot_tools/recipe_modules/git/example.expected/remote_not_origin.json +179 -0
  214. data/vendor/depot_tools/recipe_modules/git/example.expected/set_got_revision.json +178 -0
  215. data/vendor/depot_tools/recipe_modules/git/example.py +147 -0
  216. data/vendor/depot_tools/recipe_modules/git/resources/git_setup.py +61 -0
  217. data/vendor/depot_tools/recipe_modules/git/test_api.py +18 -0
  218. data/vendor/depot_tools/recipe_modules/git_cl/__init__.py +4 -0
  219. data/vendor/depot_tools/recipe_modules/git_cl/api.py +25 -0
  220. data/vendor/depot_tools/recipe_modules/git_cl/config.py +22 -0
  221. data/vendor/depot_tools/recipe_modules/git_cl/example.expected/basic.json +66 -0
  222. data/vendor/depot_tools/recipe_modules/git_cl/example.py +41 -0
  223. data/vendor/depot_tools/recipe_modules/infra_paths/__init__.py +4 -0
  224. data/vendor/depot_tools/recipe_modules/infra_paths/api.py +12 -0
  225. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/basic.json +14 -0
  226. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_buildbot_linux.json +14 -0
  227. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_buildbot_mac.json +14 -0
  228. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_buildbot_win.json +14 -0
  229. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_kitchen_linux.json +14 -0
  230. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_kitchen_mac.json +14 -0
  231. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_kitchen_win.json +14 -0
  232. data/vendor/depot_tools/recipe_modules/infra_paths/example.py +28 -0
  233. data/vendor/depot_tools/recipe_modules/infra_paths/path_config.py +45 -0
  234. data/vendor/depot_tools/recipe_modules/presubmit/__init__.py +4 -0
  235. data/vendor/depot_tools/recipe_modules/presubmit/api.py +20 -0
  236. data/vendor/depot_tools/recipe_modules/presubmit/example.expected/basic.json +18 -0
  237. data/vendor/depot_tools/recipe_modules/presubmit/example.py +15 -0
  238. data/vendor/depot_tools/recipe_modules/rietveld/__init__.py +5 -0
  239. data/vendor/depot_tools/recipe_modules/rietveld/api.py +94 -0
  240. data/vendor/depot_tools/recipe_modules/rietveld/example.expected/basic.json +30 -0
  241. data/vendor/depot_tools/recipe_modules/rietveld/example.py +24 -0
  242. data/vendor/depot_tools/recipe_modules/tryserver/__init__.py +15 -0
  243. data/vendor/depot_tools/recipe_modules/tryserver/api.py +280 -0
  244. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_git_patch.json +104 -0
  245. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_rietveld_patch.json +58 -0
  246. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_rietveld_patch_new.json +58 -0
  247. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_svn_patch.json +68 -0
  248. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_wrong_patch.json +43 -0
  249. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_wrong_patch_new.json +43 -0
  250. data/vendor/depot_tools/recipe_modules/tryserver/example.py +53 -0
  251. data/vendor/depot_tools/recipe_modules/tryserver/test_api.py +7 -0
  252. data/vendor/depot_tools/recipes.py +136 -0
  253. data/vendor/depot_tools/repo +1 -1
  254. data/vendor/depot_tools/rietveld.py +46 -15
  255. data/vendor/depot_tools/roll_dep.py +97 -36
  256. data/vendor/depot_tools/scm.py +3 -3
  257. data/vendor/depot_tools/setup_color.py +94 -0
  258. data/vendor/depot_tools/subprocess2.py +10 -1
  259. data/vendor/depot_tools/third_party/cq_client/OWNERS +0 -1
  260. data/vendor/depot_tools/third_party/cq_client/README.md +47 -9
  261. data/vendor/depot_tools/third_party/cq_client/cq.pb.go +617 -0
  262. data/vendor/depot_tools/third_party/cq_client/cq.proto +75 -17
  263. data/vendor/depot_tools/third_party/cq_client/cq_pb2.py +168 -41
  264. data/vendor/depot_tools/third_party/cq_client/testdata/cq_gerrit.cfg +55 -0
  265. data/vendor/depot_tools/third_party/cq_client/{test/cq_example.cfg → testdata/cq_rietveld.cfg} +14 -6
  266. data/vendor/depot_tools/third_party/fancy_urllib/README +5 -4
  267. data/vendor/depot_tools/third_party/fancy_urllib/__init__.py +114 -52
  268. data/vendor/depot_tools/third_party/protobuf26/README.chromium +9 -6
  269. data/vendor/depot_tools/third_party/upload.py +17 -31
  270. data/vendor/depot_tools/trychange.py +0 -2
  271. data/vendor/depot_tools/update_depot_tools +29 -11
  272. data/vendor/depot_tools/update_depot_tools.bat +4 -9
  273. data/vendor/depot_tools/upload_to_google_storage.py +42 -5
  274. data/vendor/depot_tools/win_toolchain/OWNERS +1 -0
  275. data/vendor/depot_tools/win_toolchain/get_toolchain_if_necessary.py +227 -52
  276. data/vendor/depot_tools/win_toolchain/package_from_installed.py +203 -88
  277. metadata +161 -81
  278. data/patches/arm/do-not-imply-vfp3-and-armv7.patch +0 -16
  279. data/patches/arm/do-not-use-vfp2.patch +0 -13
  280. data/patches/clang51/no-unused-variable.patch +0 -12
  281. data/vendor/depot_tools/bootstrap/.gitignore +0 -2
  282. data/vendor/depot_tools/bootstrap/bootstrap.py +0 -234
  283. data/vendor/depot_tools/bootstrap/deps.pyl +0 -15
  284. data/vendor/depot_tools/bootstrap/util.py +0 -87
  285. data/vendor/depot_tools/bootstrap/virtualenv/.gitignore +0 -10
  286. data/vendor/depot_tools/bootstrap/virtualenv/.travis.yml +0 -28
  287. data/vendor/depot_tools/bootstrap/virtualenv/AUTHORS.txt +0 -91
  288. data/vendor/depot_tools/bootstrap/virtualenv/CONTRIBUTING.rst +0 -21
  289. data/vendor/depot_tools/bootstrap/virtualenv/LICENSE.txt +0 -22
  290. data/vendor/depot_tools/bootstrap/virtualenv/MANIFEST.in +0 -11
  291. data/vendor/depot_tools/bootstrap/virtualenv/README.rst +0 -10
  292. data/vendor/depot_tools/bootstrap/virtualenv/bin/rebuild-script.py +0 -71
  293. data/vendor/depot_tools/bootstrap/virtualenv/docs/changes.rst +0 -747
  294. data/vendor/depot_tools/bootstrap/virtualenv/docs/conf.py +0 -149
  295. data/vendor/depot_tools/bootstrap/virtualenv/docs/development.rst +0 -61
  296. data/vendor/depot_tools/bootstrap/virtualenv/docs/index.rst +0 -137
  297. data/vendor/depot_tools/bootstrap/virtualenv/docs/installation.rst +0 -58
  298. data/vendor/depot_tools/bootstrap/virtualenv/docs/make.bat +0 -170
  299. data/vendor/depot_tools/bootstrap/virtualenv/docs/reference.rst +0 -256
  300. data/vendor/depot_tools/bootstrap/virtualenv/docs/userguide.rst +0 -249
  301. data/vendor/depot_tools/bootstrap/virtualenv/scripts/virtualenv +0 -3
  302. data/vendor/depot_tools/bootstrap/virtualenv/setup.py +0 -111
  303. data/vendor/depot_tools/bootstrap/virtualenv/tests/test_activate.sh +0 -94
  304. data/vendor/depot_tools/bootstrap/virtualenv/tests/test_activate_expected.output +0 -2
  305. data/vendor/depot_tools/bootstrap/virtualenv/tests/test_virtualenv.py +0 -139
  306. data/vendor/depot_tools/bootstrap/virtualenv/tests/tox.ini +0 -12
  307. data/vendor/depot_tools/bootstrap/virtualenv/tox.ini +0 -17
  308. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv.py +0 -2367
  309. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/activate.bat +0 -26
  310. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/activate.csh +0 -42
  311. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/activate.fish +0 -74
  312. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/activate.ps1 +0 -150
  313. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/activate.sh +0 -80
  314. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/activate_this.py +0 -34
  315. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/deactivate.bat +0 -20
  316. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/distutils-init.py +0 -101
  317. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/distutils.cfg +0 -6
  318. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/site.py +0 -758
  319. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_support/pip-6.0-py2.py3-none-any.whl +0 -0
  320. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_support/setuptools-8.2.1-py2.py3-none-any.whl +0 -0
  321. data/vendor/depot_tools/bootstrap/win/README.google +0 -16
  322. data/vendor/depot_tools/cbuildbot +0 -96
  323. data/vendor/depot_tools/chrome_set_ver +0 -96
  324. data/vendor/depot_tools/cros +0 -96
  325. data/vendor/depot_tools/cros_sdk +0 -96
  326. data/vendor/depot_tools/git-cl-upload-hook +0 -52
  327. data/vendor/depot_tools/git-crup +0 -45
  328. data/vendor/depot_tools/python_git_runner.sh +0 -36
  329. data/vendor/depot_tools/recipes/blink.py +0 -59
  330. data/vendor/depot_tools/third_party/cq_client/test/validate_config_test.py +0 -52
  331. data/vendor/depot_tools/third_party/cq_client/validate_config.py +0 -108
  332. data/vendor/depot_tools/win_toolchain/toolchain2013.py +0 -494
@@ -0,0 +1,86 @@
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
+ import hashlib
6
+ import os
7
+ import struct
8
+ import sys
9
+ from recipe_engine import recipe_test_api
10
+
11
+ # TODO(phajdan.jr): Clean up this somewhat ugly import.
12
+ sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'resources'))
13
+ import bot_update
14
+
15
+
16
+ class BotUpdateTestApi(recipe_test_api.RecipeTestApi):
17
+ def output_json(self, master, builder, slave, root, first_sln,
18
+ revision_mapping, git_mode, force=False, fail_patch=False,
19
+ output_manifest=False, fixed_revisions=None):
20
+ """Deterministically synthesize json.output test data for gclient's
21
+ --output-json option.
22
+ """
23
+ active = bot_update.check_valid_host(master, builder, slave) or force
24
+
25
+ output = {
26
+ 'did_run': active,
27
+ 'patch_failure': False
28
+ }
29
+
30
+ # Add in extra json output if active.
31
+ if active:
32
+ properties = {
33
+ property_name: self.gen_revision(project_name, git_mode)
34
+ for project_name, property_name in revision_mapping.iteritems()
35
+ }
36
+ properties.update({
37
+ '%s_cp' % property_name: ('refs/heads/master@{#%s}' %
38
+ self.gen_revision(project_name, False))
39
+ for project_name, property_name in revision_mapping.iteritems()
40
+ })
41
+
42
+ # We also want to simulate outputting "got_revision_git": ...
43
+ # when git mode is off to match what bot_update.py does.
44
+ if not git_mode:
45
+ properties.update({
46
+ '%s_git' % property_name: self.gen_revision(project_name, True)
47
+ for project_name, property_name in revision_mapping.iteritems()
48
+ })
49
+
50
+ output.update({
51
+ 'patch_root': root or first_sln,
52
+ 'root': first_sln,
53
+ 'properties': properties,
54
+ 'step_text': 'Some step text'
55
+ })
56
+
57
+ if output_manifest:
58
+ output.update({
59
+ 'manifest': {
60
+ project_name: {
61
+ 'repository': 'https://fake.org/%s.git' % project_name,
62
+ 'revision': self.gen_revision(project_name, git_mode),
63
+ }
64
+ for project_name in revision_mapping
65
+ }
66
+ })
67
+
68
+ if fixed_revisions:
69
+ output['fixed_revisions'] = fixed_revisions
70
+
71
+ if fail_patch:
72
+ output['log_lines'] = [('patch error', 'Patch failed to apply'),]
73
+ output['patch_failure'] = True
74
+ output['patch_apply_return_code'] = 1
75
+ if fail_patch == 'download':
76
+ output['patch_apply_return_code'] = 3
77
+ return self.m.json.output(output)
78
+
79
+ @staticmethod
80
+ def gen_revision(project, GIT_MODE):
81
+ """Hash project to bogus deterministic revision values."""
82
+ h = hashlib.sha1(project)
83
+ if GIT_MODE:
84
+ return h.hexdigest()
85
+ else:
86
+ return struct.unpack('!I', h.digest()[:4])[0] % 300000
@@ -0,0 +1,3 @@
1
+ DEPS = [
2
+ 'recipe_engine/platform',
3
+ ]
@@ -0,0 +1,27 @@
1
+ # Copyright 2016 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 DepotToolsApi(recipe_api.RecipeApi):
8
+ @property
9
+ def download_from_google_storage_path(self):
10
+ return self.package_repo_resource('download_from_google_storage.py')
11
+
12
+ @property
13
+ def cros_path(self):
14
+ return self.package_repo_resource('cros')
15
+
16
+ @property
17
+ def gn_py_path(self):
18
+ return self.package_repo_resource('gn.py')
19
+
20
+ @property
21
+ def gsutil_py_path(self):
22
+ return self.package_repo_resource('gsutil.py')
23
+
24
+ @property
25
+ def ninja_path(self):
26
+ ninja_exe = 'ninja.exe' if self.m.platform.is_win else 'ninja'
27
+ return self.package_repo_resource(ninja_exe)
@@ -0,0 +1,10 @@
1
+ DEPS = [
2
+ 'infra_paths',
3
+ 'recipe_engine/json',
4
+ 'recipe_engine/path',
5
+ 'recipe_engine/platform',
6
+ 'recipe_engine/properties',
7
+ 'recipe_engine/python',
8
+ 'recipe_engine/step',
9
+ 'tryserver',
10
+ ]
@@ -0,0 +1,378 @@
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
+
8
+ class RevisionResolver(object):
9
+ """Resolves the revision based on build properties."""
10
+
11
+ def resolve(self, properties): # pragma: no cover
12
+ raise NotImplementedError()
13
+
14
+
15
+ class RevisionFallbackChain(RevisionResolver):
16
+ """Specify that a given project's sync revision follows the fallback chain."""
17
+ def __init__(self, default=None):
18
+ self._default = default
19
+
20
+ def resolve(self, properties):
21
+ """Resolve the revision via the revision fallback chain.
22
+
23
+ If the given revision was set using the revision_fallback_chain() function,
24
+ this function will follow the chain, looking at relevant build properties
25
+ until it finds one set or reaches the end of the chain and returns the
26
+ default. If the given revision was not set using revision_fallback_chain(),
27
+ this function just returns it as-is.
28
+ """
29
+ return (properties.get('parent_got_revision') or
30
+ properties.get('orig_revision') or
31
+ properties.get('revision') or
32
+ self._default)
33
+
34
+
35
+ class ProjectRevisionResolver(RevisionResolver):
36
+ """Revision resolver that takes into account the project."""
37
+ def __init__(self, project, parent_got_revision=None):
38
+ self.project = project
39
+ self.parent_got_revision = parent_got_revision or 'parent_got_revision'
40
+
41
+ # TODO(phajdan.jr): Move to proper repo and add coverage.
42
+ def resolve(self, properties): # pragma: no cover
43
+ """Resolve the revision if project matches, otherwise default to HEAD."""
44
+ if properties.get('project') == self.project:
45
+ return (properties.get(self.parent_got_revision) or
46
+ properties.get('revision') or
47
+ 'HEAD')
48
+ return (properties.get(self.parent_got_revision) or
49
+ 'HEAD')
50
+
51
+
52
+ def jsonish_to_python(spec, is_top=False):
53
+ """Turn a json spec into a python parsable object.
54
+
55
+ This exists because Gclient specs, while resembling json, is actually
56
+ ingested using a python "eval()". Therefore a bit of plumming is required
57
+ to turn our newly constructed Gclient spec into a gclient-readable spec.
58
+ """
59
+ ret = ''
60
+ if is_top: # We're the 'top' level, so treat this dict as a suite.
61
+ ret = '\n'.join(
62
+ '%s = %s' % (k, jsonish_to_python(spec[k])) for k in sorted(spec)
63
+ )
64
+ else:
65
+ if isinstance(spec, dict):
66
+ ret += '{'
67
+ ret += ', '.join(
68
+ "%s: %s" % (repr(str(k)), jsonish_to_python(spec[k]))
69
+ for k in sorted(spec)
70
+ )
71
+ ret += '}'
72
+ elif isinstance(spec, list):
73
+ ret += '['
74
+ ret += ', '.join(jsonish_to_python(x) for x in spec)
75
+ ret += ']'
76
+ elif isinstance(spec, basestring):
77
+ ret = repr(str(spec))
78
+ else:
79
+ ret = repr(spec)
80
+ return ret
81
+
82
+ class GclientApi(recipe_api.RecipeApi):
83
+ # Singleton object to indicate to checkout() that we should run a revert if
84
+ # we detect that we're on the tryserver.
85
+ RevertOnTryserver = object()
86
+
87
+ def __init__(self, **kwargs):
88
+ super(GclientApi, self).__init__(**kwargs)
89
+ self.USE_MIRROR = None
90
+ self._spec_alias = None
91
+
92
+ def __call__(self, name, cmd, infra_step=True, **kwargs):
93
+ """Wrapper for easy calling of gclient steps."""
94
+ assert isinstance(cmd, (list, tuple))
95
+ prefix = 'gclient '
96
+ if self.spec_alias:
97
+ prefix = ('[spec: %s] ' % self.spec_alias) + prefix
98
+
99
+ kwargs.setdefault('env', {})
100
+ kwargs['env'].setdefault('PATH', '%(PATH)s')
101
+ kwargs['env']['PATH'] = self.m.path.pathsep.join([
102
+ kwargs['env']['PATH'], str(self._module.PACKAGE_REPO_ROOT)])
103
+
104
+ return self.m.python(prefix + name,
105
+ self.package_repo_resource('gclient.py'),
106
+ cmd,
107
+ infra_step=infra_step,
108
+ **kwargs)
109
+
110
+ @property
111
+ def use_mirror(self):
112
+ """Indicates if gclient will use mirrors in its configuration."""
113
+ if self.USE_MIRROR is None:
114
+ self.USE_MIRROR = self.m.properties.get('use_mirror', True)
115
+ return self.USE_MIRROR
116
+
117
+ @use_mirror.setter
118
+ def use_mirror(self, val): # pragma: no cover
119
+ self.USE_MIRROR = val
120
+
121
+ @property
122
+ def spec_alias(self):
123
+ """Optional name for the current spec for step naming."""
124
+ return self._spec_alias
125
+
126
+ @spec_alias.setter
127
+ def spec_alias(self, name):
128
+ self._spec_alias = name
129
+
130
+ @spec_alias.deleter
131
+ def spec_alias(self):
132
+ self._spec_alias = None
133
+
134
+ def get_config_defaults(self):
135
+ return {
136
+ 'USE_MIRROR': self.use_mirror,
137
+ 'CACHE_DIR': self.m.path['git_cache'],
138
+ }
139
+
140
+ @staticmethod
141
+ def config_to_pythonish(cfg):
142
+ return jsonish_to_python(cfg.as_jsonish(), True)
143
+
144
+ def resolve_revision(self, revision):
145
+ if hasattr(revision, 'resolve'):
146
+ return revision.resolve(self.m.properties)
147
+ return revision
148
+
149
+ def sync(self, cfg, with_branch_heads=False, **kwargs):
150
+ revisions = []
151
+ self.set_patch_project_revision(self.m.properties.get('patch_project'), cfg)
152
+ for i, s in enumerate(cfg.solutions):
153
+ if s.safesync_url: # prefer safesync_url in gclient mode
154
+ continue
155
+ if i == 0 and s.revision is None:
156
+ s.revision = RevisionFallbackChain()
157
+
158
+ if s.revision is not None and s.revision != '':
159
+ fixed_revision = self.resolve_revision(s.revision)
160
+ if fixed_revision:
161
+ revisions.extend(['--revision', '%s@%s' % (s.name, fixed_revision)])
162
+
163
+ for name, revision in sorted(cfg.revisions.items()):
164
+ fixed_revision = self.resolve_revision(revision)
165
+ if fixed_revision:
166
+ revisions.extend(['--revision', '%s@%s' % (name, fixed_revision)])
167
+
168
+ test_data_paths = set(cfg.got_revision_mapping.keys() +
169
+ [s.name for s in cfg.solutions])
170
+ step_test_data = lambda: (
171
+ self.test_api.output_json(test_data_paths, cfg.GIT_MODE))
172
+ try:
173
+ if not cfg.GIT_MODE:
174
+ args = ['sync', '--nohooks', '--force', '--verbose']
175
+ if cfg.delete_unversioned_trees:
176
+ args.append('--delete_unversioned_trees')
177
+ if with_branch_heads:
178
+ args.append('--with_branch_heads')
179
+ self('sync', args + revisions + ['--output-json', self.m.json.output()],
180
+ step_test_data=step_test_data,
181
+ **kwargs)
182
+ else:
183
+ # clean() isn't used because the gclient sync flags passed in checkout()
184
+ # do much the same thing, and they're more correct than doing a separate
185
+ # 'gclient revert' because it makes sure the other args are correct when
186
+ # a repo was deleted and needs to be re-cloned (notably
187
+ # --with_branch_heads), whereas 'revert' uses default args for clone
188
+ # operations.
189
+ #
190
+ # TODO(mmoss): To be like current official builders, this step could
191
+ # just delete the whole <slave_name>/build/ directory and start each
192
+ # build from scratch. That might be the least bad solution, at least
193
+ # until we have a reliable gclient method to produce a pristine working
194
+ # dir for git-based builds (e.g. maybe some combination of 'git
195
+ # reset/clean -fx' and removing the 'out' directory).
196
+ j = '-j2' if self.m.platform.is_win else '-j8'
197
+ args = ['sync', '--verbose', '--with_branch_heads', '--nohooks', j,
198
+ '--reset', '--force', '--upstream', '--no-nag-max']
199
+ if cfg.delete_unversioned_trees:
200
+ args.append('--delete_unversioned_trees')
201
+ self('sync', args + revisions +
202
+ ['--output-json', self.m.json.output()],
203
+ step_test_data=step_test_data,
204
+ **kwargs)
205
+ finally:
206
+ result = self.m.step.active_result
207
+ data = result.json.output
208
+ for path, info in data['solutions'].iteritems():
209
+ # gclient json paths always end with a slash
210
+ path = path.rstrip('/')
211
+ if path in cfg.got_revision_mapping:
212
+ propname = cfg.got_revision_mapping[path]
213
+ result.presentation.properties[propname] = info['revision']
214
+
215
+ return result
216
+
217
+ def inject_parent_got_revision(self, gclient_config=None, override=False):
218
+ """Match gclient config to build revisions obtained from build_properties.
219
+
220
+ Args:
221
+ gclient_config (gclient config object) - The config to manipulate. A value
222
+ of None manipulates the module's built-in config (self.c).
223
+ override (bool) - If True, will forcibly set revision and custom_vars
224
+ even if the config already contains values for them.
225
+ """
226
+ cfg = gclient_config or self.c
227
+
228
+ for prop, custom_var in cfg.parent_got_revision_mapping.iteritems():
229
+ val = str(self.m.properties.get(prop, ''))
230
+ # TODO(infra): Fix coverage.
231
+ if val: # pragma: no cover
232
+ # Special case for 'src', inject into solutions[0]
233
+ if custom_var is None:
234
+ # This is not covered because we are deprecating this feature and
235
+ # it is no longer used by the public recipes.
236
+ if cfg.solutions[0].revision is None or override: # pragma: no cover
237
+ cfg.solutions[0].revision = val
238
+ else:
239
+ if custom_var not in cfg.solutions[0].custom_vars or override:
240
+ cfg.solutions[0].custom_vars[custom_var] = val
241
+
242
+ def checkout(self, gclient_config=None, revert=RevertOnTryserver,
243
+ inject_parent_got_revision=True, with_branch_heads=False,
244
+ **kwargs):
245
+ """Return a step generator function for gclient checkouts."""
246
+ cfg = gclient_config or self.c
247
+ assert cfg.complete()
248
+
249
+ if revert is self.RevertOnTryserver:
250
+ revert = self.m.tryserver.is_tryserver
251
+
252
+ if inject_parent_got_revision:
253
+ self.inject_parent_got_revision(cfg, override=True)
254
+
255
+ self('setup', ['config', '--spec', self.config_to_pythonish(cfg)], **kwargs)
256
+
257
+ sync_step = None
258
+ try:
259
+ if not cfg.GIT_MODE:
260
+ try:
261
+ if revert:
262
+ self.revert(**kwargs)
263
+ finally:
264
+ sync_step = self.sync(cfg, with_branch_heads=with_branch_heads,
265
+ **kwargs)
266
+ else:
267
+ sync_step = self.sync(cfg, with_branch_heads=with_branch_heads,
268
+ **kwargs)
269
+
270
+ cfg_cmds = [
271
+ ('user.name', 'local_bot'),
272
+ ('user.email', 'local_bot@example.com'),
273
+ ]
274
+ for var, val in cfg_cmds:
275
+ name = 'recurse (git config %s)' % var
276
+ self(name, ['recurse', 'git', 'config', var, val], **kwargs)
277
+
278
+ finally:
279
+ cwd = kwargs.get('cwd', self.m.path['slave_build'])
280
+ if 'checkout' not in self.m.path:
281
+ self.m.path['checkout'] = cwd.join(
282
+ *cfg.solutions[0].name.split(self.m.path.sep))
283
+
284
+ return sync_step
285
+
286
+ def revert(self, **kwargs):
287
+ """Return a gclient_safe_revert step."""
288
+ # Not directly calling gclient, so don't use self().
289
+ alias = self.spec_alias
290
+ prefix = '%sgclient ' % (('[spec: %s] ' % alias) if alias else '')
291
+
292
+ return self.m.python(prefix + 'revert',
293
+ self.m.path['build'].join('scripts', 'slave', 'gclient_safe_revert.py'),
294
+ ['.', self.m.path['depot_tools'].join('gclient',
295
+ platform_ext={'win': '.bat'})],
296
+ infra_step=True,
297
+ **kwargs
298
+ )
299
+
300
+ def runhooks(self, args=None, name='runhooks', **kwargs):
301
+ args = args or []
302
+ assert isinstance(args, (list, tuple))
303
+ return self(
304
+ name, ['runhooks'] + list(args), infra_step=False, **kwargs)
305
+
306
+ @property
307
+ def is_blink_mode(self):
308
+ """ Indicates wether the caller is to use the Blink config rather than the
309
+ Chromium config. This may happen for one of two reasons:
310
+ 1. The builder is configured to always use TOT Blink. (factory property
311
+ top_of_tree_blink=True)
312
+ 2. A try job comes in that applies to the Blink tree. (patch_project is
313
+ blink)
314
+ """
315
+ return (
316
+ self.m.properties.get('top_of_tree_blink') or
317
+ self.m.properties.get('patch_project') == 'blink')
318
+
319
+ def break_locks(self):
320
+ """Remove all index.lock files. If a previous run of git crashed, bot was
321
+ reset, etc... we might end up with leftover index.lock files.
322
+ """
323
+ self.m.python.inline(
324
+ 'cleanup index.lock',
325
+ """
326
+ import os, sys
327
+
328
+ build_path = sys.argv[1]
329
+ if os.path.exists(build_path):
330
+ for (path, dir, files) in os.walk(build_path):
331
+ for cur_file in files:
332
+ if cur_file.endswith('index.lock'):
333
+ path_to_file = os.path.join(path, cur_file)
334
+ print 'deleting %s' % path_to_file
335
+ os.remove(path_to_file)
336
+ """,
337
+ args=[self.m.path['slave_build']],
338
+ infra_step=True,
339
+ )
340
+
341
+ def calculate_patch_root(self, patch_project, gclient_config=None):
342
+ """Returns path where a patch should be applied to based patch_project.
343
+
344
+ Maps "patch_project" to a path of directories relative to checkout's root,
345
+ which describe where to place the patch.
346
+
347
+ For now, considers only first solution (c.solutions[0]), but in theory can
348
+ be extended to all of them.
349
+
350
+ See patch_projects solution config property.
351
+
352
+ Returns:
353
+ Relative path, including solution's root.
354
+ If patch_project is not given or not recognized, it'll be just first
355
+ solution root.
356
+ """
357
+ cfg = gclient_config or self.c
358
+ root, _ = cfg.patch_projects.get(patch_project, ('', ''))
359
+ if root:
360
+ # Note, that c.patch_projects contains patch roots as
361
+ # slash(/)-separated path, which are roots of the respective project repos
362
+ # and include actual solution name in them.
363
+ return self.m.path.join(*root.split('/'))
364
+ # Default case - assume patch is for first solution, as this is what most
365
+ # projects rely on.
366
+ return cfg.solutions[0].name
367
+
368
+ def set_patch_project_revision(self, patch_project, gclient_config=None):
369
+ """Updates config revision corresponding to patch_project.
370
+
371
+ Useful for bot_update only, as this is the only consumer of gclient's config
372
+ revision map. This doesn't overwrite the revision if it was already set.
373
+ """
374
+ assert patch_project is None or isinstance(patch_project, basestring)
375
+ cfg = gclient_config or self.c
376
+ path, revision = cfg.patch_projects.get(patch_project, (None, None))
377
+ if path and revision and path not in cfg.revisions:
378
+ cfg.revisions[path] = revision