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,65 @@
1
+ #!/usr/bin/env python
2
+ # Copyright 2015 The Chromium Authors. All rights reserved.
3
+ # Use of this source code is governed by a BSD-style license that can be
4
+ # found in the LICENSE file.
5
+ """Usage: %prog <commit>*
6
+
7
+ Given a commit, finds the release where it first appeared (e.g. 47.0.2500.0) as
8
+ well as attempting to determine the branches to which it was merged.
9
+
10
+ Note that it uses the "cherry picked from" annotation to find merges, so it will
11
+ only work on merges that followed the "use cherry-pick -x" instructions.
12
+ """
13
+
14
+ import optparse
15
+ import re
16
+ import sys
17
+
18
+ import git_common as git
19
+
20
+
21
+ def GetNameForCommit(sha1):
22
+ name = re.sub(r'~.*$', '', git.run('name-rev', '--tags', '--name-only', sha1))
23
+ if name == 'undefined':
24
+ name = git.run(
25
+ 'name-rev', '--refs', 'remotes/branch-heads/*', '--name-only',
26
+ sha1) + ' [untagged]'
27
+ return name
28
+
29
+
30
+ def GetMergesForCommit(sha1):
31
+ return [c.split()[0] for c in
32
+ git.run('log', '--oneline', '-F', '--all', '--no-abbrev', '--grep',
33
+ 'cherry picked from commit %s' % sha1).splitlines()]
34
+
35
+
36
+ def main():
37
+ parser = optparse.OptionParser(usage=sys.modules[__name__].__doc__)
38
+ _, args = parser.parse_args()
39
+
40
+ if len(args) == 0:
41
+ parser.error('Need at least one commit.')
42
+
43
+ for arg in args:
44
+ commit_name = GetNameForCommit(arg)
45
+ if not commit_name:
46
+ print '%s not found' % arg
47
+ return 1
48
+ print 'commit %s was:' % arg
49
+ print ' initially in ' + commit_name
50
+ merges = GetMergesForCommit(arg)
51
+ for merge in merges:
52
+ print ' merged to ' + GetNameForCommit(merge) + ' (as ' + merge + ')'
53
+ if not merges:
54
+ print 'No merges found. If this seems wrong, be sure that you did:'
55
+ print ' git fetch origin && gclient sync --with_branch_heads'
56
+
57
+ return 0
58
+
59
+
60
+ if __name__ == '__main__':
61
+ try:
62
+ sys.exit(main())
63
+ except KeyboardInterrupt:
64
+ sys.stderr.write('interrupted\n')
65
+ sys.exit(1)
@@ -62,6 +62,48 @@ def get_footer_svn_id(branch=None):
62
62
  return svn_id
63
63
 
64
64
 
65
+ def get_footer_change_id(message):
66
+ """Returns a list of Gerrit's ChangeId from given commit message."""
67
+ return parse_footers(message).get(normalize_name('Change-Id'), [])
68
+
69
+
70
+ def add_footer_change_id(message, change_id):
71
+ """Returns message with Change-ID footer in it.
72
+
73
+ Assumes that Change-Id is not yet in footers, which is then
74
+ inserted after any of these footers: Bug|Issue|Test|Feature.
75
+ """
76
+ assert 0 == len(get_footer_change_id(message))
77
+ change_id_line = 'Change-Id: %s' % change_id
78
+ # This code does the same as parse_footers, but keeps track of line
79
+ # numbers so that ChangeId is inserted in the right place.
80
+ lines = message.splitlines()
81
+ footer_lines = []
82
+ for line in reversed(lines):
83
+ if line == '' or line.isspace():
84
+ break
85
+ footer_lines.append(line)
86
+ else:
87
+ # The whole description was consisting of footers,
88
+ # which means those aren't footers.
89
+ footer_lines = []
90
+ # footers order is from end to start of the message.
91
+ footers = map(parse_footer, footer_lines)
92
+ if not footers or not all(footers):
93
+ lines.append('')
94
+ lines.append(change_id_line)
95
+ else:
96
+ after = set(map(normalize_name, ['Bug', 'Issue', 'Test', 'Feature']))
97
+ for i, (key, _) in enumerate(footers):
98
+ if normalize_name(key) in after:
99
+ insert_at = len(lines) - i
100
+ break
101
+ else:
102
+ insert_at = len(lines) - len(footers)
103
+ lines.insert(insert_at, change_id_line)
104
+ return '\n'.join(lines)
105
+
106
+
65
107
  def get_unique(footers, key):
