libv8 7.3.492.27.0 → 8.4.255.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (718) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +11 -14
  4. data/CHANGELOG.md +10 -0
  5. data/README.md +10 -11
  6. data/Rakefile +30 -36
  7. data/ext/libv8/builder.rb +1 -1
  8. data/lib/libv8/version.rb +1 -1
  9. data/libv8.gemspec +1 -3
  10. data/vendor/depot_tools/{cipd.ps1 → .cipd_impl.ps1} +0 -0
  11. data/vendor/depot_tools/.gitattributes +1 -1
  12. data/vendor/depot_tools/.gitignore +7 -2
  13. data/vendor/depot_tools/.style.yapf +3 -1
  14. data/vendor/depot_tools/.vpython +55 -0
  15. data/vendor/depot_tools/.vpython3 +23 -0
  16. data/vendor/depot_tools/CROS_OWNERS +3 -1
  17. data/vendor/depot_tools/GOMA_OWNERS +9 -0
  18. data/vendor/depot_tools/LUCI_OWNERS +5 -0
  19. data/vendor/depot_tools/OWNERS +21 -6
  20. data/vendor/depot_tools/PRESUBMIT.py +35 -18
  21. data/vendor/depot_tools/README.git-cl.md +0 -14
  22. data/vendor/depot_tools/README.md +1 -1
  23. data/vendor/depot_tools/WATCHLISTS +2 -2
  24. data/vendor/depot_tools/auth.py +60 -772
  25. data/vendor/depot_tools/autoninja +12 -6
  26. data/vendor/depot_tools/autoninja.bat +14 -6
  27. data/vendor/depot_tools/autoninja.py +64 -27
  28. data/vendor/depot_tools/bb +1 -1
  29. data/vendor/depot_tools/bootstrap/{win/README.md → README.md} +28 -14
  30. data/vendor/depot_tools/bootstrap/{win/win_tools.py → bootstrap.py} +60 -43
  31. data/vendor/depot_tools/bootstrap/{win/git-bash.template.sh → git-bash.template.sh} +1 -1
  32. data/vendor/depot_tools/bootstrap/{win/git.template.bat → git.template.bat} +0 -0
  33. data/vendor/depot_tools/bootstrap/manifest.txt +27 -0
  34. data/vendor/depot_tools/bootstrap/manifest_bleeding_edge.txt +27 -0
  35. data/vendor/depot_tools/bootstrap/{win/profile.d.python.sh → profile.d.python.sh} +0 -0
  36. data/vendor/depot_tools/bootstrap/{win/python27.bleeding_edge.bat → python27.bat} +0 -0
  37. data/vendor/depot_tools/bootstrap/{win/python27.new.bat → python3.bat} +3 -3
  38. data/vendor/depot_tools/bootstrap/{win/win_tools.bat → win_tools.bat} +21 -16
  39. data/vendor/depot_tools/bootstrap_python3 +35 -0
  40. data/vendor/depot_tools/cbuildbot +1 -1
  41. data/vendor/depot_tools/chrome_set_ver +1 -1
  42. data/vendor/depot_tools/cipd +43 -39
  43. data/vendor/depot_tools/cipd.bat +2 -2
  44. data/vendor/depot_tools/cipd_client_version +1 -1
  45. data/vendor/depot_tools/cipd_client_version.digests +15 -14
  46. data/vendor/depot_tools/cipd_manifest.txt +31 -8
  47. data/vendor/depot_tools/cipd_manifest.versions +278 -158
  48. data/vendor/depot_tools/cit.py +9 -7
  49. data/vendor/depot_tools/clang_format.py +4 -1
  50. data/vendor/depot_tools/clang_format_merge_driver.py +10 -8
  51. data/vendor/depot_tools/compile_single_file.py +7 -2
  52. data/vendor/depot_tools/cpplint.py +51 -45
  53. data/vendor/depot_tools/cros +87 -0
  54. data/vendor/depot_tools/cros_sdk +1 -1
  55. data/vendor/depot_tools/crosjobs +13 -0
  56. data/vendor/depot_tools/detect_host_arch.py +0 -1
  57. data/vendor/depot_tools/dirmd +12 -0
  58. data/vendor/depot_tools/dirmd.bat +7 -0
  59. data/vendor/depot_tools/download_from_google_storage.py +47 -27
  60. data/vendor/depot_tools/ensure_bootstrap +14 -0
  61. data/vendor/depot_tools/fetch +14 -1
  62. data/vendor/depot_tools/fetch.bat +14 -1
  63. data/vendor/depot_tools/fetch.py +5 -7
  64. data/vendor/depot_tools/fetch_configs/chromium.py +6 -4
  65. data/vendor/depot_tools/fetch_configs/devtools-frontend.py +44 -0
  66. data/vendor/depot_tools/fetch_configs/ios_internal.py +10 -19
  67. data/vendor/depot_tools/fix_encoding.py +19 -5
  68. data/vendor/depot_tools/gclient +28 -12
  69. data/vendor/depot_tools/gclient-new-workdir.py +2 -0
  70. data/vendor/depot_tools/gclient.bat +18 -1
  71. data/vendor/depot_tools/gclient.py +160 -119
  72. data/vendor/depot_tools/gclient_eval.py +119 -107
  73. data/vendor/depot_tools/gclient_paths.py +67 -57
  74. data/vendor/depot_tools/gclient_scm.py +181 -159
  75. data/vendor/depot_tools/gclient_utils.py +177 -124
  76. data/vendor/depot_tools/gerrit_client.py +21 -13
  77. data/vendor/depot_tools/gerrit_util.py +188 -228
  78. data/vendor/depot_tools/git-cache +1 -1
  79. data/vendor/depot_tools/git-cl +1 -1
  80. data/vendor/depot_tools/git-drover +1 -1
  81. data/vendor/depot_tools/git-find-releases +1 -1
  82. data/vendor/depot_tools/git-footers +1 -1
  83. data/vendor/depot_tools/git-freeze +1 -1
  84. data/vendor/depot_tools/git-hyper-blame +1 -1
  85. data/vendor/depot_tools/git-map +1 -1
  86. data/vendor/depot_tools/git-map-branches +1 -1
  87. data/vendor/depot_tools/git-mark-merge-base +1 -1
  88. data/vendor/depot_tools/git-nav-downstream +1 -1
  89. data/vendor/depot_tools/git-new-branch +1 -1
  90. data/vendor/depot_tools/git-number +1 -1
  91. data/vendor/depot_tools/git-rebase-update +1 -1
  92. data/vendor/depot_tools/git-rename-branch +1 -1
  93. data/vendor/depot_tools/git-reparent-branch +1 -1
  94. data/vendor/depot_tools/git-retry +1 -1
  95. data/vendor/depot_tools/git-squash-branch +1 -1
  96. data/vendor/depot_tools/git-thaw +1 -1
  97. data/vendor/depot_tools/git-upstream-diff +1 -1
  98. data/vendor/depot_tools/git_cache.py +255 -360
  99. data/vendor/depot_tools/git_cl.py +1562 -2059
  100. data/vendor/depot_tools/git_cl_completion.sh +16 -2
  101. data/vendor/depot_tools/git_common.py +77 -32
  102. data/vendor/depot_tools/git_drover.py +17 -8
  103. data/vendor/depot_tools/git_find_releases.py +11 -9
  104. data/vendor/depot_tools/git_footers.py +13 -9
  105. data/vendor/depot_tools/git_freezer.py +3 -1
  106. data/vendor/depot_tools/git_hyper_blame.py +25 -32
  107. data/vendor/depot_tools/git_map.py +115 -93
  108. data/vendor/depot_tools/git_map_branches.py +11 -10
  109. data/vendor/depot_tools/git_mark_merge_base.py +8 -6
  110. data/vendor/depot_tools/git_nav_downstream.py +9 -6
  111. data/vendor/depot_tools/git_new_branch.py +39 -33
  112. data/vendor/depot_tools/git_number.py +28 -17
  113. data/vendor/depot_tools/git_rebase_update.py +50 -49
  114. data/vendor/depot_tools/git_rename_branch.py +2 -2
  115. data/vendor/depot_tools/git_reparent_branch.py +8 -6
  116. data/vendor/depot_tools/git_upstream_diff.py +4 -2
  117. data/vendor/depot_tools/gn.py +6 -4
  118. data/vendor/depot_tools/goma_auth +12 -0
  119. data/vendor/depot_tools/goma_auth.bat +8 -0
  120. data/vendor/depot_tools/goma_ctl +12 -0
  121. data/vendor/depot_tools/goma_ctl.bat +8 -0
  122. data/vendor/depot_tools/gsutil.py +5 -2
  123. data/vendor/depot_tools/gsutil.py.bat +8 -0
  124. data/vendor/depot_tools/gsutil.vpython +3 -1
  125. data/vendor/depot_tools/infra/config/OWNERS +2 -2
  126. data/vendor/depot_tools/infra/config/recipes.cfg +3 -2
  127. data/vendor/depot_tools/led +1 -1
  128. data/vendor/depot_tools/lockfile.py +116 -0
  129. data/vendor/depot_tools/luci-auth +1 -1
  130. data/vendor/depot_tools/lucicfg +1 -1
  131. data/vendor/depot_tools/mac_toolchain +1 -1
  132. data/vendor/depot_tools/man/html/depot_tools.html +1 -1
  133. data/vendor/depot_tools/man/html/depot_tools_tutorial.html +31 -25
  134. data/vendor/depot_tools/man/html/git-cl.html +1 -1
  135. data/vendor/depot_tools/man/html/git-drover.html +18 -18
  136. data/vendor/depot_tools/man/html/git-footers.html +1 -1
  137. data/vendor/depot_tools/man/html/git-freeze.html +3 -3
  138. data/vendor/depot_tools/man/html/git-hyper-blame.html +1 -1
  139. data/vendor/depot_tools/man/html/git-map-branches.html +2 -2
  140. data/vendor/depot_tools/man/html/git-map.html +1 -1
  141. data/vendor/depot_tools/man/html/git-mark-merge-base.html +1 -1
  142. data/vendor/depot_tools/man/html/git-nav-downstream.html +3 -3
  143. data/vendor/depot_tools/man/html/git-nav-upstream.html +12 -6
  144. data/vendor/depot_tools/man/html/git-new-branch.html +1 -1
  145. data/vendor/depot_tools/man/html/git-rebase-update.html +20 -1
  146. data/vendor/depot_tools/man/html/git-rename-branch.html +1 -1
  147. data/vendor/depot_tools/man/html/git-reparent-branch.html +1 -1
  148. data/vendor/depot_tools/man/html/git-retry.html +1 -1
  149. data/vendor/depot_tools/man/html/git-squash-branch.html +1 -1
  150. data/vendor/depot_tools/man/html/git-thaw.html +1 -1
  151. data/vendor/depot_tools/man/html/git-upstream-diff.html +10 -6
  152. data/vendor/depot_tools/man/man1/git-cl.1 +4 -4
  153. data/vendor/depot_tools/man/man1/git-drover.1 +21 -21
  154. data/vendor/depot_tools/man/man1/git-footers.1 +4 -4
  155. data/vendor/depot_tools/man/man1/git-freeze.1 +6 -6
  156. data/vendor/depot_tools/man/man1/git-hyper-blame.1 +4 -4
  157. data/vendor/depot_tools/man/man1/git-map-branches.1 +4 -4
  158. data/vendor/depot_tools/man/man1/git-map.1 +4 -4
  159. data/vendor/depot_tools/man/man1/git-mark-merge-base.1 +4 -4
  160. data/vendor/depot_tools/man/man1/git-nav-downstream.1 +6 -6
  161. data/vendor/depot_tools/man/man1/git-nav-upstream.1 +15 -9
  162. data/vendor/depot_tools/man/man1/git-new-branch.1 +3 -3
  163. data/vendor/depot_tools/man/man1/git-rebase-update.1 +14 -4
  164. data/vendor/depot_tools/man/man1/git-rename-branch.1 +4 -4
  165. data/vendor/depot_tools/man/man1/git-reparent-branch.1 +4 -4
  166. data/vendor/depot_tools/man/man1/git-retry.1 +4 -4
  167. data/vendor/depot_tools/man/man1/git-squash-branch.1 +4 -4
  168. data/vendor/depot_tools/man/man1/git-thaw.1 +4 -4
  169. data/vendor/depot_tools/man/man1/git-upstream-diff.1 +7 -13
  170. data/vendor/depot_tools/man/man7/depot_tools.7 +4 -4
  171. data/vendor/depot_tools/man/man7/depot_tools_tutorial.7 +31 -25
  172. data/vendor/depot_tools/man/src/common_demo_functions.sh +2 -2
  173. data/vendor/depot_tools/man/src/depot_tools_tutorial.txt +3 -3
  174. data/vendor/depot_tools/man/src/filter_demo_output.py +4 -2
  175. data/vendor/depot_tools/man/src/git-new-branch.txt +2 -1
  176. data/vendor/depot_tools/man/src/git-rebase-update.txt +8 -1
  177. data/vendor/depot_tools/metrics.README.md +8 -5
  178. data/vendor/depot_tools/metrics.py +7 -6
  179. data/vendor/depot_tools/metrics_utils.py +4 -14
  180. data/vendor/depot_tools/my_activity.py +85 -251
  181. data/vendor/depot_tools/ninja +1 -0
  182. data/vendor/depot_tools/ninja-mac +0 -0
  183. data/vendor/depot_tools/ninjalog_uploader.py +146 -145
  184. data/vendor/depot_tools/ninjalog_uploader_wrapper.py +69 -60
  185. data/vendor/depot_tools/owners.py +156 -43
  186. data/vendor/depot_tools/owners_finder.py +28 -14
  187. data/vendor/depot_tools/post_build_ninja_summary.py +76 -48
  188. data/vendor/depot_tools/presubmit_canned_checks.py +293 -106
  189. data/vendor/depot_tools/presubmit_support.py +527 -333
  190. data/vendor/depot_tools/prpc +1 -1
  191. data/vendor/depot_tools/pylint +2 -12
  192. data/vendor/depot_tools/pylint-1.5 +78 -0
  193. data/vendor/depot_tools/pylint-1.6 +78 -0
  194. data/vendor/depot_tools/pylint-1.7 +78 -0
  195. data/vendor/depot_tools/pylint-1.8 +78 -0
  196. data/vendor/depot_tools/pylint-1.9 +78 -0
  197. data/vendor/depot_tools/{depot-tools-auth.bat → pylint.bat} +2 -2
  198. data/vendor/depot_tools/pylint_main.py +45 -0
  199. data/vendor/depot_tools/pylintrc +14 -1
  200. data/vendor/depot_tools/python-bin/python3 +7 -0
  201. data/vendor/depot_tools/python_runner.sh +13 -8
  202. data/vendor/depot_tools/rdb +12 -0
  203. data/vendor/depot_tools/rdb.bat +7 -0
  204. data/vendor/depot_tools/recipes/OWNERS +0 -1
  205. data/vendor/depot_tools/recipes/README.recipes.md +218 -151
  206. data/vendor/depot_tools/recipes/recipe_modules/OWNERS +1 -1
  207. data/vendor/depot_tools/recipes/recipe_modules/bot_update/__init__.py +17 -16
  208. data/vendor/depot_tools/recipes/recipe_modules/bot_update/api.py +127 -78
  209. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic.json +19 -4
  210. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_luci.json +18 -3
  211. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_with_branch_heads.json +19 -4
  212. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/clobber.json +29 -8
  213. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json +28 -10
  214. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_rebase_patch_ref.json +29 -8
  215. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_reset.json +29 -8
  216. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/input_commit_with_id_without_repo.json +29 -8
  217. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/multiple_patch_refs.json +29 -8
  218. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_apply_patch_on_gclient.json +35 -10
  219. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{with_manifest_name.json → no_cp_checkout_HEAD.json} +25 -15
  220. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_a_branch_head.json +65 -0
  221. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_a_specific_commit.json +65 -0
  222. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_cp_checkout_master.json +65 -0
  223. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/refs.json +29 -8
  224. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/reset_root_solution_revision.json +29 -8
  225. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/resolve_chromium_fixed_version.json +117 -0
  226. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail.json +17 -11
  227. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json +41 -10
  228. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json +24 -11
  229. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle.json +35 -10
  230. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_branch_heads.json +35 -10
  231. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_feature_branch.json +38 -11
  232. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8_feature_branch.json +36 -11
  233. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_webrtc.json +35 -10
  234. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json +35 -10
  235. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json +35 -10
  236. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/unrecognized_commit_repo.json +0 -5
  237. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_tags.json +29 -8
  238. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.py +95 -22
  239. data/vendor/depot_tools/recipes/recipe_modules/bot_update/resources/bot_update.py +187 -114
  240. data/vendor/depot_tools/recipes/recipe_modules/bot_update/test_api.py +2 -2
  241. data/vendor/depot_tools/recipes/recipe_modules/bot_update/tests/do_not_retry_patch_failures_in_cq.py +42 -0
  242. data/vendor/depot_tools/recipes/recipe_modules/bot_update/tests/ensure_checkout.py +1 -0
  243. data/vendor/depot_tools/recipes/recipe_modules/cipd/__init__.py +0 -1
  244. data/vendor/depot_tools/recipes/recipe_modules/cipd/api.py +2 -2
  245. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic.json +0 -1
  246. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic_pkg.json +0 -1
  247. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-failed.json +2 -4
  248. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-many-instances.json +0 -1
  249. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/mac64.json +0 -1
  250. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_file.json +26 -6
  251. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_mode.json +23 -5
  252. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_verfile.json +23 -5
  253. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/win64.json +0 -1
  254. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk arch.json +0 -1
  255. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk bits.json +0 -1
  256. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_32.json +0 -1
  257. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_64.json +0 -1
  258. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_32.json +0 -1
  259. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_64.json +0 -1
  260. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_mips_64.json +0 -1
  261. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/mac_intel_64.json +0 -1
  262. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_32.json +0 -1
  263. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_64.json +0 -1
  264. data/vendor/depot_tools/recipes/recipe_modules/cipd/test_api.py +1 -1
  265. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/api.py +4 -1
  266. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic.json +4 -2
  267. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic_luci.json +3 -1
  268. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/win.json +4 -2
  269. data/vendor/depot_tools/recipes/recipe_modules/gclient/__init__.py +2 -1
  270. data/vendor/depot_tools/recipes/recipe_modules/gclient/api.py +82 -13
  271. data/vendor/depot_tools/recipes/recipe_modules/gclient/config.py +23 -11
  272. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/basic.json +3 -4
  273. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/revision.json +3 -6
  274. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/tryserver.json +3 -4
  275. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.py +7 -7
  276. data/vendor/depot_tools/recipes/recipe_modules/gclient/resources/diff_deps.py +16 -0
  277. data/vendor/depot_tools/recipes/recipe_modules/gclient/test_api.py +4 -0
  278. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/basic.json +55 -0
  279. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/dont have revision yet.json +84 -0
  280. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/no change, exception.json +83 -0
  281. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.expected/windows.json +55 -0
  282. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/diff_deps.py +88 -0
  283. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/patch_project.py +9 -21
  284. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/sync_failure.py +24 -0
  285. data/vendor/depot_tools/recipes/recipe_modules/gerrit/api.py +2 -1
  286. data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.expected/basic.json +7 -12
  287. data/vendor/depot_tools/recipes/recipe_modules/git/__init__.py +0 -2
  288. data/vendor/depot_tools/recipes/recipe_modules/git/api.py +9 -17
  289. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic.json +2 -8
  290. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_branch.json +2 -8
  291. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_file_name.json +2 -8
  292. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_hash.json +2 -8
  293. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_ref.json +2 -8
  294. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_submodule_update_force.json +2 -8
  295. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_tags.json +2 -8
  296. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/can_fail_build.json +3 -13
  297. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cannot_fail_build.json +2 -8
  298. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cat-file_test.json +4 -12
  299. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_delta.json +2 -10
  300. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_failed.json +1 -7
  301. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output.json +1 -7
  302. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output_fails_build.json +0 -8
  303. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/curl_trace_file.json +3 -10
  304. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/git-cache-checkout.json +3 -11
  305. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/platform_win.json +2 -8
  306. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/rebase_failed.json +3 -13
  307. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/remote_not_origin.json +2 -8
  308. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/set_got_revision.json +2 -8
  309. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.py +0 -5
  310. data/vendor/depot_tools/recipes/recipe_modules/git_cl/__init__.py +1 -1
  311. data/vendor/depot_tools/recipes/recipe_modules/git_cl/api.py +7 -13
  312. data/vendor/depot_tools/recipes/recipe_modules/git_cl/examples/full.expected/basic.json +21 -16
  313. data/vendor/depot_tools/recipes/recipe_modules/git_cl/examples/full.py +1 -2
  314. data/vendor/depot_tools/recipes/recipe_modules/gitiles/api.py +1 -1
  315. data/vendor/depot_tools/recipes/recipe_modules/gitiles/examples/full.expected/basic.json +0 -1
  316. data/vendor/depot_tools/recipes/recipe_modules/gitiles/resources/gerrit_client.py +2 -2
  317. data/vendor/depot_tools/recipes/recipe_modules/gitiles/tests/parse_repo_url.expected/basic.json +0 -1
  318. data/vendor/depot_tools/recipes/recipe_modules/gsutil/api.py +23 -8
  319. data/vendor/depot_tools/recipes/recipe_modules/gsutil/examples/full.expected/basic.json +52 -1
  320. data/vendor/depot_tools/recipes/recipe_modules/gsutil/examples/full.py +15 -0
  321. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/__init__.py +1 -0
  322. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/api.py +32 -8
  323. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/ancient_version.json +83 -0
  324. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/automatic_version.json +83 -0
  325. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/explicit_version.json +83 -0
  326. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/linux.json +0 -1
  327. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/mac.json +5 -4
  328. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/win.json +0 -1
  329. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.py +21 -2
  330. data/vendor/depot_tools/recipes/recipe_modules/presubmit/__init__.py +20 -0
  331. data/vendor/depot_tools/recipes/recipe_modules/presubmit/api.py +235 -3
  332. data/vendor/depot_tools/recipes/recipe_modules/presubmit/examples/full.expected/basic.json +13 -5
  333. data/vendor/depot_tools/recipes/recipe_modules/presubmit/examples/full.py +5 -1
  334. data/vendor/depot_tools/recipes/recipe_modules/presubmit/properties.proto +14 -0
  335. data/vendor/depot_tools/recipes/recipe_modules/presubmit/test_api.py +19 -0
  336. data/vendor/depot_tools/recipes/recipe_modules/presubmit/tests/execute.py +247 -0
  337. data/vendor/depot_tools/recipes/recipe_modules/presubmit/tests/prepare.py +49 -0
  338. data/vendor/depot_tools/recipes/recipe_modules/tryserver/api.py +33 -45
  339. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/basic_tags.json +0 -1
  340. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch.json +64 -21
  341. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch_and_target_ref.json +64 -21
  342. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch.json +1 -22
  343. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch_new.json +1 -22
  344. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.py +5 -32
  345. data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_fetch_ref_timeout.py +29 -0
  346. data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_owner.expected/basic.json +5 -0
  347. data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_owner.py +22 -0
  348. data/vendor/depot_tools/recipes/recipe_modules/tryserver/tests/gerrit_change_target_ref.py +32 -0
  349. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/linux.json +0 -1
  350. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/mac.json +0 -1
  351. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/win.json +2 -1
  352. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.py +1 -6
  353. data/vendor/depot_tools/recipes/recipes.py +49 -28
  354. data/vendor/depot_tools/recipes/recipes/fetch_end_to_end_test.expected/basic.json +11 -6
  355. data/vendor/depot_tools/repo +698 -540
  356. data/vendor/depot_tools/roll-dep +14 -1
  357. data/vendor/depot_tools/roll-dep.bat +10 -1
  358. data/vendor/depot_tools/roll_dep.py +15 -10
  359. data/vendor/depot_tools/scm.py +95 -75
  360. data/vendor/depot_tools/setup_color.py +36 -2
  361. data/vendor/depot_tools/split_cl.py +44 -32
  362. data/vendor/depot_tools/subcommand.py +6 -6
  363. data/vendor/depot_tools/subprocess2.py +38 -322
  364. data/vendor/depot_tools/third_party/colorama/LICENSE.txt +0 -1
  365. data/vendor/depot_tools/third_party/colorama/README.chromium +4 -5
  366. data/vendor/depot_tools/third_party/colorama/README.rst +346 -0
  367. data/vendor/depot_tools/third_party/colorama/__init__.py +3 -4
  368. data/vendor/depot_tools/third_party/colorama/ansi.py +82 -30
  369. data/vendor/depot_tools/third_party/colorama/ansitowin32.py +105 -37
  370. data/vendor/depot_tools/third_party/colorama/initialise.py +39 -15
  371. data/vendor/depot_tools/third_party/colorama/win32.py +46 -28
  372. data/vendor/depot_tools/third_party/colorama/winterm.py +80 -31
  373. data/vendor/depot_tools/update_depot_tools +18 -8
  374. data/vendor/depot_tools/update_depot_tools.bat +19 -15
  375. data/vendor/depot_tools/upload_metrics.py +7 -6
  376. data/vendor/depot_tools/upload_to_google_storage.py +23 -16
  377. data/vendor/depot_tools/vpython +4 -4
  378. data/vendor/depot_tools/vpython.bat +1 -1
  379. data/vendor/depot_tools/vpython3 +55 -0
  380. data/vendor/depot_tools/vpython3.bat +12 -0
  381. data/vendor/depot_tools/watchlists.py +14 -11
  382. data/vendor/depot_tools/weekly +4 -2
  383. data/vendor/depot_tools/win32imports.py +61 -0
  384. data/vendor/depot_tools/win_toolchain/get_toolchain_if_necessary.py +49 -41
  385. data/vendor/depot_tools/win_toolchain/package_from_installed.py +142 -149
  386. data/vendor/depot_tools/wtf +5 -3
  387. data/vendor/depot_tools/yapf +5 -1
  388. metadata +68 -343
  389. data/vendor/depot_tools/README.testing +0 -23
  390. data/vendor/depot_tools/annotated_gclient.py +0 -89
  391. data/vendor/depot_tools/appengine_mapper.py +0 -23
  392. data/vendor/depot_tools/bootstrap/win/manifest.txt +0 -20
  393. data/vendor/depot_tools/bootstrap/win/manifest_bleeding_edge.txt +0 -20
  394. data/vendor/depot_tools/bootstrap/win/pylint.new.bat +0 -7
  395. data/vendor/depot_tools/buildbucket.py +0 -186
  396. data/vendor/depot_tools/checkout.py +0 -431
  397. data/vendor/depot_tools/cros +0 -1
  398. data/vendor/depot_tools/dart_format.py +0 -58
  399. data/vendor/depot_tools/depot-tools-auth +0 -8
  400. data/vendor/depot_tools/depot-tools-auth.py +0 -102
  401. data/vendor/depot_tools/my_reviews.py +0 -396
  402. data/vendor/depot_tools/patch.py +0 -548
  403. data/vendor/depot_tools/pylint.py +0 -30
  404. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/buildbot.json +0 -239
  405. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_luci.json +0 -222
  406. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/__init__.py +0 -4
  407. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/api.py +0 -29
  408. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/basic.json +0 -15
  409. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_linux.json +0 -15
  410. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_mac.json +0 -15
  411. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_win.json +0 -15
  412. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_linux.json +0 -15
  413. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_mac.json +0 -15
  414. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_win.json +0 -15
  415. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_linux.json +0 -15
  416. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_mac.json +0 -15
  417. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_win.json +0 -15
  418. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.py +0 -33
  419. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/path_config.py +0 -66
  420. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/set_failure_hash_with_no_steps.json +0 -11
  421. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch.json +0 -45
  422. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch_luci.json +0 -45
  423. data/vendor/depot_tools/rietveld.py +0 -779
  424. data/vendor/depot_tools/roll-dep-svn +0 -8
  425. data/vendor/depot_tools/roll-dep-svn.bat +0 -12
  426. data/vendor/depot_tools/roll_dep_svn.py +0 -430
  427. data/vendor/depot_tools/support/chromite_wrapper +0 -96
  428. data/vendor/depot_tools/third_party/boto/LICENSE +0 -18
  429. data/vendor/depot_tools/third_party/boto/README.chromium +0 -43
  430. data/vendor/depot_tools/third_party/boto/README.rst +0 -163
  431. data/vendor/depot_tools/third_party/boto/__init__.py +0 -793
  432. data/vendor/depot_tools/third_party/boto/auth.py +0 -682
  433. data/vendor/depot_tools/third_party/boto/auth_handler.py +0 -58
  434. data/vendor/depot_tools/third_party/boto/cacerts/__init__.py +0 -22
  435. data/vendor/depot_tools/third_party/boto/cacerts/cacerts.txt +0 -2183
  436. data/vendor/depot_tools/third_party/boto/compat.py +0 -28
  437. data/vendor/depot_tools/third_party/boto/connection.py +0 -1081
  438. data/vendor/depot_tools/third_party/boto/contrib/__init__.py +0 -22
  439. data/vendor/depot_tools/third_party/boto/contrib/ymlmessage.py +0 -52
  440. data/vendor/depot_tools/third_party/boto/core/README +0 -58
  441. data/vendor/depot_tools/third_party/boto/core/__init__.py +0 -23
  442. data/vendor/depot_tools/third_party/boto/core/auth.py +0 -78
  443. data/vendor/depot_tools/third_party/boto/core/credentials.py +0 -154
  444. data/vendor/depot_tools/third_party/boto/core/dictresponse.py +0 -178
  445. data/vendor/depot_tools/third_party/boto/core/service.py +0 -67
  446. data/vendor/depot_tools/third_party/boto/datapipeline/__init__.py +0 -0
  447. data/vendor/depot_tools/third_party/boto/datapipeline/exceptions.py +0 -42
  448. data/vendor/depot_tools/third_party/boto/datapipeline/layer1.py +0 -546
  449. data/vendor/depot_tools/third_party/boto/ecs/__init__.py +0 -90
  450. data/vendor/depot_tools/third_party/boto/ecs/item.py +0 -153
  451. data/vendor/depot_tools/third_party/boto/exception.py +0 -476
  452. data/vendor/depot_tools/third_party/boto/file/README +0 -49
  453. data/vendor/depot_tools/third_party/boto/file/__init__.py +0 -28
  454. data/vendor/depot_tools/third_party/boto/file/bucket.py +0 -112
  455. data/vendor/depot_tools/third_party/boto/file/connection.py +0 -33
  456. data/vendor/depot_tools/third_party/boto/file/key.py +0 -199
  457. data/vendor/depot_tools/third_party/boto/file/simpleresultset.py +0 -30
  458. data/vendor/depot_tools/third_party/boto/fps/__init__.py +0 -21
  459. data/vendor/depot_tools/third_party/boto/fps/connection.py +0 -369
  460. data/vendor/depot_tools/third_party/boto/fps/exception.py +0 -344
  461. data/vendor/depot_tools/third_party/boto/fps/response.py +0 -175
  462. data/vendor/depot_tools/third_party/boto/gs/__init__.py +0 -22
  463. data/vendor/depot_tools/third_party/boto/gs/acl.py +0 -304
  464. data/vendor/depot_tools/third_party/boto/gs/bucket.py +0 -870
  465. data/vendor/depot_tools/third_party/boto/gs/bucketlistresultset.py +0 -64
  466. data/vendor/depot_tools/third_party/boto/gs/connection.py +0 -103
  467. data/vendor/depot_tools/third_party/boto/gs/cors.py +0 -169
  468. data/vendor/depot_tools/third_party/boto/gs/key.py +0 -704
  469. data/vendor/depot_tools/third_party/boto/gs/resumable_upload_handler.py +0 -659
  470. data/vendor/depot_tools/third_party/boto/gs/user.py +0 -54
  471. data/vendor/depot_tools/third_party/boto/handler.py +0 -44
  472. data/vendor/depot_tools/third_party/boto/https_connection.py +0 -124
  473. data/vendor/depot_tools/third_party/boto/jsonresponse.py +0 -163
  474. data/vendor/depot_tools/third_party/boto/manage/__init__.py +0 -23
  475. data/vendor/depot_tools/third_party/boto/manage/cmdshell.py +0 -241
  476. data/vendor/depot_tools/third_party/boto/manage/propget.py +0 -64
  477. data/vendor/depot_tools/third_party/boto/manage/server.py +0 -556
  478. data/vendor/depot_tools/third_party/boto/manage/task.py +0 -175
  479. data/vendor/depot_tools/third_party/boto/manage/test_manage.py +0 -34
  480. data/vendor/depot_tools/third_party/boto/manage/volume.py +0 -420
  481. data/vendor/depot_tools/third_party/boto/mashups/__init__.py +0 -23
  482. data/vendor/depot_tools/third_party/boto/mashups/interactive.py +0 -97
  483. data/vendor/depot_tools/third_party/boto/mashups/iobject.py +0 -115
  484. data/vendor/depot_tools/third_party/boto/mashups/order.py +0 -211
  485. data/vendor/depot_tools/third_party/boto/mashups/server.py +0 -395
  486. data/vendor/depot_tools/third_party/boto/plugin.py +0 -90
  487. data/vendor/depot_tools/third_party/boto/provider.py +0 -337
  488. data/vendor/depot_tools/third_party/boto/pyami/__init__.py +0 -22
  489. data/vendor/depot_tools/third_party/boto/pyami/bootstrap.py +0 -134
  490. data/vendor/depot_tools/third_party/boto/pyami/config.py +0 -229
  491. data/vendor/depot_tools/third_party/boto/pyami/copybot.cfg +0 -60
  492. data/vendor/depot_tools/third_party/boto/pyami/copybot.py +0 -97
  493. data/vendor/depot_tools/third_party/boto/pyami/helloworld.py +0 -28
  494. data/vendor/depot_tools/third_party/boto/pyami/launch_ami.py +0 -178
  495. data/vendor/depot_tools/third_party/boto/pyami/scriptbase.py +0 -44
  496. data/vendor/depot_tools/third_party/boto/pyami/startup.py +0 -60
  497. data/vendor/depot_tools/third_party/boto/regioninfo.py +0 -63
  498. data/vendor/depot_tools/third_party/boto/resultset.py +0 -169
  499. data/vendor/depot_tools/third_party/boto/roboto/__init__.py +0 -1
  500. data/vendor/depot_tools/third_party/boto/roboto/awsqueryrequest.py +0 -504
  501. data/vendor/depot_tools/third_party/boto/roboto/awsqueryservice.py +0 -121
  502. data/vendor/depot_tools/third_party/boto/roboto/param.py +0 -147
  503. data/vendor/depot_tools/third_party/boto/s3/__init__.py +0 -84
  504. data/vendor/depot_tools/third_party/boto/s3/acl.py +0 -164
  505. data/vendor/depot_tools/third_party/boto/s3/bucket.py +0 -1634
  506. data/vendor/depot_tools/third_party/boto/s3/bucketlistresultset.py +0 -139
  507. data/vendor/depot_tools/third_party/boto/s3/bucketlogging.py +0 -83
  508. data/vendor/depot_tools/third_party/boto/s3/connection.py +0 -540
  509. data/vendor/depot_tools/third_party/boto/s3/cors.py +0 -210
  510. data/vendor/depot_tools/third_party/boto/s3/deletemarker.py +0 -55
  511. data/vendor/depot_tools/third_party/boto/s3/key.py +0 -1712
  512. data/vendor/depot_tools/third_party/boto/s3/keyfile.py +0 -134
  513. data/vendor/depot_tools/third_party/boto/s3/lifecycle.py +0 -231
  514. data/vendor/depot_tools/third_party/boto/s3/multidelete.py +0 -138
  515. data/vendor/depot_tools/third_party/boto/s3/multipart.py +0 -315
  516. data/vendor/depot_tools/third_party/boto/s3/prefix.py +0 -42
  517. data/vendor/depot_tools/third_party/boto/s3/resumable_download_handler.py +0 -339
  518. data/vendor/depot_tools/third_party/boto/s3/tagging.py +0 -71
  519. data/vendor/depot_tools/third_party/boto/s3/user.py +0 -49
  520. data/vendor/depot_tools/third_party/boto/s3/website.py +0 -237
  521. data/vendor/depot_tools/third_party/boto/services/__init__.py +0 -23
  522. data/vendor/depot_tools/third_party/boto/services/bs.py +0 -179
  523. data/vendor/depot_tools/third_party/boto/services/message.py +0 -58
  524. data/vendor/depot_tools/third_party/boto/services/result.py +0 -136
  525. data/vendor/depot_tools/third_party/boto/services/service.py +0 -161
  526. data/vendor/depot_tools/third_party/boto/services/servicedef.py +0 -91
  527. data/vendor/depot_tools/third_party/boto/services/sonofmmm.cfg +0 -43
  528. data/vendor/depot_tools/third_party/boto/services/sonofmmm.py +0 -81
  529. data/vendor/depot_tools/third_party/boto/services/submit.py +0 -88
  530. data/vendor/depot_tools/third_party/boto/ses/__init__.py +0 -54
  531. data/vendor/depot_tools/third_party/boto/ses/connection.py +0 -521
  532. data/vendor/depot_tools/third_party/boto/ses/exceptions.py +0 -77
  533. data/vendor/depot_tools/third_party/boto/storage_uri.py +0 -835
  534. data/vendor/depot_tools/third_party/boto/sts/__init__.py +0 -55
  535. data/vendor/depot_tools/third_party/boto/sts/connection.py +0 -207
  536. data/vendor/depot_tools/third_party/boto/sts/credentials.py +0 -215
  537. data/vendor/depot_tools/third_party/boto/utils.py +0 -927
  538. data/vendor/depot_tools/third_party/colorama/README.txt +0 -304
  539. data/vendor/depot_tools/third_party/fancy_urllib/README +0 -22
  540. data/vendor/depot_tools/third_party/fancy_urllib/__init__.py +0 -460
  541. data/vendor/depot_tools/third_party/logilab/README.chromium +0 -6
  542. data/vendor/depot_tools/third_party/logilab/__init__.py +0 -0
  543. data/vendor/depot_tools/third_party/logilab/astroid/LICENSE.txt +0 -340
  544. data/vendor/depot_tools/third_party/logilab/astroid/README.chromium +0 -11
  545. data/vendor/depot_tools/third_party/logilab/astroid/__init__.py +0 -136
  546. data/vendor/depot_tools/third_party/logilab/astroid/__pkginfo__.py +0 -42
  547. data/vendor/depot_tools/third_party/logilab/astroid/arguments.py +0 -233
  548. data/vendor/depot_tools/third_party/logilab/astroid/as_string.py +0 -548
  549. data/vendor/depot_tools/third_party/logilab/astroid/astpeephole.py +0 -86
  550. data/vendor/depot_tools/third_party/logilab/astroid/bases.py +0 -636
  551. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_builtin_inference.py +0 -336
  552. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_dateutil.py +0 -15
  553. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_gi.py +0 -195
  554. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_mechanize.py +0 -18
  555. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_nose.py +0 -82
  556. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_numpy.py +0 -62
  557. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_pytest.py +0 -76
  558. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_qt.py +0 -44
  559. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_six.py +0 -288
  560. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_ssl.py +0 -65
  561. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_stdlib.py +0 -473
  562. data/vendor/depot_tools/third_party/logilab/astroid/builder.py +0 -263
  563. data/vendor/depot_tools/third_party/logilab/astroid/context.py +0 -81
  564. data/vendor/depot_tools/third_party/logilab/astroid/decorators.py +0 -75
  565. data/vendor/depot_tools/third_party/logilab/astroid/exceptions.py +0 -71
  566. data/vendor/depot_tools/third_party/logilab/astroid/inference.py +0 -359
  567. data/vendor/depot_tools/third_party/logilab/astroid/manager.py +0 -267
  568. data/vendor/depot_tools/third_party/logilab/astroid/mixins.py +0 -147
  569. data/vendor/depot_tools/third_party/logilab/astroid/modutils.py +0 -741
  570. data/vendor/depot_tools/third_party/logilab/astroid/node_classes.py +0 -1053
  571. data/vendor/depot_tools/third_party/logilab/astroid/nodes.py +0 -87
  572. data/vendor/depot_tools/third_party/logilab/astroid/objects.py +0 -186
  573. data/vendor/depot_tools/third_party/logilab/astroid/protocols.py +0 -470
  574. data/vendor/depot_tools/third_party/logilab/astroid/raw_building.py +0 -390
  575. data/vendor/depot_tools/third_party/logilab/astroid/rebuilder.py +0 -989
  576. data/vendor/depot_tools/third_party/logilab/astroid/scoped_nodes.py +0 -1716
  577. data/vendor/depot_tools/third_party/logilab/astroid/test_utils.py +0 -201
  578. data/vendor/depot_tools/third_party/logilab/astroid/transforms.py +0 -96
  579. data/vendor/depot_tools/third_party/logilab/astroid/util.py +0 -89
  580. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/LICENSE +0 -19
  581. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/README.chromium +0 -11
  582. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/__init__.py +0 -20
  583. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/cext.c +0 -1421
  584. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/compat.py +0 -9
  585. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/simple.py +0 -246
  586. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/slots.py +0 -414
  587. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/utils.py +0 -13
  588. data/vendor/depot_tools/third_party/logilab/wrapt/LICENSE +0 -24
  589. data/vendor/depot_tools/third_party/logilab/wrapt/README.chromium +0 -11
  590. data/vendor/depot_tools/third_party/logilab/wrapt/__init__.py +0 -19
  591. data/vendor/depot_tools/third_party/logilab/wrapt/_wrappers.c +0 -2729
  592. data/vendor/depot_tools/third_party/logilab/wrapt/arguments.py +0 -96
  593. data/vendor/depot_tools/third_party/logilab/wrapt/decorators.py +0 -512
  594. data/vendor/depot_tools/third_party/logilab/wrapt/importer.py +0 -228
  595. data/vendor/depot_tools/third_party/logilab/wrapt/wrappers.py +0 -901
  596. data/vendor/depot_tools/third_party/mock/LICENSE.txt +0 -26
  597. data/vendor/depot_tools/third_party/mock/README.chromium +0 -24
  598. data/vendor/depot_tools/third_party/mock/__init__.py +0 -2366
  599. data/vendor/depot_tools/third_party/oauth2client/LICENSE +0 -202
  600. data/vendor/depot_tools/third_party/oauth2client/MODIFICATIONS.diff +0 -66
  601. data/vendor/depot_tools/third_party/oauth2client/README.chromium +0 -15
  602. data/vendor/depot_tools/third_party/oauth2client/__init__.py +0 -5
  603. data/vendor/depot_tools/third_party/oauth2client/anyjson.py +0 -32
  604. data/vendor/depot_tools/third_party/oauth2client/appengine.py +0 -963
  605. data/vendor/depot_tools/third_party/oauth2client/client.py +0 -1363
  606. data/vendor/depot_tools/third_party/oauth2client/clientsecrets.py +0 -153
  607. data/vendor/depot_tools/third_party/oauth2client/crypt.py +0 -377
  608. data/vendor/depot_tools/third_party/oauth2client/django_orm.py +0 -134
  609. data/vendor/depot_tools/third_party/oauth2client/file.py +0 -124
  610. data/vendor/depot_tools/third_party/oauth2client/gce.py +0 -90
  611. data/vendor/depot_tools/third_party/oauth2client/keyring_storage.py +0 -109
  612. data/vendor/depot_tools/third_party/oauth2client/locked_file.py +0 -373
  613. data/vendor/depot_tools/third_party/oauth2client/multistore_file.py +0 -465
  614. data/vendor/depot_tools/third_party/oauth2client/old_run.py +0 -160
  615. data/vendor/depot_tools/third_party/oauth2client/tools.py +0 -243
  616. data/vendor/depot_tools/third_party/oauth2client/util.py +0 -196
  617. data/vendor/depot_tools/third_party/oauth2client/xsrfutil.py +0 -113
  618. data/vendor/depot_tools/third_party/protobuf26/README.chromium +0 -23
  619. data/vendor/depot_tools/third_party/protobuf26/__init__.py +0 -0
  620. data/vendor/depot_tools/third_party/protobuf26/compiler/__init__.py +0 -0
  621. data/vendor/depot_tools/third_party/protobuf26/compiler/plugin_pb2.py +0 -184
  622. data/vendor/depot_tools/third_party/protobuf26/descriptor.py +0 -849
  623. data/vendor/depot_tools/third_party/protobuf26/descriptor_database.py +0 -137
  624. data/vendor/depot_tools/third_party/protobuf26/descriptor_pb2.py +0 -1522
  625. data/vendor/depot_tools/third_party/protobuf26/descriptor_pool.py +0 -643
  626. data/vendor/depot_tools/third_party/protobuf26/internal/__init__.py +0 -0
  627. data/vendor/depot_tools/third_party/protobuf26/internal/api_implementation.py +0 -89
  628. data/vendor/depot_tools/third_party/protobuf26/internal/containers.py +0 -269
  629. data/vendor/depot_tools/third_party/protobuf26/internal/cpp_message.py +0 -663
  630. data/vendor/depot_tools/third_party/protobuf26/internal/decoder.py +0 -831
  631. data/vendor/depot_tools/third_party/protobuf26/internal/encoder.py +0 -788
  632. data/vendor/depot_tools/third_party/protobuf26/internal/enum_type_wrapper.py +0 -89
  633. data/vendor/depot_tools/third_party/protobuf26/internal/message_listener.py +0 -78
  634. data/vendor/depot_tools/third_party/protobuf26/internal/python_message.py +0 -1247
  635. data/vendor/depot_tools/third_party/protobuf26/internal/type_checkers.py +0 -328
  636. data/vendor/depot_tools/third_party/protobuf26/internal/wire_format.py +0 -268
  637. data/vendor/depot_tools/third_party/protobuf26/message.py +0 -284
  638. data/vendor/depot_tools/third_party/protobuf26/message_factory.py +0 -155
  639. data/vendor/depot_tools/third_party/protobuf26/reflection.py +0 -205
  640. data/vendor/depot_tools/third_party/protobuf26/service.py +0 -226
  641. data/vendor/depot_tools/third_party/protobuf26/service_reflection.py +0 -284
  642. data/vendor/depot_tools/third_party/protobuf26/symbol_database.py +0 -185
  643. data/vendor/depot_tools/third_party/protobuf26/text_encoding.py +0 -110
  644. data/vendor/depot_tools/third_party/protobuf26/text_format.py +0 -873
  645. data/vendor/depot_tools/third_party/pylint.py +0 -37
  646. data/vendor/depot_tools/third_party/pylint/LICENSE.txt +0 -340
  647. data/vendor/depot_tools/third_party/pylint/README.chromium +0 -30
  648. data/vendor/depot_tools/third_party/pylint/__init__.py +0 -46
  649. data/vendor/depot_tools/third_party/pylint/__main__.py +0 -3
  650. data/vendor/depot_tools/third_party/pylint/__pkginfo__.py +0 -80
  651. data/vendor/depot_tools/third_party/pylint/checkers/__init__.py +0 -123
  652. data/vendor/depot_tools/third_party/pylint/checkers/async.py +0 -82
  653. data/vendor/depot_tools/third_party/pylint/checkers/base.py +0 -2010
  654. data/vendor/depot_tools/third_party/pylint/checkers/classes.py +0 -1120
  655. data/vendor/depot_tools/third_party/pylint/checkers/design_analysis.py +0 -348
  656. data/vendor/depot_tools/third_party/pylint/checkers/exceptions.py +0 -369
  657. data/vendor/depot_tools/third_party/pylint/checkers/format.py +0 -993
  658. data/vendor/depot_tools/third_party/pylint/checkers/imports.py +0 -654
  659. data/vendor/depot_tools/third_party/pylint/checkers/logging.py +0 -258
  660. data/vendor/depot_tools/third_party/pylint/checkers/misc.py +0 -105
  661. data/vendor/depot_tools/third_party/pylint/checkers/newstyle.py +0 -169
  662. data/vendor/depot_tools/third_party/pylint/checkers/python3.py +0 -591
  663. data/vendor/depot_tools/third_party/pylint/checkers/raw_metrics.py +0 -129
  664. data/vendor/depot_tools/third_party/pylint/checkers/similar.py +0 -371
  665. data/vendor/depot_tools/third_party/pylint/checkers/spelling.py +0 -264
  666. data/vendor/depot_tools/third_party/pylint/checkers/stdlib.py +0 -280
  667. data/vendor/depot_tools/third_party/pylint/checkers/strings.py +0 -618
  668. data/vendor/depot_tools/third_party/pylint/checkers/typecheck.py +0 -974
  669. data/vendor/depot_tools/third_party/pylint/checkers/utils.py +0 -741
  670. data/vendor/depot_tools/third_party/pylint/checkers/variables.py +0 -1191
  671. data/vendor/depot_tools/third_party/pylint/config.py +0 -820
  672. data/vendor/depot_tools/third_party/pylint/epylint.py +0 -181
  673. data/vendor/depot_tools/third_party/pylint/extensions/__init__.py +0 -0
  674. data/vendor/depot_tools/third_party/pylint/extensions/check_docs.py +0 -311
  675. data/vendor/depot_tools/third_party/pylint/extensions/check_elif.py +0 -62
  676. data/vendor/depot_tools/third_party/pylint/graph.py +0 -179
  677. data/vendor/depot_tools/third_party/pylint/gui.py +0 -531
  678. data/vendor/depot_tools/third_party/pylint/interfaces.py +0 -102
  679. data/vendor/depot_tools/third_party/pylint/lint.py +0 -1381
  680. data/vendor/depot_tools/third_party/pylint/pyreverse/__init__.py +0 -5
  681. data/vendor/depot_tools/third_party/pylint/pyreverse/diadefslib.py +0 -230
  682. data/vendor/depot_tools/third_party/pylint/pyreverse/diagrams.py +0 -258
  683. data/vendor/depot_tools/third_party/pylint/pyreverse/inspector.py +0 -372
  684. data/vendor/depot_tools/third_party/pylint/pyreverse/main.py +0 -147
  685. data/vendor/depot_tools/third_party/pylint/pyreverse/utils.py +0 -210
  686. data/vendor/depot_tools/third_party/pylint/pyreverse/vcgutils.py +0 -198
  687. data/vendor/depot_tools/third_party/pylint/pyreverse/writer.py +0 -198
  688. data/vendor/depot_tools/third_party/pylint/reporters/__init__.py +0 -149
  689. data/vendor/depot_tools/third_party/pylint/reporters/guireporter.py +0 -27
  690. data/vendor/depot_tools/third_party/pylint/reporters/html.py +0 -108
  691. data/vendor/depot_tools/third_party/pylint/reporters/json.py +0 -64
  692. data/vendor/depot_tools/third_party/pylint/reporters/text.py +0 -237
  693. data/vendor/depot_tools/third_party/pylint/reporters/ureports/__init__.py +0 -106
  694. data/vendor/depot_tools/third_party/pylint/reporters/ureports/html_writer.py +0 -93
  695. data/vendor/depot_tools/third_party/pylint/reporters/ureports/nodes.py +0 -181
  696. data/vendor/depot_tools/third_party/pylint/reporters/ureports/text_writer.py +0 -99
  697. data/vendor/depot_tools/third_party/pylint/testutils.py +0 -414
  698. data/vendor/depot_tools/third_party/pylint/utils.py +0 -1148
  699. data/vendor/depot_tools/third_party/pymox/COPYING +0 -202
  700. data/vendor/depot_tools/third_party/pymox/MANIFEST.in +0 -5
  701. data/vendor/depot_tools/third_party/pymox/README +0 -56
  702. data/vendor/depot_tools/third_party/pymox/__init__.py +0 -0
  703. data/vendor/depot_tools/third_party/pymox/mox.py +0 -1643
  704. data/vendor/depot_tools/third_party/pymox/mox_test.py +0 -1708
  705. data/vendor/depot_tools/third_party/pymox/mox_test_helper.py +0 -76
  706. data/vendor/depot_tools/third_party/pymox/setup.py +0 -14
  707. data/vendor/depot_tools/third_party/pymox/stubout.py +0 -142
  708. data/vendor/depot_tools/third_party/pymox/stubout_test.py +0 -47
  709. data/vendor/depot_tools/third_party/pymox/stubout_testee.py +0 -2
  710. data/vendor/depot_tools/third_party/simplejson/LICENSE.txt +0 -19
  711. data/vendor/depot_tools/third_party/simplejson/PKG-INFO +0 -29
  712. data/vendor/depot_tools/third_party/simplejson/__init__.py +0 -437
  713. data/vendor/depot_tools/third_party/simplejson/decoder.py +0 -421
  714. data/vendor/depot_tools/third_party/simplejson/encoder.py +0 -501
  715. data/vendor/depot_tools/third_party/simplejson/ordered_dict.py +0 -119
  716. data/vendor/depot_tools/third_party/simplejson/scanner.py +0 -77
  717. data/vendor/depot_tools/third_party/simplejson/tool.py +0 -39
  718. data/vendor/depot_tools/third_party/upload.py +0 -2565
