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,14 @@
1
+ diff --git a/build/standalone.gypi b/build/standalone.gypi
2
+ index a71ed95..308a7e3 100644
3
+ --- a/build/standalone.gypi
4
+ +++ b/build/standalone.gypi
5
+ @@ -476,6 +476,9 @@
6
+ }], # fastbuild!=0
7
+ ],
8
+ 'target_conditions': [
9
+ + ['_type=="static_library"', {
10
+ + 'standalone_static_library': 1,
11
+ + }],
12
+ ['v8_code == 0', {
13
+ 'defines!': [
14
+ 'DEBUG',
@@ -1,27 +1,65 @@
1
1
  diff --git a/Makefile b/Makefile
2
- index 9761265..80169b2 100644
2
+ index 4fb6ee0..549ae58 100644
3
3
  --- a/Makefile
4
4
  +++ b/Makefile
5
- @@ -248,8 +248,6 @@ NACL_ARCHES = nacl_ia32 nacl_x64
5
+ @@ -251,11 +251,9 @@ NACL_ARCHES = nacl_ia32 nacl_x64
6
6
  GYPFILES = third_party/icu/icu.gypi third_party/icu/icu.gyp \
7
7
  build/shim_headers.gypi build/features.gypi build/standalone.gypi \
8
8
  build/toolchain.gypi build/all.gyp build/mac/asan.gyp \
9
- - test/cctest/cctest.gyp \
9
+ - test/cctest/cctest.gyp test/fuzzer/fuzzer.gyp \
10
10
  - test/unittests/unittests.gyp tools/gyp/v8.gyp \
11
- tools/parser-shell.gyp testing/gmock.gyp testing/gtest.gyp \
12
- buildtools/third_party/libc++abi/libc++abi.gyp \
13
- buildtools/third_party/libc++/libc++.gyp samples/samples.gyp \
11
+ - tools/parser-shell.gyp testing/gmock.gyp testing/gtest.gyp \
12
+ - buildtools/third_party/libc++abi/libc++abi.gyp \
13
+ - buildtools/third_party/libc++/libc++.gyp samples/samples.gyp \
14
+ + tools/gyp/v8.gyp tools/parser-shell.gyp \
15
+ + buildtools/third_party/libc++abi/libc++abi.gyp \
16
+ + buildtools/third_party/libc++/libc++.gyp \
17
+ src/third_party/vtune/v8vtune.gyp src/d8.gyp
18
+
19
+ # If vtunejit=on, the v8vtune.gyp will be appended.
14
20
  diff --git a/build/all.gyp b/build/all.gyp
15
- index 4aeb507..1ff2c7a 100644
21
+ index feaf4fe..96820a0 100644
16
22
  --- a/build/all.gyp
17
23
  +++ b/build/all.gyp
18
- @@ -10,8 +10,6 @@
24
+ @@ -8,11 +8,7 @@
25
+ 'target_name': 'All',
26
+ 'type': 'none',
19
27
  'dependencies': [
20
- '../samples/samples.gyp:*',
28
+ - '../samples/samples.gyp:*',
21
29
  '../src/d8.gyp:d8',
22
30
  - '../test/cctest/cctest.gyp:*',
31
+ - '../test/fuzzer/fuzzer.gyp:*',
23
32
  - '../test/unittests/unittests.gyp:*',
24
33
  ],
25
34
  'conditions': [
26
35
  ['component!="shared_library"', {
27
-
36
+ @@ -20,29 +16,6 @@
37
+ '../tools/parser-shell.gyp:parser-shell',
38
+ ],
39
+ }],
40
+ - ['test_isolation_mode != "noop"', {
41
+ - 'dependencies': [
42
+ - '../test/bot_default.gyp:*',
43
+ - '../test/benchmarks/benchmarks.gyp:*',
44
+ - '../test/default.gyp:*',
45
+ - '../test/ignition.gyp:*',
46
+ - '../test/intl/intl.gyp:*',
47
+ - '../test/message/message.gyp:*',
48
+ - '../test/mjsunit/mjsunit.gyp:*',
49
+ - '../test/mozilla/mozilla.gyp:*',
50
+ - '../test/optimize_for_size.gyp:*',
51
+ - '../test/perf.gyp:*',
52
+ - '../test/preparser/preparser.gyp:*',
53
+ - '../test/simdjs/simdjs.gyp:*',
54
+ - '../test/test262/test262.gyp:*',
55
+ - '../test/webkit/webkit.gyp:*',
56
+ - '../tools/check-static-initializers.gyp:*',
57
+ - '../tools/gcmole/run_gcmole.gyp:*',
58
+ - '../tools/jsfunfuzz/jsfunfuzz.gyp:*',
59
+ - '../tools/run-deopt-fuzzer.gyp:*',
60
+ - '../tools/run-valgrind.gyp:*',
61
+ - ],
62
+ - }],
63
+ ]
64
+ }
65
+ ]
@@ -1,8 +1,8 @@
1
1
  diff --git a/build/standalone.gypi b/build/standalone.gypi
2
- index 7670e5b..230518c 100644
2
+ index 1252094..308a7e3 100644
3
3
  --- a/build/standalone.gypi
4
4
  +++ b/build/standalone.gypi
5
- @@ -205,7 +205,7 @@
5
+ @@ -733,7 +733,7 @@
6
6
  [ 'visibility=="hidden" and v8_enable_backtrace==0', {
7
7
  'cflags': [ '-fvisibility=hidden' ],
8
8
  }],
@@ -10,4 +10,4 @@ index 7670e5b..230518c 100644
10
10
  + [ 'component=="shared_library" or component=="static_library" and (v8_target_arch=="x64" or v8_target_arch=="arm64")', {
11
11
  'cflags': [ '-fPIC', ],
12
12
  }],
13
- ],
13
+ [ 'coverage==1', {
@@ -13,7 +13,7 @@ Vagrant.configure(2) do |config|
13
13
  # Every Vagrant development environment requires a box. You can search for
14
14
  # boxes at https://atlas.hashicorp.com/search.
15
15
  # https://atlas.hashicorp.com/boxcutter/boxes/debian80-i386
16
- config.vm.box = "boxcutter/debian80-i386"
16
+ config.vm.box = "ubuntu/trusty32"
17
17
 
18
18
  # Disable automatic box update checking. If you disable this, then
19
19
  # boxes will only be checked for updates when the user runs
@@ -54,6 +54,12 @@ Vagrant.configure(2) do |config|
54
54
  #
55
55
  # View the documentation for the provider you are using for more
56
56
  # information on available options.
57
+ config.vm.provider :virtualbox do |vb|
58
+ vb.memory = "2048"
59
+ vb.customize ["modifyvm", :id, "--hwvirtex", "on"]
60
+ vb.customize ["modifyvm", :id, "--audio", "none"]
61
+ vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
62
+ end
57
63
 
58
64
  # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
59
65
  # such as FTP and Heroku are also available. See the documentation at
@@ -67,9 +73,7 @@ Vagrant.configure(2) do |config|
67
73
  # documentation for more information about their specific syntax and use.
68
74
  config.vm.provision "shell", inline: <<-SHELL
69
75
  sudo apt-get update
70
- sudo apt-get install -y gcc-4.8 g++-4.8 build-essential git git-svn python ruby ruby-dev
71
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
72
- sudo update-alternatives --config gcc
76
+ sudo apt-get install -y build-essential git python ruby ruby-dev
73
77
  gem install bundler
74
78
  SHELL
75
79
  end
@@ -0,0 +1,86 @@
1
+ # -*- mode: ruby -*-
2
+ # vi: set ft=ruby :
3
+
4
+ # All Vagrant configuration is done below. The "2" in Vagrant.configure
5
+ # configures the configuration version (we support older styles for
6
+ # backwards compatibility). Please don't change it unless you know what
7
+ # you're doing.
8
+ Vagrant.configure(2) do |config|
9
+ # The most common configuration options are documented and commented below.
10
+ # For a complete reference, please see the online documentation at
11
+ # https://docs.vagrantup.com.
12
+
13
+ # Every Vagrant development environment requires a box. You can search for
14
+ # boxes at https://atlas.hashicorp.com/search.
15
+ config.vm.box = "freebsd/FreeBSD-10.3-RELEASE"
16
+
17
+ # Disable automatic box update checking. If you disable this, then
18
+ # boxes will only be checked for updates when the user runs
19
+ # `vagrant box outdated`. This is not recommended.
20
+ # config.vm.box_check_update = false
21
+
22
+ # Create a forwarded port mapping which allows access to a specific port
23
+ # within the machine from a port on the host machine. In the example below,
24
+ # accessing "localhost:8080" will access port 80 on the guest machine.
25
+ # config.vm.network "forwarded_port", guest: 80, host: 8080
26
+
27
+ # Create a private network, which allows host-only access to the machine
28
+ # using a specific IP.
29
+ # config.vm.network "private_network", ip: "192.168.33.10"
30
+ config.vm.network "private_network", ip: "192.168.33.10"
31
+
32
+ # Create a public network, which generally matched to bridged network.
33
+ # Bridged networks make the machine appear as another physical device on
34
+ # your network.
35
+ # config.vm.network "public_network"
36
+
37
+ # Share an additional folder to the guest VM. The first argument is
38
+ # the path on the host to the actual folder. The second argument is
39
+ # the path on the guest to mount the folder. And the optional third
40
+ # argument is a set of non-required options.
41
+ config.vm.synced_folder ".", "/vagrant", nfs: true
42
+ config.vm.synced_folder "../..", "/libv8", nfs: true
43
+
44
+
45
+ # Provider-specific configuration so you can fine-tune various
46
+ # backing providers for Vagrant. These expose provider-specific options.
47
+ # Example for VirtualBox:
48
+ #
49
+ # config.vm.provider "virtualbox" do |vb|
50
+ # # Display the VirtualBox GUI when booting the machine
51
+ # vb.gui = true
52
+ #
53
+ # # Customize the amount of memory on the VM:
54
+ # vb.memory = "1024"
55
+ # end
56
+ #
57
+ # View the documentation for the provider you are using for more
58
+ # information on available options.
59
+ # Various settings as suggested by the FreeBSD community
60
+ config.ssh.shell = "sh"
61
+ config.vm.base_mac = "080027D14C66"
62
+ config.vm.provider :virtualbox do |vb|
63
+ vb.customize ["modifyvm", :id, "--hwvirtex", "on"]
64
+ vb.customize ["modifyvm", :id, "--audio", "none"]
65
+ vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
66
+ vb.customize ["modifyvm", :id, "--nictype2", "virtio"]
67
+ end
68
+
69
+ # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
70
+ # such as FTP and Heroku are also available. See the documentation at
71
+ # https://docs.vagrantup.com/v2/push/atlas.html for more information.
72
+ # config.push.define "atlas" do |push|
73
+ # push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
74
+ # end
75
+
76
+ # Enable provisioning with a shell script. Additional provisioners such as
77
+ # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
78
+ # documentation for more information about their specific syntax and use.
79
+ # config.vm.provision "shell", inline: <<-SHELL
80
+ # sudo apt-get update
81
+ # sudo apt-get install -y apache2
82
+ # SHELL
83
+ config.vm.provision "shell", inline: <<-SHELL
84
+ pkg install -y bash gmake ruby rubygem-bundler git-subversion python2
85
+ SHELL
86
+ end
@@ -13,7 +13,7 @@ Vagrant.configure(2) do |config|
13
13
  # Every Vagrant development environment requires a box. You can search for
14
14
  # boxes at https://atlas.hashicorp.com/search.
15
15
  # https://atlas.hashicorp.com/quarkslab/boxes/debian-8.0-amd64
16
- config.vm.box = "quarkslab/debian-8.0-amd64"
16
+ config.vm.box = "ubuntu/trusty64"
17
17
 
18
18
  # Disable automatic box update checking. If you disable this, then
19
19
  # boxes will only be checked for updates when the user runs
@@ -54,6 +54,12 @@ Vagrant.configure(2) do |config|
54
54
  #
55
55
  # View the documentation for the provider you are using for more
56
56
  # information on available options.
57
+ config.vm.provider :virtualbox do |vb|
58
+ vb.memory = "2048"
59
+ vb.customize ["modifyvm", :id, "--hwvirtex", "on"]
60
+ vb.customize ["modifyvm", :id, "--audio", "none"]
61
+ vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
62
+ end
57
63
 
58
64
  # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
59
65
  # such as FTP and Heroku are also available. See the documentation at
@@ -67,9 +73,7 @@ Vagrant.configure(2) do |config|
67
73
  # documentation for more information about their specific syntax and use.
68
74
  config.vm.provision "shell", inline: <<-SHELL
69
75
  sudo apt-get update
70
- sudo apt-get install -y gcc-4.8 g++-4.8 build-essential git git-svn python ruby ruby-dev
71
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
72
- sudo update-alternatives --config gcc
76
+ sudo apt-get install -y build-essential git python ruby ruby-dev
73
77
  gem install bundler
74
78
  SHELL
75
79
  end
@@ -6,35 +6,23 @@ module Libv8
6
6
  describe '::type_of' do
7
7
  it 'recognises correctly GCC' do
8
8
  stub_as_available 'c++', :gcc, '4.9.0'
9
- expect(Compiler.available_compilers('c++').first).to be_a Compiler::GCC
9
+ expect(Compiler.type_of('c++').new('c++')).to be_a Compiler::GCC
10
10
 
11
11
  stub_as_available 'g++', :gcc, '4.2.1-freebsd'
12
- expect(Compiler.available_compilers('g++').first).to be_a Compiler::GCC
12
+ expect(Compiler.type_of('g++').new('g++')).to be_a Compiler::GCC
13
13
  end
14
14
 
15
15
  it 'recognises correctly Clang' do
16
16
  stub_as_available 'c++', :clang, '3.4.1'
17
- expect(Compiler.available_compilers('c++').first).to be_a Compiler::Clang
17
+ expect(Compiler.type_of('c++').new('c++')).to be_a Compiler::Clang
18
18
 
19
19
  stub_as_available 'freebsd-clang++', :clang, '3.3-freebsd'
20
- expect(Compiler.available_compilers('freebsd-clang++').first).to be_a Compiler::Clang
20
+ expect(Compiler.type_of('freebsd-clang++').new('freebsd-clang++')).to be_a Compiler::Clang
21
21
  end
22
22
 
23
23
  it 'recognises correctly Apple\'s LLVM' do
24
24
  stub_as_available 'c++', :apple_llvm, '5.1'
25
- expect(Compiler.available_compilers('c++').first).to be_a Compiler::AppleLLVM
26
- end
27
- end
28
-
29
- describe '::available_compilers' do
30
- it 'returns instances of the available compilers' do
31
- stub_as_available 'c++', :clang, '3.4.1'
32
- stub_as_unavailable 'g++'
33
- stub_as_available 'clang++', :clang, '3.4.1'
34
-
35
- available_compilers = Compiler.available_compilers 'c++', 'g++', 'clang++'
36
- expect(available_compilers.map(&:class).count).to eq 2
37
- available_compilers.all? { |compiler| expect(compiler).to be_a Compiler::Clang }
25
+ expect(Compiler.type_of('c++').new('c++')).to be_a Compiler::AppleLLVM
38
26
  end
39
27
  end
40
28
 
@@ -53,17 +41,5 @@ module Libv8
53
41
  end
54
42
  end
55
43
  end
56
-
57
- describe '::available?' do
58
- it 'returns true when the command is available' do
59
- stub_as_available 'c++', :clang, '3.4.1'
60
- expect(Compiler::available?('c++')).to be true
61
- end
62
-
63
- it 'returns false when the command cannot be found ' do
64
- stub_as_unavailable 'c++'
65
- expect(Compiler::available?('c++')).to be false
66
- end
67
- end
68
44
  end
69
45
  end
@@ -32,13 +32,11 @@ module CompilerHelpers
32
32
  end
33
33
 
34
34
  def stub_as_available(command, name, version)
35
- stub_shell_command "which #{command} 2>&1", '', success_status
36
- stub_shell_command "#{command} -v 2>&1", version_output_of(name, version), success_status
35
+ stub_shell_command "env LC_ALL=C LANG=C #{command} -v 2>&1", version_output_of(name, version), success_status
37
36
  end
38
37
 
39
38
  def stub_as_unavailable(command)
40
- stub_shell_command "which #{command} 2>&1", '', failure_status
41
- stub_shell_command(/^#{Regexp.escape(command)}/, '', failure_status)
39
+ stub_shell_command(/^env LC_ALL=C LANG=C #{Regexp.escape(command)}/, '', failure_status)
42
40
  end
43
41
  end
44
42
 
@@ -2,9 +2,11 @@
2
2
  *.pyc
3
3
 
4
4
  # Ignore the batch files produced by the Windows bootstrapping.
5
+ /git-bash
5
6
  /git.bat
6
7
  /gitk.bat
7
8
  /pylint.bat
9
+ /.pylint.d/
8
10
  /python
9
11
  /python.bat
10
12
  /ssh.bat
@@ -14,6 +16,7 @@
14
16
  /svnversion.bat
15
17
  /.codereview_upload_cookies
16
18
  /.gitconfig
19
+ /.git_bleeding_edge
17
20
  /.git_cl_description_backup
18
21
  /.last_codereview_email_address
19
22
  /.ssh
@@ -26,7 +29,8 @@
26
29
  /svn_bin
27
30
  /external_bin
28
31
  /win_toolchain/vs2013_files
29
- /win_toolchain/.timestamps
32
+ /win_toolchain/vs_files
33
+ /win_toolchain/*.timestamps
30
34
  /win_toolchain/.vspro
31
35
  /win_toolchain/data.json
32
36
 
@@ -47,5 +51,13 @@
47
51
  /tests/svn/
48
52
  /tests/svnrepo/
49
53
 
50
- # Ignore virtualenv created during bootstrapping.
51
- /ENV
54
+ # Ignore intermediate isolate files
55
+ *.isolated
56
+ *.isolated.state
57
+
58
+ # Ignore recipe working directory.
59
+ /.recipe_deps
60
+ /infra/.recipe_deps
61
+
62
+ # Ignore google AE downloaded for running testing only.
63
+ testing_support/google_appengine
@@ -9,10 +9,10 @@ maruel@chromium.org
9
9
  nodir@chromium.org
10
10
  petermayo@chromium.org
11
11
  pgervais@chromium.org
12
- rogerta@chromium.org
12
+ phajdan.jr@chromium.org
13
13
  stip@chromium.org
14
+ tandrii@chromium.org
14
15
 
15
- per-file commit_queue*=akuegel@chromium.org
16
16
  per-file commit_queue*=phajdan.jr@chromium.org
17
17
  per-file commit_queue*=sergiyb@chromium.org
18
18
  per-file commit_queue*=tandrii@chromium.org
@@ -16,14 +16,16 @@ def CommonChecks(input_api, output_api, tests_to_black_list):
16
16
  results = []
17
17
  results.extend(input_api.canned_checks.CheckOwners(input_api, output_api))
18
18
  black_list = list(input_api.DEFAULT_BLACK_LIST) + [
19
+ r'^\.recipe_deps[\/\\].*',
20
+ r'^infra[\/\\]\.recipe_deps[\/\\].*',
19
21
  r'^cpplint\.py$',
20
22
  r'^cpplint_chromium\.py$',
21
23
  r'^external_bin[\/\\].+',
22
24
  r'^python[0-9]*_bin[\/\\].+',
25
+ r'^recipes\.py$',
23
26
  r'^site-packages-py[0-9]\.[0-9][\/\\].+',
24
27
  r'^svn_bin[\/\\].+',
25
- r'^testing_support[\/\\]_rietveld[\/\\].+',
26
- r'^bootstrap[\/\\].+']
28
+ r'^testing_support[\/\\]_rietveld[\/\\].+']
27
29
  if os.path.exists('.gitignore'):
28
30
  with open('.gitignore') as fh:
29
31
  lines = [l.strip() for l in fh.readlines()]
@@ -8,6 +8,9 @@
8
8
  {
9
9
 
10
10
  'WATCHLIST_DEFINITIONS': {
11
+ 'git_cl.py': {
12
+ 'filepath': 'git_cl.py',
13
+ },
11
14
  'this_file': {
12
15
  'filepath': '^WATCHLISTS$',
13
16
  },
@@ -18,6 +21,9 @@
18
21
 
19
22
  'WATCHLISTS': {
20
23
  'this_file': [],
24
+ 'git_cl.py': [
25
+ 'tandrii+omg_git_cl@chromium.org',
26
+ ],
21
27
  'depot_tools': [
22
28
  'dpranke+depot_tools@chromium.org',
23
29
  'iannucci+depot_tools@chromium.org',
@@ -5,7 +5,6 @@
5
5
 
6
6
  """Applies an issue from Rietveld.
7
7
  """
8
-
9
8
  import getpass
10
9
  import json
11
10
  import logging
@@ -15,7 +14,6 @@ import subprocess
15
14
  import sys
16
15
  import urllib2
17
16
 
18
- import breakpad # pylint: disable=W0611
19
17
 
20
18
  import annotated_gclient
21
19
  import auth
@@ -28,6 +26,12 @@ import scm
28
26
  BASE_DIR = os.path.dirname(os.path.abspath(__file__))
29
27
 
30
28
 
29
+ RETURN_CODE_OK = 0
30
+ RETURN_CODE_OTHER_FAILURE = 1 # any other failure, likely patch apply one.
31
+ RETURN_CODE_ARGPARSE_FAILURE = 2 # default in python.
32
+ RETURN_CODE_INFRA_FAILURE = 3 # considered as infra failure.
33
+
34
+
31
35
  class Unbuffered(object):
32
36
  """Disable buffering on a file object."""
33
37
  def __init__(self, stream):
@@ -41,9 +45,7 @@ class Unbuffered(object):
41
45
  return getattr(self.stream, attr)
42
46
 
43
47
 
44
- def main():
45
- # TODO(pgervais): This function is way too long. Split.
46
- sys.stdout = Unbuffered(sys.stdout)
48
+ def _get_arg_parser():
47
49
  parser = optparse.OptionParser(description=sys.modules[__name__].__doc__)
48
50
  parser.add_option(
49
51
  '-v', '--verbose', action='count', default=0,
@@ -92,6 +94,13 @@ def main():
92
94
  help='Don\'t run gclient sync on DEPS changes.')
93
95
 
94
96
  auth.add_auth_options(parser)
97
+ return parser
98
+
99
+
100
+ def main():
101
+ # TODO(pgervais,tandrii): split this func, it's still too long.
102
+ sys.stdout = Unbuffered(sys.stdout)
103
+ parser = _get_arg_parser()
95
104
  options, args = parser.parse_args()
96
105
  auth_config = auth.extract_auth_config_from_options(options)
97
106
 
@@ -106,6 +115,7 @@ def main():
106
115
  print 'update.flag file found: bot_update has run and checkout is already '
107
116
  print 'in a consistent state. No actions will be performed in this step.'
108
117
  return 0
118
+
109
119
  logging.basicConfig(
110
120
  format='%(levelname)5s %(module)11s(%(lineno)4d): %(message)s',
111
121
  level=[logging.WARNING, logging.INFO, logging.DEBUG][
@@ -131,19 +141,23 @@ def main():
131
141
  # Always try un-authenticated first, except for OAuth2
132
142
  if options.private_key_file:
133
143
  # OAuth2 authentication
134
- obj = rietveld.JwtOAuth2Rietveld(options.server,
144
+ rietveld_obj = rietveld.JwtOAuth2Rietveld(options.server,
135
145
  options.email,
136
146
  options.private_key_file)
137
- properties = obj.get_issue_properties(options.issue, False)
147
+ try:
148
+ properties = rietveld_obj.get_issue_properties(options.issue, False)
149
+ except urllib2.URLError:
150
+ logging.exception('failed to fetch issue properties')
151
+ sys.exit(RETURN_CODE_INFRA_FAILURE)
138
152
  else:
139
153
  # Passing None as auth_config disables authentication.
140
- obj = rietveld.Rietveld(options.server, None)
154
+ rietveld_obj = rietveld.Rietveld(options.server, None)
141
155
  properties = None
142
156
  # Bad except clauses order (HTTPError is an ancestor class of
143
157
  # ClientLoginError)
144
158
  # pylint: disable=E0701
145
159
  try:
146
- properties = obj.get_issue_properties(options.issue, False)
160
+ properties = rietveld_obj.get_issue_properties(options.issue, False)
147
161
  except urllib2.HTTPError as e:
148
162
  if e.getcode() != 302:
149
163
  raise
@@ -151,43 +165,54 @@ def main():
151
165
  exit('FAIL: Login detected -- is issue private?')
152
166
  # TODO(maruel): A few 'Invalid username or password.' are printed first,
153
167
  # we should get rid of those.
168
+ except urllib2.URLError:
169
+ logging.exception('failed to fetch issue properties')
170
+ return RETURN_CODE_INFRA_FAILURE
154
171
  except rietveld.upload.ClientLoginError as e:
155
172
  # Fine, we'll do proper authentication.
156
173
  pass
157
174
  if properties is None:
158
- obj = rietveld.Rietveld(options.server, auth_config, options.email)
175
+ rietveld_obj = rietveld.Rietveld(options.server, auth_config,
176
+ options.email)
159
177
  try:
160
- properties = obj.get_issue_properties(options.issue, False)
178
+ properties = rietveld_obj.get_issue_properties(options.issue, False)
161
179
  except rietveld.upload.ClientLoginError as e:
162
180
  print('Accessing the issue requires proper credentials.')
163
- return 1
181
+ return RETURN_CODE_OTHER_FAILURE
182
+ except urllib2.URLError:
183
+ logging.exception('failed to fetch issue properties')
184
+ return RETURN_CODE_INFRA_FAILURE
164
185
 
165
186
  if not options.patchset:
166
187
  options.patchset = properties['patchsets'][-1]
167
188
  print('No patchset specified. Using patchset %d' % options.patchset)
168
189
 
169
190
  issues_patchsets_to_apply = [(options.issue, options.patchset)]
191
+ try:
192
+ depends_on_info = rietveld_obj.get_depends_on_patchset(
193
+ options.issue, options.patchset)
194
+ except urllib2.URLError:
195
+ logging.exception('failed to fetch depends_on_patchset')
196
+ return RETURN_CODE_INFRA_FAILURE
170
197
 
171
- # Temporary comment out the below while we try to figure out what to do with
172
- # patchset dependencies on trybots.
173
- # TODO(rmistry): Uncomment the below after a solution is found.
174
- # depends_on_info = obj.get_depends_on_patchset(options.issue,
175
- # options.patchset)
176
- # while depends_on_info:
177
- # depends_on_issue = int(depends_on_info['issue'])
178
- # depends_on_patchset = int(depends_on_info['patchset'])
179
- # try:
180
- # depends_on_info = obj.get_depends_on_patchset(depends_on_issue,
181
- # depends_on_patchset)
182
- # issues_patchsets_to_apply.insert(0, (depends_on_issue,
183
- # depends_on_patchset))
184
- # except urllib2.HTTPError:
185
- # print ('The patchset that was marked as a dependency no longer '
186
- # 'exists: %s/%d/#ps%d' % (
187
- # options.server, depends_on_issue, depends_on_patchset))
188
- # print 'Therefore it is likely that this patch will not apply cleanly.'
189
- # print
190
- # depends_on_info = None
198
+ while depends_on_info:
199
+ depends_on_issue = int(depends_on_info['issue'])
200
+ depends_on_patchset = int(depends_on_info['patchset'])
201
+ try:
202
+ depends_on_info = rietveld_obj.get_depends_on_patchset(depends_on_issue,
203
+ depends_on_patchset)
204
+ issues_patchsets_to_apply.insert(0, (depends_on_issue,
205
+ depends_on_patchset))
206
+ except urllib2.HTTPError:
207
+ print ('The patchset that was marked as a dependency no longer '
208
+ 'exists: %s/%d/#ps%d' % (
209
+ options.server, depends_on_issue, depends_on_patchset))
210
+ print 'Therefore it is likely that this patch will not apply cleanly.'
211
+ print
212
+ depends_on_info = None
213
+ except urllib2.URLError:
214
+ logging.exception('failed to fetch dependency issue')
215
+ return RETURN_CODE_INFRA_FAILURE
191
216
 
192
217
  num_issues_patchsets_to_apply = len(issues_patchsets_to_apply)
193
218
  if num_issues_patchsets_to_apply > 1:
@@ -207,14 +232,21 @@ def main():
207
232
  patchset_to_apply)
208
233
  print('Downloading patch from %s' % issue_url)
209
234
  try:
210
- patchset = obj.get_patch(issue_to_apply, patchset_to_apply)
211
- except urllib2.HTTPError as e:
235
+ patchset = rietveld_obj.get_patch(issue_to_apply, patchset_to_apply)
236
+ except urllib2.HTTPError:
212
237
  print(
213
238
  'Failed to fetch the patch for issue %d, patchset %d.\n'
214
239
  'Try visiting %s/%d') % (
215
240
  issue_to_apply, patchset_to_apply,
216
241
  options.server, issue_to_apply)
217
- return 1
242
+ # If we got this far, then this is likely missing patchset.
243
+ # Thus, it's not infra failure.
244
+ return RETURN_CODE_OTHER_FAILURE
245
+ except urllib2.URLError:
246
+ logging.exception(
247
+ 'Failed to fetch the patch for issue %d, patchset %d',
248
+ issue_to_apply, patchset_to_apply)
249
+ return RETURN_CODE_INFRA_FAILURE
218
250
  if options.whitelist:
219
251
  patchset.patches = [patch for patch in patchset.patches
220
252
  if patch.filename in options.whitelist]
@@ -250,7 +282,7 @@ def main():
250
282
  print(str(e))
251
283
  print('CWD=%s' % os.getcwd())
252
284
  print('Checkout path=%s' % scm_obj.project_path)
253
- return 1
285
+ return RETURN_CODE_OTHER_FAILURE
254
286
 
255
287
  if ('DEPS' in map(os.path.basename, patchset.filenames)
256
288
  and not options.ignore_deps):
@@ -281,7 +313,7 @@ def main():
281
313
  annotated_gclient.emit_buildprops(revisions)
282
314
 
283
315
  return retcode
284
- return 0
316
+ return RETURN_CODE_OK
285
317
 
286
318
 
287
319
  if __name__ == "__main__":
@@ -290,4 +322,4 @@ if __name__ == "__main__":
290
322
  sys.exit(main())
291
323
  except KeyboardInterrupt:
292
324
  sys.stderr.write('interrupted\n')
293
- sys.exit(1)
325
+ sys.exit(RETURN_CODE_OTHER_FAILURE)