66
108
  key = normalize_name(key)
67
109
  values = footers[key]
@@ -0,0 +1,391 @@
1
+ #!/usr/bin/env python
2
+ # Copyright 2016 The Chromium Authors. All rights reserved.
3
+ # Use of this source code is governed by a BSD-style license that can be
4
+ # found in the LICENSE file.
5
+
6
+ """Wrapper around git blame that ignores certain commits.
7
+ """
8
+
9
+ from __future__ import print_function
10
+
11
+ import argparse
12
+ import collections
13
+ import logging
14
+ import os
15
+ import subprocess2
16
+ import sys
17
+
18
+ import git_common
19
+ import git_dates
20
+ import setup_color
21
+
22
+
23
+ logging.getLogger().setLevel(logging.INFO)
24
+
25
+
26
+ DEFAULT_IGNORE_FILE_NAME = '.git-blame-ignore-revs'
27
+
28
+
29
+ class Commit(object):
30
+ """Info about a commit."""
31
+ def __init__(self, commithash):
32
+ self.commithash = commithash
33
+ self.author = None
34
+ self.author_mail = None
35
+ self.author_time = None
36
+ self.author_tz = None
37
+ self.committer = None
38
+ self.committer_mail = None
39
+ self.committer_time = None
40
+ self.committer_tz = None
41
+ self.summary = None
42
+ self.boundary = None
43
+ self.previous = None
44
+ self.filename = None
45
+
46
+ def __repr__(self): # pragma: no cover
47
+ return '<Commit %s>' % self.commithash
48
+
49
+
50
+ BlameLine = collections.namedtuple(
51
+ 'BlameLine',
52
+ 'commit context lineno_then lineno_now modified')
53
+
54
+
55
+ def parse_blame(blameoutput):
56
+ """Parses the output of git blame -p into a data structure."""
57
+ lines = blameoutput.split('\n')
58
+ i = 0
59
+ commits = {}
60
+
61
+ while i < len(lines):
62
+ # Read a commit line and parse it.
63
+ line = lines[i]
64
+ i += 1
65
+ if not line.strip():
66
+ continue
67
+ commitline = line.split()
68
+ commithash = commitline[0]
69
+ lineno_then = int(commitline[1])
70
+ lineno_now = int(commitline[2])
71
+
72
+ try:
73
+ commit = commits[commithash]
74
+ except KeyError:
75
+ commit = Commit(commithash)
76
+ commits[commithash] = commit
77
+
78
+ # Read commit details until we find a context line.
79
+ while i < len(lines):
80
+ line = lines[i]
81
+ i += 1
82
+ if line.startswith('\t'):
83
+ break
84
+
85
+ try:
86
+ key, value = line.split(' ', 1)
87
+ except ValueError:
88
+ key = line
89
+ value = True
90
+ setattr(commit, key.replace('-', '_'), value)
91
+
92
+ context = line[1:]
93
+
94
+ yield BlameLine(commit, context, lineno_then, lineno_now, False)
95
+
96
+
97
+ def print_table(table, colsep=' ', rowsep='\n', align=None, out=sys.stdout):
98
+ """Print a 2D rectangular array, aligning columns with spaces.
99
+
100
+ Args:
101
+ align: Optional string of 'l' and 'r', designating whether each column is
102
+ left- or right-aligned. Defaults to left aligned.
103
+ """
104
+ if len(table) == 0:
105
+ return
106
+
107
+ colwidths = None
108
+ for row in table:
109
+ if colwidths is None:
110
+ colwidths = [len(x) for x in row]
111
+ else:
112
+ colwidths = [max(colwidths[i], len(x)) for i, x in enumerate(row)]
113
+
114
+ if align is None: # pragma: no cover
115
+ align = 'l' * len(colwidths)
116
+
117
+ for row in table:
118
+ cells = []
119
+ for i, cell in enumerate(row):
120
+ padding = ' ' * (colwidths[i] - len(cell))
121
+ if align[i] == 'r':
122
+ cell = padding + cell
123
+ elif i < len(row) - 1:
124
+ # Do not pad the final column if left-aligned.
125
+ cell += padding
126
+ cells.append(cell)
127
+ try:
128
+ print(*cells, sep=colsep, end=rowsep, file=out)
129
+ except IOError: # pragma: no cover
130
+ # Can happen on Windows if the pipe is closed early.
131
+ pass
132
+
133
+
134
+ def pretty_print(parsedblame, show_filenames=False, out=sys.stdout):
135
+ """Pretty-prints the output of parse_blame."""
136
+ table = []
137
+ for line in parsedblame:
138
+ author_time = git_dates.timestamp_offset_to_datetime(
139
+ line.commit.author_time, line.commit.author_tz)
140
+ row = [line.commit.commithash[:8],
141
+ '(' + line.commit.author,
142
+ git_dates.datetime_string(author_time),
143
+ str(line.lineno_now) + ('*' if line.modified else '') + ')',
144
+ line.context]
145
+ if show_filenames:
146
+ row.insert(1, line.commit.filename)
147
+ table.append(row)
148
+ print_table(table, align='llllrl' if show_filenames else 'lllrl', out=out)
149
+
150
+
151
+ def get_parsed_blame(filename, revision='HEAD'):
152
+ blame = git_common.blame(filename, revision=revision, porcelain=True)
153
+ return list(parse_blame(blame))
154
+
155
+
156
+ # Map from (oldrev, newrev) to hunk list (caching the results of git diff, but
157
+ # only the hunk line numbers, not the actual diff contents).
158
+ # hunk list contains (old, new) pairs, where old and new are (start, length)
159
+ # pairs. A hunk list can also be None (if the diff failed).
160
+ diff_hunks_cache = {}
161
+
162
+
163
+ def cache_diff_hunks(oldrev, newrev):
164
+ def parse_start_length(s):
165
+ # Chop the '-' or '+'.
166
+ s = s[1:]
167
+ # Length is optional (defaults to 1).
168
+ try:
169
+ start, length = s.split(',')
170
+ except ValueError:
171
+ start = s
172
+ length = 1
173
+ return int(start), int(length)
174
+
175
+ try:
176
+ return diff_hunks_cache[(oldrev, newrev)]
177
+ except KeyError:
178
+ pass
179
+
180
+ # Use -U0 to get the smallest possible hunks.
181
+ diff = git_common.diff(oldrev, newrev, '-U0')
182
+
183
+ # Get all the hunks.
184
+ hunks = []
185
+ for line in diff.split('\n'):
186
+ if not line.startswith('@@'):
187
+ continue
188
+ ranges = line.split(' ', 3)[1:3]
189
+ ranges = tuple(parse_start_length(r) for r in ranges)
190
+ hunks.append(ranges)
191
+
192
+ diff_hunks_cache[(oldrev, newrev)] = hunks
193
+ return hunks
194
+
195
+
196
+ def approx_lineno_across_revs(filename, newfilename, revision, newrevision,
197
+ lineno):
198
+ """Computes the approximate movement of a line number between two revisions.
199
+
200
+ Consider line |lineno| in |filename| at |revision|. This function computes the
201
+ line number of that line in |newfilename| at |newrevision|. This is
202
+ necessarily approximate.
203
+
204
+ Args:
205
+ filename: The file (within the repo) at |revision|.
206
+ newfilename: The name of the same file at |newrevision|.
207
+ revision: A git revision.
208
+ newrevision: Another git revision. Note: Can be ahead or behind |revision|.
209
+ lineno: Line number within |filename| at |revision|.
210
+
211
+ Returns:
212
+ Line number within |newfilename| at |newrevision|.
213
+ """
214
+ # This doesn't work that well if there are a lot of line changes within the
215
+ # hunk (demonstrated by GitHyperBlameLineMotionTest.testIntraHunkLineMotion).
216
+ # A fuzzy heuristic that takes the text of the new line and tries to find a
217
+ # deleted line within the hunk that mostly matches the new line could help.
218
+
219
+ # Use the <revision>:<filename> syntax to diff between two blobs. This is the
220
+ # only way to diff a file that has been renamed.
221
+ old = '%s:%s' % (revision, filename)
222
+ new = '%s:%s' % (newrevision, newfilename)
223
+ hunks = cache_diff_hunks(old, new)
224
+
225
+ cumulative_offset = 0
226
+
227
+ # Find the hunk containing lineno (if any).
228
+ for (oldstart, oldlength), (newstart, newlength) in hunks:
229
+ cumulative_offset += newlength - oldlength
230
+
231
+ if lineno >= oldstart + oldlength:
232
+ # Not there yet.
233
+ continue
234
+
235
+ if lineno < oldstart:
236
+ # Gone too far.
237
+ break
238
+
239
+ # lineno is in [oldstart, oldlength] at revision; [newstart, newlength] at
240
+ # newrevision.
241
+
242
+ # If newlength == 0, newstart will be the line before the deleted hunk.
243
+ # Since the line must have been deleted, just return that as the nearest
244
+ # line in the new file. Caution: newstart can be 0 in this case.
245
+ if newlength == 0:
246
+ return max(1, newstart)
247
+
248
+ newend = newstart + newlength - 1
249
+
250
+ # Move lineno based on the amount the entire hunk shifted.
251
+ lineno = lineno + newstart - oldstart
252
+ # Constrain the output within the range [newstart, newend].
253
+ return min(newend, max(newstart, lineno))
254
+
255
+ # Wasn't in a hunk. Figure out the line motion based on the difference in
256
+ # length between the hunks seen so far.
257
+ return lineno + cumulative_offset
258
+
259
+
260
+ def hyper_blame(ignored, filename, revision='HEAD', out=sys.stdout,
261
+ err=sys.stderr):
262
+ # Map from commit to parsed blame from that commit.
263
+ blame_from = {}
264
+
265
+ def cache_blame_from(filename, commithash):
266
+ try:
267
+ return blame_from[commithash]
268
+ except KeyError:
269
+ parsed = get_parsed_blame(filename, commithash)
270
+ blame_from[commithash] = parsed
271
+ return parsed
272
+
273
+ try:
274
+ parsed = cache_blame_from(filename, git_common.hash_one(revision))
275
+ except subprocess2.CalledProcessError as e:
276
+ err.write(e.stderr)
277
+ return e.returncode
278
+
279
+ new_parsed = []
280
+
281
+ # We don't show filenames in blame output unless we have to.
282
+ show_filenames = False
283
+
284
+ for line in parsed:
285
+ # If a line references an ignored commit, blame that commit's parent
286
+ # repeatedly until we find a non-ignored commit.
287
+ while line.commit.commithash in ignored:
288
+ if line.commit.previous is None:
289
+ # You can't ignore the commit that added this file.
290
+ break
291
+
292
+ previouscommit, previousfilename = line.commit.previous.split(' ', 1)
293
+ parent_blame = cache_blame_from(previousfilename, previouscommit)
294
+
295
+ if len(parent_blame) == 0:
296
+ # The previous version of this file was empty, therefore, you can't
297
+ # ignore this commit.
298
+ break
299
+
300
+ # line.lineno_then is the line number in question at line.commit. We need
301
+ # to translate that line number so that it refers to the position of the
302
+ # same line on previouscommit.
303
+ lineno_previous = approx_lineno_across_revs(
304
+ line.commit.filename, previousfilename, line.commit.commithash,
305
+ previouscommit, line.lineno_then)
306
+ logging.debug('ignore commit %s on line p%d/t%d/n%d',
307
+ line.commit.commithash, lineno_previous, line.lineno_then,
308
+ line.lineno_now)
309
+
310
+ # Get the line at lineno_previous in the parent commit.
311
+ assert 1 <= lineno_previous <= len(parent_blame)
312
+ newline = parent_blame[lineno_previous - 1]
313
+
314
+ # Replace the commit and lineno_then, but not the lineno_now or context.
315
+ logging.debug(' replacing with %r', newline)
316
+ line = BlameLine(newline.commit, line.context, lineno_previous,
317
+ line.lineno_now, True)
318
+
319
+ # If any line has a different filename to the file's current name, turn on
320
+ # filename display for the entire blame output.
321
+ if line.commit.filename != filename:
322
+ show_filenames = True
323
+
324
+ new_parsed.append(line)
325
+
326
+ pretty_print(new_parsed, show_filenames=show_filenames, out=out)
327
+
328
+ return 0
329
+
330
+
331
+ def parse_ignore_file(ignore_file):
332
+ for line in ignore_file:
333
+ line = line.split('#', 1)[0].strip()
334
+ if line:
335
+ yield line
336
+
337
+
338
+ def main(args, stdout=sys.stdout, stderr=sys.stderr):
339
+ parser = argparse.ArgumentParser(
340
+ prog='git hyper-blame',
341
+ description='git blame with support for ignoring certain commits.')
342
+ parser.add_argument('-i', metavar='REVISION', action='append', dest='ignored',
343
+ default=[], help='a revision to ignore')
344
+ parser.add_argument('--ignore-file', metavar='FILE',
345
+ type=argparse.FileType('r'), dest='ignore_file',
346
+ help='a file containing a list of revisions to ignore')
347
+ parser.add_argument('--no-default-ignores', dest='no_default_ignores',
348
+ help='Do not ignore commits from .git-blame-ignore-revs.')
349
+ parser.add_argument('revision', nargs='?', default='HEAD', metavar='REVISION',
350
+ help='revision to look at')
351
+ parser.add_argument('filename', metavar='FILE', help='filename to blame')
352
+
353
+ args = parser.parse_args(args)
354
+ try:
355
+ repo_root = git_common.repo_root()
356
+ except subprocess2.CalledProcessError as e:
357
+ stderr.write(e.stderr)
358
+ return e.returncode
359
+
360
+ # Make filename relative to the repository root, and cd to the root dir (so
361
+ # all filenames throughout this script are relative to the root).
362
+ filename = os.path.relpath(args.filename, repo_root)
363
+ os.chdir(repo_root)
364
+
365
+ # Normalize filename so we can compare it to other filenames git gives us.
366
+ filename = os.path.normpath(filename)
367
+ filename = os.path.normcase(filename)
368
+
369
+ ignored_list = list(args.ignored)
370
+ if not args.no_default_ignores and os.path.exists(DEFAULT_IGNORE_FILE_NAME):
371
+ with open(DEFAULT_IGNORE_FILE_NAME) as ignore_file:
372
+ ignored_list.extend(parse_ignore_file(ignore_file))
373
+
374
+ if args.ignore_file:
375
+ ignored_list.extend(parse_ignore_file(args.ignore_file))
376
+
377
+ ignored = set()
378
+ for c in ignored_list:
379
+ try:
380
+ ignored.add(git_common.hash_one(c))
381
+ except subprocess2.CalledProcessError as e:
382
+ # Custom warning string (the message from git-rev-parse is inappropriate).
383
+ stderr.write('warning: unknown revision \'%s\'.\n' % c)
384
+
385
+ return hyper_blame(ignored, filename, args.revision, out=stdout, err=stderr)
386
+
387
+
388
+ if __name__ == '__main__': # pragma: no cover
389
+ setup_color.init()
390
+ with git_common.less() as less_input:
391
+ sys.exit(main(sys.argv[1:], stdout=less_input))