@@ -1,147 +0,0 @@
1
- # copyright 2003-2013 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
2
- # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
3
- #
4
- # This file is part of astroid.
5
- #
6
- # astroid is free software: you can redistribute it and/or modify it
7
- # under the terms of the GNU Lesser General Public License as published by the
8
- # Free Software Foundation, either version 2.1 of the License, or (at your
9
- # option) any later version.
10
- #
11
- # astroid is distributed in the hope that it will be useful, but
12
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
14
- # for more details.
15
- #
16
- # You should have received a copy of the GNU Lesser General Public License along
17
- # with astroid. If not, see <http://www.gnu.org/licenses/>.
18
- """This module contains some mixins for the different nodes.
19
- """
20
-
21
- import warnings
22
-
23
- from astroid import decorators
24
- from astroid import exceptions
25
-
26
-
27
- class BlockRangeMixIn(object):
28
- """override block range """
29
-
30
- @decorators.cachedproperty
31
- def blockstart_tolineno(self):
32
- return self.lineno
33
-
34
- def _elsed_block_range(self, lineno, orelse, last=None):
35
- """handle block line numbers range for try/finally, for, if and while
36
- statements
37
- """
38
- if lineno == self.fromlineno:
39
- return lineno, lineno
40
- if orelse:
41
- if lineno >= orelse[0].fromlineno:
42
- return lineno, orelse[-1].tolineno
43
- return lineno, orelse[0].fromlineno - 1
44
- return lineno, last or self.tolineno
45
-
46
-
47
- class FilterStmtsMixin(object):
48
- """Mixin for statement filtering and assignment type"""
49
-
50
- def _get_filtered_stmts(self, _, node, _stmts, mystmt):
51
- """method used in _filter_stmts to get statemtents and trigger break"""
52
- if self.statement() is mystmt:
53
- # original node's statement is the assignment, only keep
54
- # current node (gen exp, list comp)
55
- return [node], True
56
- return _stmts, False
57
-
58
- def assign_type(self):
59
- return self
60
-
61
- def ass_type(self):
62
- warnings.warn('%s.ass_type() is deprecated and slated for removal '
63
- 'in astroid 2.0, use %s.assign_type() instead.'
64
- % (type(self).__name__, type(self).__name__),
65
- PendingDeprecationWarning, stacklevel=2)
66
- return self.assign_type()
67
-
68
-
69
- class AssignTypeMixin(object):
70
-
71
- def assign_type(self):
72
- return self
73
-
74
- def ass_type(self):
75
- warnings.warn('%s.ass_type() is deprecated and slated for removal '
76
- 'in astroid 2.0, use %s.assign_type() instead.'
77
- % (type(self).__name__, type(self).__name__),
78
- PendingDeprecationWarning, stacklevel=2)
79
- return self.assign_type()
80
-
81
- def _get_filtered_stmts(self, lookup_node, node, _stmts, mystmt):
82
- """method used in filter_stmts"""
83
- if self is mystmt:
84
- return _stmts, True
85
- if self.statement() is mystmt:
86
- # original node's statement is the assignment, only keep
87
- # current node (gen exp, list comp)
88
- return [node], True
89
- return _stmts, False
90
-
91
-
92
- class ParentAssignTypeMixin(AssignTypeMixin):
93
-
94
- def assign_type(self):
95
- return self.parent.assign_type()
96
-
97
- def ass_type(self):
98
- warnings.warn('%s.ass_type() is deprecated and slated for removal '
99
- 'in astroid 2.0, use %s.assign_type() instead.'
100
- % (type(self).__name__, type(self).__name__),
101
- PendingDeprecationWarning, stacklevel=2)
102
- return self.assign_type()
103
-
104
-
105
- class ImportFromMixin(FilterStmtsMixin):
106
- """MixIn for From and Import Nodes"""
107
-
108
- def _infer_name(self, frame, name):
109
- return name
110
-
111
- def do_import_module(self, modname=None):
112
- """return the ast for a module whose name is <modname> imported by <self>
113
- """
114
- # handle special case where we are on a package node importing a module
115
- # using the same name as the package, which may end in an infinite loop
116
- # on relative imports
117
- # XXX: no more needed ?
118
- mymodule = self.root()
119
- level = getattr(self, 'level', None) # Import as no level
120
- if modname is None:
121
- modname = self.modname
122
- # XXX we should investigate deeper if we really want to check
123
- # importing itself: modname and mymodule.name be relative or absolute
124
- if mymodule.relative_to_absolute_name(modname, level) == mymodule.name:
125
- # FIXME: we used to raise InferenceError here, but why ?
126
- return mymodule
127
- try:
128
- return mymodule.import_module(modname, level=level,
129
- relative_only=level and level >= 1)
130
- except exceptions.AstroidBuildingException as ex:
131
- if isinstance(ex.args[0], SyntaxError):
132
- raise exceptions.InferenceError(str(ex))
133
- raise exceptions.InferenceError(modname)
134
- except SyntaxError as ex:
135
- raise exceptions.InferenceError(str(ex))
136
-
137
- def real_name(self, asname):
138
- """get name from 'as' name"""
139
- for name, _asname in self.names:
140
- if name == '*':
141
- return asname
142
- if not _asname:
143
- name = name.split('.', 1)[0]
144
- _asname = name
145
- if asname == _asname:
146
- return name
147
- raise exceptions.NotFoundError(asname)
@@ -1,741 +0,0 @@
1
- # copyright 2003-2014 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
2
- # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
3
- #
4
- # This file is part of astroid.
5
- #
6
- # astroid is free software: you can redistribute it and/or modify it under
7
- # the terms of the GNU Lesser General Public License as published by the Free
8
- # Software Foundation, either version 2.1 of the License, or (at your option) any
9
- # later version.
10
- #
11
- # astroid is distributed in the hope that it will be useful, but WITHOUT
12
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
- # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
14
- # details.
15
- #
16
- # You should have received a copy of the GNU Lesser General Public License along
17
- # with astroid. If not, see <http://www.gnu.org/licenses/>.
18
- """Python modules manipulation utility functions.
19
-
20
- :type PY_SOURCE_EXTS: tuple(str)
21
- :var PY_SOURCE_EXTS: list of possible python source file extension
22
-
23
- :type STD_LIB_DIRS: set of str
24
- :var STD_LIB_DIRS: directories where standard modules are located
25
-
26
- :type BUILTIN_MODULES: dict
27
- :var BUILTIN_MODULES: dictionary with builtin module names has key
28
- """
29
- from __future__ import with_statement
30
-
31
- import imp
32
- import os
33
- import platform
34
- import sys
35
- from distutils.sysconfig import get_python_lib
36
- from distutils.errors import DistutilsPlatformError
37
- import zipimport
38
-
39
- try:
40
- import pkg_resources
41
- except ImportError:
42
- pkg_resources = None
43
-
44
- PY_ZIPMODULE = object()
45
-
46
- if sys.platform.startswith('win'):
47
- PY_SOURCE_EXTS = ('py', 'pyw')
48
- PY_COMPILED_EXTS = ('dll', 'pyd')
49
- else:
50
- PY_SOURCE_EXTS = ('py',)
51
- PY_COMPILED_EXTS = ('so',)
52
-
53
-
54
- try:
55
- # The explicit sys.prefix is to work around a patch in virtualenv that
56
- # replaces the 'real' sys.prefix (i.e. the location of the binary)
57
- # with the prefix from which the virtualenv was created. This throws
58
- # off the detection logic for standard library modules, thus the
59
- # workaround.
60
- STD_LIB_DIRS = set([
61
- get_python_lib(standard_lib=True, prefix=sys.prefix),
62
- # Take care of installations where exec_prefix != prefix.
63
- get_python_lib(standard_lib=True, prefix=sys.exec_prefix),
64
- get_python_lib(standard_lib=True)])
65
- # get_python_lib(standard_lib=1) is not available on pypy, set STD_LIB_DIR to
66
- # non-valid path, see https://bugs.pypy.org/issue1164
67
- except DistutilsPlatformError:
68
- STD_LIB_DIRS = set()
69
-
70
- if os.name == 'nt':
71
- STD_LIB_DIRS.add(os.path.join(sys.prefix, 'dlls'))
72
- try:
73
- # real_prefix is defined when running inside virtualenv.
74
- STD_LIB_DIRS.add(os.path.join(sys.real_prefix, 'dlls'))
75
- except AttributeError:
76
- pass
77
- if platform.python_implementation() == 'PyPy':
78
- _root = os.path.join(sys.prefix, 'lib_pypy')
79
- STD_LIB_DIRS.add(_root)
80
- try:
81
- # real_prefix is defined when running inside virtualenv.
82
- STD_LIB_DIRS.add(os.path.join(sys.real_prefix, 'lib_pypy'))
83
- except AttributeError:
84
- pass
85
- del _root
86
- if os.name == 'posix':
87
- # Need the real prefix is we're under a virtualenv, otherwise
88
- # the usual one will do.
89
- try:
90
- prefix = sys.real_prefix
91
- except AttributeError:
92
- prefix = sys.prefix
93
-
94
- def _posix_path(path):
95
- base_python = 'python%d.%d' % sys.version_info[:2]
96
- return os.path.join(prefix, path, base_python)
97
-
98
- STD_LIB_DIRS.add(_posix_path('lib'))
99
- if sys.maxsize > 2**32:
100
- # This tries to fix a problem with /usr/lib64 builds,
101
- # where systems are running both 32-bit and 64-bit code
102
- # on the same machine, which reflects into the places where
103
- # standard library could be found. More details can be found
104
- # here http://bugs.python.org/issue1294959.
105
- # An easy reproducing case would be
106
- # https://github.com/PyCQA/pylint/issues/712#issuecomment-163178753
107
- STD_LIB_DIRS.add(_posix_path('lib64'))
108
-
109
- EXT_LIB_DIR = get_python_lib()
110
- IS_JYTHON = platform.python_implementation() == 'Jython'
111
- BUILTIN_MODULES = dict.fromkeys(sys.builtin_module_names, True)
112
-
113
-
114
- class NoSourceFile(Exception):
115
- """exception raised when we are not able to get a python
116
- source file for a precompiled file
117
- """
118
-
119
- def _normalize_path(path):
120
- return os.path.normcase(os.path.abspath(path))
121
-
122
-
123
- def _path_from_filename(filename, is_jython=IS_JYTHON):
124
- if not is_jython:
125
- if sys.version_info > (3, 0):
126
- return filename
127
- else:
128
- if filename.endswith(".pyc"):
129
- return filename[:-1]
130
- return filename
131
- head, has_pyclass, _ = filename.partition("$py.class")
132
- if has_pyclass:
133
- return head + ".py"
134
- return filename
135
-
136
-
137
- def _handle_blacklist(blacklist, dirnames, filenames):
138
- """remove files/directories in the black list
139
-
140
- dirnames/filenames are usually from os.walk
141
- """
142
- for norecurs in blacklist:
143
- if norecurs in dirnames:
144
- dirnames.remove(norecurs)
145
- elif norecurs in filenames:
146
- filenames.remove(norecurs)
147
-
148
-
149
- _NORM_PATH_CACHE = {}
150
-
151
- def _cache_normalize_path(path):
152
- """abspath with caching"""
153
- # _module_file calls abspath on every path in sys.path every time it's
154
- # called; on a larger codebase this easily adds up to half a second just
155
- # assembling path components. This cache alleviates that.
156
- try:
157
- return _NORM_PATH_CACHE[path]
158
- except KeyError:
159
- if not path: # don't cache result for ''
160
- return _normalize_path(path)
161
- result = _NORM_PATH_CACHE[path] = _normalize_path(path)
162
- return result
163
-
164
- def load_module_from_name(dotted_name, path=None, use_sys=True):
165
- """Load a Python module from its name.
166
-
167
- :type dotted_name: str
168
- :param dotted_name: python name of a module or package
169
-
170
- :type path: list or None
171
- :param path:
172
- optional list of path where the module or package should be
173
- searched (use sys.path if nothing or None is given)
174
-
175
- :type use_sys: bool
176
- :param use_sys:
177
- boolean indicating whether the sys.modules dictionary should be
178
- used or not
179
-
180
-
181
- :raise ImportError: if the module or package is not found
182
-
183
- :rtype: module
184
- :return: the loaded module
185
- """
186
- return load_module_from_modpath(dotted_name.split('.'), path, use_sys)
187
-
188
-
189
- def load_module_from_modpath(parts, path=None, use_sys=1):
190
- """Load a python module from its splitted name.
191
-
192
- :type parts: list(str) or tuple(str)
193
- :param parts:
194
- python name of a module or package splitted on '.'
195
-
196
- :type path: list or None
197
- :param path:
198
- optional list of path where the module or package should be
199
- searched (use sys.path if nothing or None is given)
200
-
201
- :type use_sys: bool
202
- :param use_sys:
203
- boolean indicating whether the sys.modules dictionary should be used or not
204
-
205
- :raise ImportError: if the module or package is not found
206
-
207
- :rtype: module
208
- :return: the loaded module
209
- """
210
- if use_sys:
211
- try:
212
- return sys.modules['.'.join(parts)]
213
- except KeyError:
214
- pass
215
- modpath = []
216
- prevmodule = None
217
- for part in parts:
218
- modpath.append(part)
219
- curname = '.'.join(modpath)
220
- module = None
221
- if len(modpath) != len(parts):
222
- # even with use_sys=False, should try to get outer packages from sys.modules
223
- module = sys.modules.get(curname)
224
- elif use_sys:
225
- # because it may have been indirectly loaded through a parent
226
- module = sys.modules.get(curname)
227
- if module is None:
228
- mp_file, mp_filename, mp_desc = imp.find_module(part, path)
229
- module = imp.load_module(curname, mp_file, mp_filename, mp_desc)
230
- # mp_file still needs to be closed.
231
- if mp_file:
232
- mp_file.close()
233
- if prevmodule:
234
- setattr(prevmodule, part, module)
235
- _file = getattr(module, '__file__', '')
236
- prevmodule = module
237
- if not _file and _is_namespace(curname):
238
- continue
239
- if not _file and len(modpath) != len(parts):
240
- raise ImportError('no module in %s' % '.'.join(parts[len(modpath):]))
241
- path = [os.path.dirname(_file)]
242
- return module
243
-
244
-
245
- def load_module_from_file(filepath, path=None, use_sys=True, extrapath=None):
246
- """Load a Python module from it's path.
247
-
248
- :type filepath: str
249
- :param filepath: path to the python module or package
250
-
251
- :type path: list or None
252
- :param path:
253
- optional list of path where the module or package should be
254
- searched (use sys.path if nothing or None is given)
255
-
256
- :type use_sys: bool
257
- :param use_sys:
258
- boolean indicating whether the sys.modules dictionary should be
259
- used or not
260
-
261
-
262
- :raise ImportError: if the module or package is not found
263
-
264
- :rtype: module
265
- :return: the loaded module
266
- """
267
- modpath = modpath_from_file(filepath, extrapath)
268
- return load_module_from_modpath(modpath, path, use_sys)
269
-
270
-
271
- def _check_init(path, mod_path):
272
- """check there are some __init__.py all along the way"""
273
- modpath = []
274
- for part in mod_path:
275
- modpath.append(part)
276
- path = os.path.join(path, part)
277
- if not _is_namespace('.'.join(modpath)) and not _has_init(path):
278
- return False
279
- return True
280
-
281
-
282
- def modpath_from_file(filename, extrapath=None):
283
- """given a file path return the corresponding splitted module's name
284
- (i.e name of a module or package splitted on '.')
285
-
286
- :type filename: str
287
- :param filename: file's path for which we want the module's name
288
-
289
- :type extrapath: dict
290
- :param extrapath:
291
- optional extra search path, with path as key and package name for the path
292
- as value. This is usually useful to handle package splitted in multiple
293
- directories using __path__ trick.
294
-
295
-
296
- :raise ImportError:
297
- if the corresponding module's name has not been found
298
-
299
- :rtype: list(str)
300
- :return: the corresponding splitted module's name
301
- """
302
- filename = _path_from_filename(filename)
303
- filename = os.path.abspath(filename)
304
- base = os.path.splitext(filename)[0]
305
- if extrapath is not None:
306
- for path_ in extrapath:
307
- path = os.path.abspath(path_)
308
- if path and os.path.normcase(base[:len(path)]) == os.path.normcase(path):
309
- submodpath = [pkg for pkg in base[len(path):].split(os.sep)
310
- if pkg]
311
- if _check_init(path, submodpath[:-1]):
312
- return extrapath[path_].split('.') + submodpath
313
- for path in sys.path:
314
- path = _cache_normalize_path(path)
315
- if path and os.path.normcase(base).startswith(path):
316
- modpath = [pkg for pkg in base[len(path):].split(os.sep) if pkg]
317
- if _check_init(path, modpath[:-1]):
318
- return modpath
319
- raise ImportError('Unable to find module for %s in %s' % (
320
- filename, ', \n'.join(sys.path)))
321
-
322
-
323
- def file_from_modpath(modpath, path=None, context_file=None):
324
- return file_info_from_modpath(modpath, path, context_file)[0]
325
-
326
- def file_info_from_modpath(modpath, path=None, context_file=None):
327
- """given a mod path (i.e. splitted module / package name), return the
328
- corresponding file, giving priority to source file over precompiled
329
- file if it exists
330
-
331
- :type modpath: list or tuple
332
- :param modpath:
333
- splitted module's name (i.e name of a module or package splitted
334
- on '.')
335
- (this means explicit relative imports that start with dots have
336
- empty strings in this list!)
337
-
338
- :type path: list or None
339
- :param path:
340
- optional list of path where the module or package should be
341
- searched (use sys.path if nothing or None is given)
342
-
343
- :type context_file: str or None
344
- :param context_file:
345
- context file to consider, necessary if the identifier has been
346
- introduced using a relative import unresolvable in the actual
347
- context (i.e. modutils)
348
-
349
- :raise ImportError: if there is no such module in the directory
350
-
351
- :rtype: (str or None, import type)
352
- :return:
353
- the path to the module's file or None if it's an integrated
354
- builtin module such as 'sys'
355
- """
356
- if context_file is not None:
357
- context = os.path.dirname(context_file)
358
- else:
359
- context = context_file
360
- if modpath[0] == 'xml':
361
- # handle _xmlplus
362
- try:
363
- return _file_from_modpath(['_xmlplus'] + modpath[1:], path, context)
364
- except ImportError:
365
- return _file_from_modpath(modpath, path, context)
366
- elif modpath == ['os', 'path']:
367
- # FIXME: currently ignoring search_path...
368
- return os.path.__file__, imp.PY_SOURCE
369
- return _file_from_modpath(modpath, path, context)
370
-
371
-
372
- def get_module_part(dotted_name, context_file=None):
373
- """given a dotted name return the module part of the name :
374
-
375
- >>> get_module_part('astroid.as_string.dump')
376
- 'astroid.as_string'
377
-
378
- :type dotted_name: str
379
- :param dotted_name: full name of the identifier we are interested in
380
-
381
- :type context_file: str or None
382
- :param context_file:
383
- context file to consider, necessary if the identifier has been
384
- introduced using a relative import unresolvable in the actual
385
- context (i.e. modutils)
386
-
387
-
388
- :raise ImportError: if there is no such module in the directory
389
-
390
- :rtype: str or None
391
- :return:
392
- the module part of the name or None if we have not been able at
393
- all to import the given name
394
-
395
- XXX: deprecated, since it doesn't handle package precedence over module
396
- (see #10066)
397
- """
398
- # os.path trick
399
- if dotted_name.startswith('os.path'):
400
- return 'os.path'
401
- parts = dotted_name.split('.')
402
- if context_file is not None:
403
- # first check for builtin module which won't be considered latter
404
- # in that case (path != None)
405
- if parts[0] in BUILTIN_MODULES:
406
- if len(parts) > 2:
407
- raise ImportError(dotted_name)
408
- return parts[0]
409
- # don't use += or insert, we want a new list to be created !
410
- path = None
411
- starti = 0
412
- if parts[0] == '':
413
- assert context_file is not None, \
414
- 'explicit relative import, but no context_file?'
415
- path = [] # prevent resolving the import non-relatively
416
- starti = 1
417
- while parts[starti] == '': # for all further dots: change context
418
- starti += 1
419
- context_file = os.path.dirname(context_file)
420
- for i in range(starti, len(parts)):
421
- try:
422
- file_from_modpath(parts[starti:i+1], path=path,
423
- context_file=context_file)
424
- except ImportError:
425
- if not i >= max(1, len(parts) - 2):
426
- raise
427
- return '.'.join(parts[:i])
428
- return dotted_name
429
-
430
-
431
- def get_module_files(src_directory, blacklist):
432
- """given a package directory return a list of all available python
433
- module's files in the package and its subpackages
434
-
435
- :type src_directory: str
436
- :param src_directory:
437
- path of the directory corresponding to the package
438
-
439
- :type blacklist: list or tuple
440
- :param blacklist: iterable
441
- list of files or directories to ignore.
442
-
443
- :rtype: list
444
- :return:
445
- the list of all available python module's files in the package and
446
- its subpackages
447
- """
448
- files = []
449
- for directory, dirnames, filenames in os.walk(src_directory):
450
- _handle_blacklist(blacklist, dirnames, filenames)
451
- # check for __init__.py
452
- if not '__init__.py' in filenames:
453
- dirnames[:] = ()
454
- continue
455
- for filename in filenames:
456
- if _is_python_file(filename):
457
- src = os.path.join(directory, filename)
458
- files.append(src)
459
- return files
460
-
461
-
462
- def get_source_file(filename, include_no_ext=False):
463
- """given a python module's file name return the matching source file
464
- name (the filename will be returned identically if it's a already an
465
- absolute path to a python source file...)
466
-
467
- :type filename: str
468
- :param filename: python module's file name
469
-
470
-
471
- :raise NoSourceFile: if no source file exists on the file system
472
-
473
- :rtype: str
474
- :return: the absolute path of the source file if it exists
475
- """
476
- filename = os.path.abspath(_path_from_filename(filename))
477
- base, orig_ext = os.path.splitext(filename)
478
- for ext in PY_SOURCE_EXTS:
479
- source_path = '%s.%s' % (base, ext)
480
- if os.path.exists(source_path):
481
- return source_path
482
- if include_no_ext and not orig_ext and os.path.exists(base):
483
- return base
484
- raise NoSourceFile(filename)
485
-
486
-
487
- def is_python_source(filename):
488
- """
489
- rtype: bool
490
- return: True if the filename is a python source file
491
- """
492
- return os.path.splitext(filename)[1][1:] in PY_SOURCE_EXTS
493
-
494
-
495
- def is_standard_module(modname, std_path=None):
496
- """try to guess if a module is a standard python module (by default,
497
- see `std_path` parameter's description)
498
-
499
- :type modname: str
500
- :param modname: name of the module we are interested in
501
-
502
- :type std_path: list(str) or tuple(str)
503
- :param std_path: list of path considered has standard
504
-
505
-
506
- :rtype: bool
507
- :return:
508
- true if the module:
509
- - is located on the path listed in one of the directory in `std_path`
510
- - is a built-in module
511
- """
512
- modname = modname.split('.')[0]
513
- try:
514
- filename = file_from_modpath([modname])
515
- except ImportError:
516
- # import failed, i'm probably not so wrong by supposing it's
517
- # not standard...
518
- return False
519
- # modules which are not living in a file are considered standard
520
- # (sys and __builtin__ for instance)
521
- if filename is None:
522
- # we assume there are no namespaces in stdlib
523
- return not _is_namespace(modname)
524
- filename = _normalize_path(filename)
525
- if filename.startswith(_cache_normalize_path(EXT_LIB_DIR)):
526
- return False
527
- if std_path is None:
528
- std_path = STD_LIB_DIRS
529
- for path in std_path:
530
- if filename.startswith(_cache_normalize_path(path)):
531
- return True
532
- return False
533
-
534
-
535
-
536
- def is_relative(modname, from_file):
537
- """return true if the given module name is relative to the given
538
- file name
539
-
540
- :type modname: str
541
- :param modname: name of the module we are interested in
542
-
543
- :type from_file: str
544
- :param from_file:
545
- path of the module from which modname has been imported
546
-
547
- :rtype: bool
548
- :return:
549
- true if the module has been imported relatively to `from_file`
550
- """
551
- if not os.path.isdir(from_file):
552
- from_file = os.path.dirname(from_file)
553
- if from_file in sys.path:
554
- return False
555
- try:
556
- stream, _, _ = imp.find_module(modname.split('.')[0], [from_file])
557
-
558
- # Close the stream to avoid ResourceWarnings.
559
- if stream:
560
- stream.close()
561
- return True
562
- except ImportError:
563
- return False
564
-
565
-
566
- # internal only functions #####################################################
567
-
568
- def _file_from_modpath(modpath, path=None, context=None):
569
- """given a mod path (i.e. splitted module / package name), return the
570
- corresponding file
571
-
572
- this function is used internally, see `file_from_modpath`'s
573
- documentation for more information
574
- """
575
- assert len(modpath) > 0
576
- if context is not None:
577
- try:
578
- mtype, mp_filename = _module_file(modpath, [context])
579
- except ImportError:
580
- mtype, mp_filename = _module_file(modpath, path)
581
- else:
582
- mtype, mp_filename = _module_file(modpath, path)
583
- if mtype == imp.PY_COMPILED:
584
- try:
585
- return get_source_file(mp_filename), imp.PY_SOURCE
586
- except NoSourceFile:
587
- return mp_filename, imp.PY_COMPILED
588
- elif mtype == imp.C_BUILTIN:
589
- # integrated builtin module
590
- return None, imp.C_BUILTIN
591
- elif mtype == imp.PKG_DIRECTORY:
592
- mp_filename = _has_init(mp_filename)
593
- mtype = imp.PY_SOURCE
594
- return mp_filename, mtype
595
-
596
- def _search_zip(modpath, pic):
597
- for filepath, importer in list(pic.items()):
598
- if importer is not None:
599
- if importer.find_module(modpath[0]):
600
- if not importer.find_module(os.path.sep.join(modpath)):
601
- raise ImportError('No module named %s in %s/%s' % (
602
- '.'.join(modpath[1:]), filepath, modpath))
603
- return (PY_ZIPMODULE,
604
- os.path.abspath(filepath) + os.path.sep + os.path.sep.join(modpath),
605
- filepath)
606
- raise ImportError('No module named %s' % '.'.join(modpath))
607
-
608
- try:
609
- import pkg_resources
610
- except ImportError:
611
- pkg_resources = None
612
-
613
-
614
- def _is_namespace(modname):
615
- return (pkg_resources is not None
616
- and modname in pkg_resources._namespace_packages)
617
-
618
-
619
- def _module_file(modpath, path=None):
620
- """get a module type / file path
621
-
622
- :type modpath: list or tuple
623
- :param modpath:
624
- splitted module's name (i.e name of a module or package splitted
625
- on '.'), with leading empty strings for explicit relative import
626
-
627
- :type path: list or None
628
- :param path:
629
- optional list of path where the module or package should be
630
- searched (use sys.path if nothing or None is given)
631
-
632
-
633
- :rtype: tuple(int, str)
634
- :return: the module type flag and the file path for a module
635
- """
636
- # egg support compat
637
- try:
638
- pic = sys.path_importer_cache
639
- _path = (path is None and sys.path or path)
640
- for __path in _path:
641
- if not __path in pic:
642
- try:
643
- pic[__path] = zipimport.zipimporter(__path)
644
- except zipimport.ZipImportError:
645
- pic[__path] = None
646
- checkeggs = True
647
- except AttributeError:
648
- checkeggs = False
649
- # pkg_resources support (aka setuptools namespace packages)
650
- if _is_namespace(modpath[0]) and modpath[0] in sys.modules:
651
- # setuptools has added into sys.modules a module object with proper
652
- # __path__, get back information from there
653
- module = sys.modules[modpath.pop(0)]
654
- path = list(module.__path__)
655
- if not modpath:
656
- return imp.C_BUILTIN, None
657
- imported = []
658
- while modpath:
659
- modname = modpath[0]
660
- # take care to changes in find_module implementation wrt builtin modules
661
- #
662
- # Python 2.6.6 (r266:84292, Sep 11 2012, 08:34:23)
663
- # >>> imp.find_module('posix')
664
- # (None, 'posix', ('', '', 6))
665
- #
666
- # Python 3.3.1 (default, Apr 26 2013, 12:08:46)
667
- # >>> imp.find_module('posix')
668
- # (None, None, ('', '', 6))
669
- try:
670
- stream, mp_filename, mp_desc = imp.find_module(modname, path)
671
- except ImportError:
672
- if checkeggs:
673
- return _search_zip(modpath, pic)[:2]
674
- raise
675
- else:
676
- # Don't forget to close the stream to avoid
677
- # spurious ResourceWarnings.
678
- if stream:
679
- stream.close()
680
-
681
- if checkeggs and mp_filename:
682
- fullabspath = [_cache_normalize_path(x) for x in _path]
683
- try:
684
- pathindex = fullabspath.index(os.path.dirname(_normalize_path(mp_filename)))
685
- emtype, emp_filename, zippath = _search_zip(modpath, pic)
686
- if pathindex > _path.index(zippath):
687
- # an egg takes priority
688
- return emtype, emp_filename
689
- except ValueError:
690
- # XXX not in _path
691
- pass
692
- except ImportError:
693
- pass
694
- checkeggs = False
695
- imported.append(modpath.pop(0))
696
- mtype = mp_desc[2]
697
- if modpath:
698
- if mtype != imp.PKG_DIRECTORY:
699
- raise ImportError('No module %s in %s' % ('.'.join(modpath),
700
- '.'.join(imported)))
701
- # XXX guess if package is using pkgutil.extend_path by looking for
702
- # those keywords in the first four Kbytes
703
- try:
704
- with open(os.path.join(mp_filename, '__init__.py'), 'rb') as stream:
705
- data = stream.read(4096)
706
- except IOError:
707
- path = [mp_filename]
708
- else:
709
- extend_path = b'pkgutil' in data and b'extend_path' in data
710
- declare_namespace = (
711
- b"pkg_resources" in data
712
- and b"declare_namespace(__name__)" in data)
713
- if extend_path or declare_namespace:
714
- # extend_path is called, search sys.path for module/packages
715
- # of this name see pkgutil.extend_path documentation
716
- path = [os.path.join(p, *imported) for p in sys.path
717
- if os.path.isdir(os.path.join(p, *imported))]
718
- else:
719
- path = [mp_filename]
720
- return mtype, mp_filename
721
-
722
- def _is_python_file(filename):
723
- """return true if the given filename should be considered as a python file
724
-
725
- .pyc and .pyo are ignored
726
- """
727
- for ext in ('.py', '.so', '.pyd', '.pyw'):
728
- if filename.endswith(ext):
729
- return True
730
- return False
731
-
732
-
733
- def _has_init(directory):
734
- """if the given directory has a valid __init__ file, return its path,
735
- else return None
736
- """
737
- mod_or_pack = os.path.join(directory, '__init__')
738
- for ext in PY_SOURCE_EXTS + ('pyc', 'pyo'):
739
- if os.path.exists(mod_or_pack + '.' + ext):
740
- return mod_or_pack + '.' + ext
741
- return None