rubygems-update 2.6.3 → 2.7.7

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rubygems-update might be problematic. Click here for more details.

Files changed (462) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +17 -34
  3. data/CODE_OF_CONDUCT.md +36 -33
  4. data/CONTRIBUTING.rdoc +56 -55
  5. data/History.txt +467 -10
  6. data/Manifest.txt +276 -4
  7. data/POLICIES.rdoc +4 -4
  8. data/README.md +72 -0
  9. data/Rakefile +77 -10
  10. data/appveyor.yml +61 -31
  11. data/bin/gem +1 -1
  12. data/bin/update_rubygems +2 -2
  13. data/bundler/CHANGELOG.md +2910 -0
  14. data/bundler/CODE_OF_CONDUCT.md +42 -0
  15. data/bundler/CONTRIBUTING.md +17 -0
  16. data/bundler/LICENSE.md +23 -0
  17. data/bundler/README.md +63 -0
  18. data/bundler/bundler.gemspec +57 -0
  19. data/bundler/exe/bundle +31 -0
  20. data/bundler/exe/bundle_ruby +60 -0
  21. data/bundler/exe/bundler +4 -0
  22. data/bundler/lib/bundler/build_metadata.rb +36 -0
  23. data/bundler/lib/bundler/capistrano.rb +22 -0
  24. data/bundler/lib/bundler/cli/add.rb +25 -0
  25. data/bundler/lib/bundler/cli/binstubs.rb +43 -0
  26. data/bundler/lib/bundler/cli/cache.rb +36 -0
  27. data/bundler/lib/bundler/cli/check.rb +38 -0
  28. data/bundler/lib/bundler/cli/clean.rb +25 -0
  29. data/bundler/lib/bundler/cli/common.rb +102 -0
  30. data/bundler/lib/bundler/cli/config.rb +119 -0
  31. data/bundler/lib/bundler/cli/console.rb +43 -0
  32. data/bundler/lib/bundler/cli/doctor.rb +94 -0
  33. data/bundler/lib/bundler/cli/exec.rb +104 -0
  34. data/bundler/lib/bundler/cli/gem.rb +252 -0
  35. data/bundler/lib/bundler/cli/info.rb +50 -0
  36. data/bundler/lib/bundler/cli/init.rb +47 -0
  37. data/bundler/lib/bundler/cli/inject.rb +60 -0
  38. data/bundler/lib/bundler/cli/install.rb +214 -0
  39. data/bundler/lib/bundler/cli/issue.rb +40 -0
  40. data/bundler/lib/bundler/cli/list.rb +22 -0
  41. data/bundler/lib/bundler/cli/lock.rb +63 -0
  42. data/bundler/lib/bundler/cli/open.rb +26 -0
  43. data/bundler/lib/bundler/cli/outdated.rb +260 -0
  44. data/bundler/lib/bundler/cli/package.rb +49 -0
  45. data/bundler/lib/bundler/cli/platform.rb +46 -0
  46. data/bundler/lib/bundler/cli/plugin.rb +24 -0
  47. data/bundler/lib/bundler/cli/pristine.rb +43 -0
  48. data/bundler/lib/bundler/cli/show.rb +75 -0
  49. data/bundler/lib/bundler/cli/update.rb +91 -0
  50. data/bundler/lib/bundler/cli/viz.rb +31 -0
  51. data/bundler/lib/bundler/cli.rb +748 -0
  52. data/bundler/lib/bundler/compact_index_client/cache.rb +118 -0
  53. data/bundler/lib/bundler/compact_index_client/updater.rb +116 -0
  54. data/bundler/lib/bundler/compact_index_client.rb +109 -0
  55. data/bundler/lib/bundler/compatibility_guard.rb +14 -0
  56. data/bundler/lib/bundler/constants.rb +7 -0
  57. data/bundler/lib/bundler/current_ruby.rb +86 -0
  58. data/bundler/lib/bundler/definition.rb +989 -0
  59. data/bundler/lib/bundler/dep_proxy.rb +48 -0
  60. data/bundler/lib/bundler/dependency.rb +138 -0
  61. data/bundler/lib/bundler/deployment.rb +69 -0
  62. data/bundler/lib/bundler/deprecate.rb +43 -0
  63. data/bundler/lib/bundler/dsl.rb +599 -0
  64. data/bundler/lib/bundler/endpoint_specification.rb +141 -0
  65. data/bundler/lib/bundler/env.rb +153 -0
  66. data/bundler/lib/bundler/environment_preserver.rb +59 -0
  67. data/bundler/lib/bundler/errors.rb +158 -0
  68. data/bundler/lib/bundler/feature_flag.rb +67 -0
  69. data/bundler/lib/bundler/fetcher/base.rb +52 -0
  70. data/bundler/lib/bundler/fetcher/compact_index.rb +126 -0
  71. data/bundler/lib/bundler/fetcher/dependency.rb +82 -0
  72. data/bundler/lib/bundler/fetcher/downloader.rb +79 -0
  73. data/bundler/lib/bundler/fetcher/index.rb +52 -0
  74. data/bundler/lib/bundler/fetcher.rb +312 -0
  75. data/bundler/lib/bundler/friendly_errors.rb +131 -0
  76. data/bundler/lib/bundler/gem_helper.rb +202 -0
  77. data/bundler/lib/bundler/gem_helpers.rb +101 -0
  78. data/bundler/lib/bundler/gem_remote_fetcher.rb +43 -0
  79. data/bundler/lib/bundler/gem_tasks.rb +7 -0
  80. data/bundler/lib/bundler/gem_version_promoter.rb +176 -0
  81. data/bundler/lib/bundler/gemdeps.rb +29 -0
  82. data/bundler/lib/bundler/graph.rb +152 -0
  83. data/bundler/lib/bundler/index.rb +213 -0
  84. data/bundler/lib/bundler/injector.rb +94 -0
  85. data/bundler/lib/bundler/inline.rb +74 -0
  86. data/bundler/lib/bundler/installer/gem_installer.rb +83 -0
  87. data/bundler/lib/bundler/installer/parallel_installer.rb +228 -0
  88. data/bundler/lib/bundler/installer/standalone.rb +53 -0
  89. data/bundler/lib/bundler/installer.rb +295 -0
  90. data/bundler/lib/bundler/lazy_specification.rb +123 -0
  91. data/bundler/lib/bundler/lockfile_generator.rb +95 -0
  92. data/bundler/lib/bundler/lockfile_parser.rb +256 -0
  93. data/bundler/lib/bundler/match_platform.rb +24 -0
  94. data/bundler/lib/bundler/mirror.rb +223 -0
  95. data/bundler/lib/bundler/plugin/api/source.rb +306 -0
  96. data/bundler/lib/bundler/plugin/api.rb +81 -0
  97. data/bundler/lib/bundler/plugin/dsl.rb +53 -0
  98. data/bundler/lib/bundler/plugin/index.rb +162 -0
  99. data/bundler/lib/bundler/plugin/installer/git.rb +38 -0
  100. data/bundler/lib/bundler/plugin/installer/rubygems.rb +27 -0
  101. data/bundler/lib/bundler/plugin/installer.rb +96 -0
  102. data/bundler/lib/bundler/plugin/source_list.rb +27 -0
  103. data/bundler/lib/bundler/plugin.rb +285 -0
  104. data/bundler/lib/bundler/process_lock.rb +24 -0
  105. data/bundler/lib/bundler/psyched_yaml.rb +37 -0
  106. data/bundler/lib/bundler/remote_specification.rb +114 -0
  107. data/bundler/lib/bundler/resolver/spec_group.rb +110 -0
  108. data/bundler/lib/bundler/resolver.rb +372 -0
  109. data/bundler/lib/bundler/retry.rb +66 -0
  110. data/bundler/lib/bundler/ruby_dsl.rb +18 -0
  111. data/bundler/lib/bundler/ruby_version.rb +152 -0
  112. data/bundler/lib/bundler/rubygems_ext.rb +210 -0
  113. data/bundler/lib/bundler/rubygems_gem_installer.rb +99 -0
  114. data/bundler/lib/bundler/rubygems_integration.rb +898 -0
  115. data/bundler/lib/bundler/runtime.rb +316 -0
  116. data/bundler/lib/bundler/settings/validator.rb +79 -0
  117. data/bundler/lib/bundler/settings.rb +442 -0
  118. data/bundler/lib/bundler/setup.rb +28 -0
  119. data/bundler/lib/bundler/shared_helpers.rb +356 -0
  120. data/bundler/lib/bundler/similarity_detector.rb +63 -0
  121. data/bundler/lib/bundler/source/gemspec.rb +18 -0
  122. data/bundler/lib/bundler/source/git/git_proxy.rb +262 -0
  123. data/bundler/lib/bundler/source/git.rb +329 -0
  124. data/bundler/lib/bundler/source/metadata.rb +63 -0
  125. data/bundler/lib/bundler/source/path/installer.rb +74 -0
  126. data/bundler/lib/bundler/source/path.rb +249 -0
  127. data/bundler/lib/bundler/source/rubygems/remote.rb +66 -0
  128. data/bundler/lib/bundler/source/rubygems.rb +535 -0
  129. data/bundler/lib/bundler/source.rb +94 -0
  130. data/bundler/lib/bundler/source_list.rb +186 -0
  131. data/bundler/lib/bundler/spec_set.rb +192 -0
  132. data/bundler/lib/bundler/ssl_certs/.document +1 -0
  133. data/bundler/lib/bundler/ssl_certs/certificate_manager.rb +66 -0
  134. data/bundler/lib/bundler/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem +21 -0
  135. data/bundler/lib/bundler/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +23 -0
  136. data/bundler/lib/bundler/stub_specification.rb +108 -0
  137. data/bundler/lib/bundler/templates/.document +1 -0
  138. data/bundler/lib/bundler/templates/Executable +29 -0
  139. data/bundler/lib/bundler/templates/Executable.bundler +105 -0
  140. data/bundler/lib/bundler/templates/Executable.standalone +14 -0
  141. data/bundler/lib/bundler/templates/Gemfile +7 -0
  142. data/bundler/lib/bundler/templates/gems.rb +8 -0
  143. data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +74 -0
  144. data/bundler/lib/bundler/templates/newgem/Gemfile.tt +6 -0
  145. data/bundler/lib/bundler/templates/newgem/LICENSE.txt.tt +21 -0
  146. data/bundler/lib/bundler/templates/newgem/README.md.tt +47 -0
  147. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +29 -0
  148. data/bundler/lib/bundler/templates/newgem/bin/console.tt +14 -0
  149. data/bundler/lib/bundler/templates/newgem/bin/setup.tt +8 -0
  150. data/bundler/lib/bundler/templates/newgem/exe/newgem.tt +3 -0
  151. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +3 -0
  152. data/bundler/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +9 -0
  153. data/bundler/lib/bundler/templates/newgem/ext/newgem/newgem.h.tt +6 -0
  154. data/bundler/lib/bundler/templates/newgem/gitignore.tt +20 -0
  155. data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +7 -0
  156. data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +12 -0
  157. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +51 -0
  158. data/bundler/lib/bundler/templates/newgem/rspec.tt +3 -0
  159. data/bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +9 -0
  160. data/bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +14 -0
  161. data/bundler/lib/bundler/templates/newgem/test/newgem_test.rb.tt +11 -0
  162. data/bundler/lib/bundler/templates/newgem/test/test_helper.rb.tt +4 -0
  163. data/bundler/lib/bundler/templates/newgem/travis.yml.tt +5 -0
  164. data/bundler/lib/bundler/ui/rg_proxy.rb +19 -0
  165. data/bundler/lib/bundler/ui/shell.rb +146 -0
  166. data/bundler/lib/bundler/ui/silent.rb +69 -0
  167. data/bundler/lib/bundler/ui.rb +9 -0
  168. data/bundler/lib/bundler/uri_credentials_filter.rb +37 -0
  169. data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +1638 -0
  170. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +26 -0
  171. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +57 -0
  172. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +81 -0
  173. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +36 -0
  174. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +66 -0
  175. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +62 -0
  176. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +63 -0
  177. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +61 -0
  178. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +126 -0
  179. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +46 -0
  180. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +36 -0
  181. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +126 -0
  182. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +223 -0
  183. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +138 -0
  184. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +6 -0
  185. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +101 -0
  186. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +67 -0
  187. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +837 -0
  188. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +46 -0
  189. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +58 -0
  190. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +12 -0
  191. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/faster.rb +27 -0
  192. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/ssl_reuse.rb +129 -0
  193. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +1233 -0
  194. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +104 -0
  195. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +60 -0
  196. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +118 -0
  197. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +143 -0
  198. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +364 -0
  199. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +109 -0
  200. data/bundler/lib/bundler/vendor/thor/lib/thor/actions.rb +321 -0
  201. data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +679 -0
  202. data/bundler/lib/bundler/vendor/thor/lib/thor/command.rb +135 -0
  203. data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +97 -0
  204. data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/io_binary_read.rb +12 -0
  205. data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/ordered_hash.rb +129 -0
  206. data/bundler/lib/bundler/vendor/thor/lib/thor/error.rb +32 -0
  207. data/bundler/lib/bundler/vendor/thor/lib/thor/group.rb +281 -0
  208. data/bundler/lib/bundler/vendor/thor/lib/thor/invocation.rb +177 -0
  209. data/bundler/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +37 -0
  210. data/bundler/lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb +88 -0
  211. data/bundler/lib/bundler/vendor/thor/lib/thor/line_editor.rb +17 -0
  212. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/argument.rb +70 -0
  213. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +175 -0
  214. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/option.rb +146 -0
  215. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/options.rb +221 -0
  216. data/bundler/lib/bundler/vendor/thor/lib/thor/parser.rb +4 -0
  217. data/bundler/lib/bundler/vendor/thor/lib/thor/rake_compat.rb +71 -0
  218. data/bundler/lib/bundler/vendor/thor/lib/thor/runner.rb +324 -0
  219. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +437 -0
  220. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/color.rb +149 -0
  221. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/html.rb +126 -0
  222. data/bundler/lib/bundler/vendor/thor/lib/thor/shell.rb +81 -0
  223. data/bundler/lib/bundler/vendor/thor/lib/thor/util.rb +268 -0
  224. data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +3 -0
  225. data/bundler/lib/bundler/vendor/thor/lib/thor.rb +509 -0
  226. data/bundler/lib/bundler/vendored_fileutils.rb +9 -0
  227. data/bundler/lib/bundler/vendored_molinillo.rb +4 -0
  228. data/bundler/lib/bundler/vendored_persistent.rb +52 -0
  229. data/bundler/lib/bundler/vendored_thor.rb +8 -0
  230. data/bundler/lib/bundler/version.rb +28 -0
  231. data/bundler/lib/bundler/version_ranges.rb +76 -0
  232. data/bundler/lib/bundler/vlad.rb +17 -0
  233. data/bundler/lib/bundler/worker.rb +106 -0
  234. data/bundler/lib/bundler/yaml_serializer.rb +90 -0
  235. data/bundler/lib/bundler.rb +545 -0
  236. data/bundler/man/bundle-add.ronn +29 -0
  237. data/bundler/man/bundle-binstubs.ronn +43 -0
  238. data/bundler/man/bundle-check.ronn +26 -0
  239. data/bundler/man/bundle-clean.ronn +18 -0
  240. data/bundler/man/bundle-config.ronn +376 -0
  241. data/bundler/man/bundle-doctor.ronn +33 -0
  242. data/bundler/man/bundle-exec.ronn +152 -0
  243. data/bundler/man/bundle-gem.ronn +78 -0
  244. data/bundler/man/bundle-info.ronn +17 -0
  245. data/bundler/man/bundle-init.ronn +29 -0
  246. data/bundler/man/bundle-inject.ronn +22 -0
  247. data/bundler/man/bundle-install.ronn +369 -0
  248. data/bundler/man/bundle-list.ronn +15 -0
  249. data/bundler/man/bundle-lock.ronn +94 -0
  250. data/bundler/man/bundle-open.ronn +19 -0
  251. data/bundler/man/bundle-outdated.ronn +107 -0
  252. data/bundler/man/bundle-package.ronn +72 -0
  253. data/bundler/man/bundle-platform.ronn +42 -0
  254. data/bundler/man/bundle-pristine.ronn +34 -0
  255. data/bundler/man/bundle-show.ronn +20 -0
  256. data/bundler/man/bundle-update.ronn +346 -0
  257. data/bundler/man/bundle-viz.ronn +30 -0
  258. data/bundler/man/bundle.ronn +108 -0
  259. data/bundler/man/gemfile.5.ronn +506 -0
  260. data/lib/rubygems/basic_specification.rb +8 -4
  261. data/lib/rubygems/bundler_version_finder.rb +116 -0
  262. data/lib/rubygems/command.rb +10 -2
  263. data/lib/rubygems/command_manager.rb +3 -1
  264. data/lib/rubygems/commands/cert_command.rb +31 -6
  265. data/lib/rubygems/commands/cleanup_command.rb +10 -3
  266. data/lib/rubygems/commands/generate_index_command.rb +1 -1
  267. data/lib/rubygems/commands/help_command.rb +1 -1
  268. data/lib/rubygems/commands/open_command.rb +1 -1
  269. data/lib/rubygems/commands/owner_command.rb +4 -2
  270. data/lib/rubygems/commands/pristine_command.rb +11 -8
  271. data/lib/rubygems/commands/push_command.rb +3 -2
  272. data/lib/rubygems/commands/query_command.rb +17 -17
  273. data/lib/rubygems/commands/setup_command.rb +175 -70
  274. data/lib/rubygems/commands/signin_command.rb +33 -0
  275. data/lib/rubygems/commands/signout_command.rb +33 -0
  276. data/lib/rubygems/commands/sources_command.rb +1 -1
  277. data/lib/rubygems/commands/uninstall_command.rb +4 -3
  278. data/lib/rubygems/commands/unpack_command.rb +19 -7
  279. data/lib/rubygems/commands/update_command.rb +2 -2
  280. data/lib/rubygems/commands/which_command.rb +1 -1
  281. data/lib/rubygems/commands/yank_command.rb +4 -11
  282. data/lib/rubygems/config_file.rb +21 -28
  283. data/lib/rubygems/core_ext/kernel_require.rb +10 -9
  284. data/lib/rubygems/defaults.rb +18 -0
  285. data/lib/rubygems/dependency.rb +10 -4
  286. data/lib/rubygems/dependency_installer.rb +8 -2
  287. data/lib/rubygems/dependency_list.rb +1 -1
  288. data/lib/rubygems/errors.rb +4 -0
  289. data/lib/rubygems/exceptions.rb +11 -1
  290. data/lib/rubygems/ext/builder.rb +2 -2
  291. data/lib/rubygems/ext/ext_conf_builder.rb +7 -7
  292. data/lib/rubygems/ext/rake_builder.rb +2 -2
  293. data/lib/rubygems/gem_runner.rb +5 -1
  294. data/lib/rubygems/indexer.rb +6 -5
  295. data/lib/rubygems/install_update_options.rb +5 -28
  296. data/lib/rubygems/installer.rb +53 -22
  297. data/lib/rubygems/installer_test_case.rb +6 -3
  298. data/lib/rubygems/package/file_source.rb +2 -2
  299. data/lib/rubygems/package/old.rb +3 -3
  300. data/lib/rubygems/package/tar_header.rb +14 -9
  301. data/lib/rubygems/package/tar_writer.rb +12 -16
  302. data/lib/rubygems/package.rb +48 -9
  303. data/lib/rubygems/platform.rb +1 -1
  304. data/lib/rubygems/remote_fetcher.rb +13 -18
  305. data/lib/rubygems/request.rb +47 -1
  306. data/lib/rubygems/request_set/gem_dependency_api.rb +3 -3
  307. data/lib/rubygems/request_set/lockfile/tokenizer.rb +1 -1
  308. data/lib/rubygems/request_set/lockfile.rb +1 -1
  309. data/lib/rubygems/request_set.rb +22 -3
  310. data/lib/rubygems/requirement.rb +5 -1
  311. data/lib/rubygems/resolver/installer_set.rb +4 -6
  312. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +50 -0
  313. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb +80 -0
  314. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb +35 -0
  315. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +65 -0
  316. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +61 -0
  317. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +62 -0
  318. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +60 -0
  319. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb +125 -0
  320. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb +45 -0
  321. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb +35 -0
  322. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb +125 -0
  323. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +78 -147
  324. data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +1 -1
  325. data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +1 -1
  326. data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb +1 -1
  327. data/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb +110 -75
  328. data/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb +4 -2
  329. data/lib/rubygems/resolver/set.rb +1 -1
  330. data/lib/rubygems/resolver.rb +61 -5
  331. data/lib/rubygems/safe_yaml.rb +51 -0
  332. data/lib/rubygems/security/signer.rb +2 -0
  333. data/lib/rubygems/security/trust_dir.rb +1 -1
  334. data/lib/rubygems/security.rb +12 -5
  335. data/lib/rubygems/security_option.rb +43 -0
  336. data/lib/rubygems/server.rb +49 -40
  337. data/lib/rubygems/source/git.rb +2 -1
  338. data/lib/rubygems/source/local.rb +38 -35
  339. data/lib/rubygems/source/lock.rb +4 -1
  340. data/lib/rubygems/source.rb +9 -6
  341. data/lib/rubygems/source_local.rb +3 -1
  342. data/lib/rubygems/source_specific_file.rb +3 -2
  343. data/lib/rubygems/spec_fetcher.rb +7 -3
  344. data/lib/rubygems/specification.rb +317 -251
  345. data/lib/rubygems/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem +21 -0
  346. data/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +25 -0
  347. data/lib/rubygems/stub_specification.rb +10 -4
  348. data/lib/rubygems/test_case.rb +51 -11
  349. data/lib/rubygems/test_utilities.rb +2 -2
  350. data/lib/rubygems/text.rb +14 -1
  351. data/lib/rubygems/user_interaction.rb +22 -20
  352. data/lib/rubygems/util/licenses.rb +37 -0
  353. data/lib/rubygems/util.rb +6 -16
  354. data/lib/rubygems/validator.rb +3 -3
  355. data/lib/rubygems/version.rb +24 -5
  356. data/lib/rubygems/version_option.rb +6 -1
  357. data/lib/rubygems.rb +147 -45
  358. data/lib/ubygems.rb +3 -0
  359. data/setup.rb +1 -1
  360. data/test/rubygems/alternate_cert.pem +10 -9
  361. data/test/rubygems/alternate_cert_32.pem +10 -9
  362. data/test/rubygems/child_cert.pem +11 -9
  363. data/test/rubygems/child_cert_32.pem +11 -9
  364. data/test/rubygems/encrypted_private_key.pem +26 -26
  365. data/test/rubygems/expired_cert.pem +9 -8
  366. data/test/rubygems/future_cert.pem +9 -8
  367. data/test/rubygems/future_cert_32.pem +9 -8
  368. data/test/rubygems/grandchild_cert.pem +11 -9
  369. data/test/rubygems/grandchild_cert_32.pem +11 -9
  370. data/test/rubygems/invalid_issuer_cert.pem +11 -9
  371. data/test/rubygems/invalid_issuer_cert_32.pem +11 -9
  372. data/test/rubygems/invalid_signer_cert.pem +10 -9
  373. data/test/rubygems/invalid_signer_cert_32.pem +10 -9
  374. data/test/rubygems/invalidchild_cert.pem +11 -9
  375. data/test/rubygems/invalidchild_cert_32.pem +11 -9
  376. data/test/rubygems/private3072_key.pem +40 -0
  377. data/test/rubygems/public3072_cert.pem +25 -0
  378. data/test/rubygems/public_cert.pem +11 -9
  379. data/test/rubygems/public_cert_32.pem +10 -9
  380. data/test/rubygems/rubygems_plugin.rb +4 -0
  381. data/test/rubygems/test_bundled_ca.rb +1 -1
  382. data/test/rubygems/test_config.rb +1 -1
  383. data/test/rubygems/test_gem.rb +168 -55
  384. data/test/rubygems/test_gem_bundler_version_finder.rb +125 -0
  385. data/test/rubygems/test_gem_command.rb +7 -1
  386. data/test/rubygems/test_gem_commands_build_command.rb +27 -1
  387. data/test/rubygems/test_gem_commands_cert_command.rb +64 -0
  388. data/test/rubygems/test_gem_commands_cleanup_command.rb +44 -1
  389. data/test/rubygems/test_gem_commands_install_command.rb +36 -2
  390. data/test/rubygems/test_gem_commands_open_command.rb +2 -1
  391. data/test/rubygems/test_gem_commands_owner_command.rb +25 -0
  392. data/test/rubygems/test_gem_commands_pristine_command.rb +1 -1
  393. data/test/rubygems/test_gem_commands_push_command.rb +5 -5
  394. data/test/rubygems/test_gem_commands_query_command.rb +154 -1
  395. data/test/rubygems/test_gem_commands_setup_command.rb +140 -10
  396. data/test/rubygems/test_gem_commands_signin_command.rb +98 -0
  397. data/test/rubygems/test_gem_commands_signout_command.rb +37 -0
  398. data/test/rubygems/test_gem_commands_sources_command.rb +52 -0
  399. data/test/rubygems/test_gem_commands_uninstall_command.rb +14 -2
  400. data/test/rubygems/test_gem_commands_update_command.rb +1 -7
  401. data/test/rubygems/test_gem_commands_which_command.rb +3 -3
  402. data/test/rubygems/test_gem_config_file.rb +1 -2
  403. data/test/rubygems/test_gem_dependency.rb +28 -0
  404. data/test/rubygems/test_gem_dependency_installer.rb +1 -1
  405. data/test/rubygems/test_gem_doctor.rb +2 -2
  406. data/test/rubygems/test_gem_ext_builder.rb +8 -8
  407. data/test/rubygems/test_gem_ext_configure_builder.rb +1 -1
  408. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +23 -0
  409. data/test/rubygems/test_gem_ext_rake_builder.rb +33 -16
  410. data/test/rubygems/test_gem_gemcutter_utilities.rb +4 -4
  411. data/test/rubygems/test_gem_indexer.rb +1 -2
  412. data/test/rubygems/test_gem_install_update_options.rb +4 -1
  413. data/test/rubygems/test_gem_installer.rb +230 -32
  414. data/test/rubygems/test_gem_package.rb +156 -29
  415. data/test/rubygems/test_gem_package_old.rb +1 -1
  416. data/test/rubygems/test_gem_package_tar_header.rb +21 -0
  417. data/test/rubygems/test_gem_package_tar_writer.rb +24 -0
  418. data/test/rubygems/test_gem_rdoc.rb +2 -0
  419. data/test/rubygems/test_gem_remote_fetcher.rb +38 -19
  420. data/test/rubygems/test_gem_request.rb +132 -0
  421. data/test/rubygems/test_gem_request_connection_pools.rb +6 -7
  422. data/test/rubygems/test_gem_request_set.rb +7 -7
  423. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +3 -3
  424. data/test/rubygems/test_gem_request_set_lockfile.rb +4 -4
  425. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +1 -1
  426. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +1 -1
  427. data/test/rubygems/test_gem_requirement.rb +6 -0
  428. data/test/rubygems/test_gem_resolver.rb +29 -3
  429. data/test/rubygems/test_gem_resolver_conflict.rb +1 -1
  430. data/test/rubygems/test_gem_resolver_git_specification.rb +1 -1
  431. data/test/rubygems/test_gem_security.rb +5 -0
  432. data/test/rubygems/test_gem_security_policy.rb +27 -27
  433. data/test/rubygems/test_gem_security_signer.rb +14 -6
  434. data/test/rubygems/test_gem_security_trust_dir.rb +2 -2
  435. data/test/rubygems/test_gem_server.rb +210 -12
  436. data/test/rubygems/test_gem_source.rb +12 -3
  437. data/test/rubygems/test_gem_source_fetch_problem.rb +8 -0
  438. data/test/rubygems/test_gem_source_git.rb +1 -1
  439. data/test/rubygems/test_gem_spec_fetcher.rb +20 -0
  440. data/test/rubygems/test_gem_specification.rb +163 -32
  441. data/test/rubygems/test_gem_stream_ui.rb +6 -6
  442. data/test/rubygems/test_gem_stub_specification.rb +85 -6
  443. data/test/rubygems/test_gem_text.rb +11 -0
  444. data/test/rubygems/test_gem_util.rb +26 -0
  445. data/test/rubygems/test_gem_version.rb +46 -7
  446. data/test/rubygems/test_gem_version_option.rb +15 -0
  447. data/test/rubygems/test_kernel.rb +30 -0
  448. data/test/rubygems/test_remote_fetch_error.rb +21 -0
  449. data/test/rubygems/test_require.rb +95 -21
  450. data/test/rubygems/wrong_key_cert.pem +10 -9
  451. data/test/rubygems/wrong_key_cert_32.pem +10 -9
  452. data/util/ci +74 -0
  453. data/util/create_certs.rb +64 -49
  454. data/util/generate_spdx_license_list.rb +2 -1
  455. data/util/patch_with_prs.rb +77 -0
  456. data/util/update_bundled_ca_certificates.rb +23 -2
  457. data/util/update_changelog.rb +67 -0
  458. metadata +301 -48
  459. data/README.rdoc +0 -54
  460. data/lib/gauntlet_rubygems.rb +0 -51
  461. data/lib/rubygems/ssl_certs/index.rubygems.org/GlobalSignRoot.pem +0 -18
  462. /data/{lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot-2048.pem → bundler/lib/bundler/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem} +0 -0
@@ -58,7 +58,12 @@ module Gem::VersionOption
58
58
  add_option('-v', '--version VERSION', Gem::Requirement,
59
59
  "Specify version of gem to #{task}", *wrap) do
60
60
  |value, options|
61
- options[:version] = value
61
+ # Allow handling for multiple --version operators
62
+ if options[:version] && !options[:version].none?
63
+ options[:version].concat([value])
64
+ else
65
+ options[:version] = value
66
+ end
62
67
 
63
68
  explicit_prerelease_set = !options[:explicit_prerelease].nil?
64
69
  options[:explicit_prerelease] = false unless explicit_prerelease_set
data/lib/rubygems.rb CHANGED
@@ -10,7 +10,7 @@ require 'rbconfig'
10
10
  require 'thread'
11
11
 
12
12
  module Gem
13
- VERSION = '2.6.3'
13
+ VERSION = "2.7.7"
14
14
  end
15
15
 
16
16
  # Must be first since it unloads the prelude from 1.9.2
@@ -39,7 +39,7 @@ require 'rubygems/errors'
39
39
  # Further RubyGems documentation can be found at:
40
40
  #
41
41
  # * {RubyGems Guides}[http://guides.rubygems.org]
42
- # * {RubyGems API}[http://rubygems.rubyforge.org/rdoc] (also available from
42
+ # * {RubyGems API}[http://www.rubydoc.info/github/rubygems/rubygems] (also available from
43
43
  # <tt>gem server</tt>)
44
44
  #
45
45
  # == RubyGems Plugins
@@ -47,15 +47,14 @@ require 'rubygems/errors'
47
47
  # As of RubyGems 1.3.2, RubyGems will load plugins installed in gems or
48
48
  # $LOAD_PATH. Plugins must be named 'rubygems_plugin' (.rb, .so, etc) and
49
49
  # placed at the root of your gem's #require_path. Plugins are discovered via
50
- # Gem::find_files then loaded. Take care when implementing a plugin as your
51
- # plugin file may be loaded multiple times if multiple versions of your gem
52
- # are installed.
50
+ # Gem::find_files and then loaded.
53
51
  #
54
- # For an example plugin, see the graph gem which adds a `gem graph` command.
52
+ # For an example plugin, see the {Graph gem}[https://github.com/seattlerb/graph]
53
+ # which adds a `gem graph` command.
55
54
  #
56
55
  # == RubyGems Defaults, Packaging
57
56
  #
58
- # RubyGems defaults are stored in rubygems/defaults.rb. If you're packaging
57
+ # RubyGems defaults are stored in lib/rubygems/defaults.rb. If you're packaging
59
58
  # RubyGems or implementing Ruby you can change RubyGems' defaults.
60
59
  #
61
60
  # For RubyGems packagers, provide lib/rubygems/defaults/operating_system.rb
@@ -65,7 +64,7 @@ require 'rubygems/errors'
65
64
  # override any defaults from lib/rubygems/defaults.rb.
66
65
  #
67
66
  # If you need RubyGems to perform extra work on install or uninstall, your
68
- # defaults override file can set pre and post install and uninstall hooks.
67
+ # defaults override file can set pre/post install and uninstall hooks.
69
68
  # See Gem::pre_install, Gem::pre_uninstall, Gem::post_install,
70
69
  # Gem::post_uninstall.
71
70
  #
@@ -106,6 +105,8 @@ require 'rubygems/errors'
106
105
  #
107
106
  # (If your name is missing, PLEASE let us know!)
108
107
  #
108
+ # == License
109
+ #
109
110
  # See {LICENSE.txt}[rdoc-ref:lib/rubygems/LICENSE.txt] for permissions.
110
111
  #
111
112
  # Thanks!
@@ -130,6 +131,7 @@ module Gem
130
131
 
131
132
  GEM_DEP_FILES = %w[
132
133
  gem.deps.rb
134
+ gems.rb
133
135
  Gemfile
134
136
  Isolate
135
137
  ]
@@ -154,6 +156,28 @@ module Gem
154
156
  specifications/default
155
157
  ]
156
158
 
159
+ ##
160
+ # Exception classes used in a Gem.read_binary +rescue+ statement. Not all of
161
+ # these are defined in Ruby 1.8.7, hence the need for this convoluted setup.
162
+
163
+ READ_BINARY_ERRORS = begin
164
+ read_binary_errors = [Errno::EACCES, Errno::EROFS, Errno::ENOSYS]
165
+ read_binary_errors << Errno::ENOTSUP if Errno.const_defined?(:ENOTSUP)
166
+ read_binary_errors
167
+ end.freeze
168
+
169
+ ##
170
+ # Exception classes used in Gem.write_binary +rescue+ statement. Not all of
171
+ # these are defined in Ruby 1.8.7.
172
+
173
+ WRITE_BINARY_ERRORS = begin
174
+ write_binary_errors = [Errno::ENOSYS]
175
+ write_binary_errors << Errno::ENOTSUP if Errno.const_defined?(:ENOTSUP)
176
+ write_binary_errors
177
+ end.freeze
178
+
179
+ USE_BUNDLER_FOR_GEMDEPS = !ENV['DONT_USE_BUNDLER_FOR_GEMDEPS'] # :nodoc:
180
+
157
181
  @@win_platform = nil
158
182
 
159
183
  @configuration = nil
@@ -214,6 +238,7 @@ module Gem
214
238
 
215
239
  def self.finish_resolve(request_set=Gem::RequestSet.new)
216
240
  request_set.import Gem::Specification.unresolved_deps.values
241
+ request_set.import Gem.loaded_specs.values.map {|s| Gem::Dependency.new(s.name, s.version) }
217
242
 
218
243
  request_set.resolve_current.each do |s|
219
244
  s.full_spec.activate
@@ -245,17 +270,22 @@ module Gem
245
270
 
246
271
  return loaded if loaded && dep.matches_spec?(loaded)
247
272
 
248
- specs = dep.matching_specs(true)
249
-
250
- raise Gem::GemNotFoundException,
251
- "can't find gem #{dep}" if specs.empty?
273
+ find_specs = proc { dep.matching_specs(true) }
274
+ if dep.to_s == "bundler (>= 0.a)"
275
+ specs = Gem::BundlerVersionFinder.without_filtering(&find_specs)
276
+ else
277
+ specs = find_specs.call
278
+ end
252
279
 
253
280
  specs = specs.find_all { |spec|
254
281
  spec.executables.include? exec_name
255
282
  } if exec_name
256
283
 
257
284
  unless spec = specs.first
258
- msg = "can't find gem #{name} (#{requirements}) with executable #{exec_name}"
285
+ msg = "can't find gem #{dep} with executable #{exec_name}"
286
+ if name == "bundler" && bundler_message = Gem::BundlerVersionFinder.missing_version_message
287
+ msg = bundler_message
288
+ end
259
289
  raise Gem::GemNotFoundException, msg
260
290
  end
261
291
 
@@ -276,7 +306,10 @@ module Gem
276
306
 
277
307
  def self.activate_bin_path name, exec_name, requirement # :nodoc:
278
308
  spec = find_spec_for_exe name, exec_name, [requirement]
279
- Gem::LOADED_SPECS_MUTEX.synchronize { spec.activate }
309
+ Gem::LOADED_SPECS_MUTEX.synchronize do
310
+ spec.activate
311
+ finish_resolve
312
+ end
280
313
  spec.bin_file exec_name
281
314
  end
282
315
 
@@ -335,12 +368,16 @@ module Gem
335
368
  # package is not available as a gem, return nil.
336
369
 
337
370
  def self.datadir(gem_name)
338
- # TODO: deprecate
339
371
  spec = @loaded_specs[gem_name]
340
372
  return nil if spec.nil?
341
373
  spec.datadir
342
374
  end
343
375
 
376
+ class << self
377
+ extend Gem::Deprecate
378
+ deprecate :datadir, "spec.datadir", 2016, 10
379
+ end
380
+
344
381
  ##
345
382
  # A Zlib::Deflate.deflate wrapper
346
383
 
@@ -567,32 +604,44 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
567
604
 
568
605
  private_class_method :find_home
569
606
 
570
- # FIXME deprecate these in 3.0
607
+ # TODO: remove in RubyGems 4.0
571
608
 
572
609
  ##
573
610
  # Zlib::GzipReader wrapper that unzips +data+.
574
611
 
575
612
  def self.gunzip(data)
576
- require 'rubygems/util'
577
613
  Gem::Util.gunzip data
578
614
  end
579
615
 
616
+ class << self
617
+ extend Gem::Deprecate
618
+ deprecate :gunzip, "Gem::Util.gunzip", 2018, 12
619
+ end
620
+
580
621
  ##
581
622
  # Zlib::GzipWriter wrapper that zips +data+.
582
623
 
583
624
  def self.gzip(data)
584
- require 'rubygems/util'
585
625
  Gem::Util.gzip data
586
626
  end
587
627
 
628
+ class << self
629
+ extend Gem::Deprecate
630
+ deprecate :gzip, "Gem::Util.gzip", 2018, 12
631
+ end
632
+
588
633
  ##
589
634
  # A Zlib::Inflate#inflate wrapper
590
635
 
591
636
  def self.inflate(data)
592
- require 'rubygems/util'
593
637
  Gem::Util.inflate data
594
638
  end
595
639
 
640
+ class << self
641
+ extend Gem::Deprecate
642
+ deprecate :inflate, "Gem::Util.inflate", 2018, 12
643
+ end
644
+
596
645
  ##
597
646
  # Top level install helper method. Allows you to install gems interactively:
598
647
  #
@@ -654,7 +703,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
654
703
 
655
704
  unless test_syck
656
705
  begin
657
- gem 'psych', '>= 1.2.1'
706
+ gem 'psych', '>= 2.0.0'
658
707
  rescue Gem::LoadError
659
708
  # It's OK if the user does not have the psych gem installed. We will
660
709
  # attempt to require the stdlib version
@@ -678,6 +727,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
678
727
  end
679
728
 
680
729
  require 'yaml'
730
+ require 'rubygems/safe_yaml'
681
731
 
682
732
  # If we're supposed to be using syck, then we may have to force
683
733
  # activate it via the YAML::ENGINE API.
@@ -694,9 +744,20 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
694
744
 
695
745
  ##
696
746
  # The file name and line number of the caller of the caller of this method.
747
+ #
748
+ # +depth+ is how many layers up the call stack it should go.
749
+ #
750
+ # e.g.,
751
+ #
752
+ # def a; Gem.location_of_caller; end
753
+ # a #=> ["x.rb", 2] # (it'll vary depending on file name and line number)
754
+ #
755
+ # def b; c; end
756
+ # def c; Gem.location_of_caller(2); end
757
+ # b #=> ["x.rb", 6] # (it'll vary depending on file name and line number)
697
758
 
698
- def self.location_of_caller
699
- caller[1] =~ /(.*?):(\d+).*?$/i
759
+ def self.location_of_caller(depth = 1)
760
+ caller[depth] =~ /(.*?):(\d+).*?$/i
700
761
  file = $1
701
762
  lineno = $2.to_i
702
763
 
@@ -825,24 +886,44 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
825
886
  # Safely read a file in binary mode on all platforms.
826
887
 
827
888
  def self.read_binary(path)
828
- open path, 'rb+' do |f|
889
+ File.open path, 'rb+' do |f|
829
890
  f.flock(File::LOCK_EX)
830
891
  f.read
831
892
  end
832
- rescue Errno::EACCES
833
- open path, 'rb' do |f|
893
+ rescue *READ_BINARY_ERRORS
894
+ File.open path, 'rb' do |f|
834
895
  f.read
835
896
  end
836
897
  rescue Errno::ENOLCK # NFS
837
898
  if Thread.main != Thread.current
838
899
  raise
839
900
  else
840
- open path, 'rb' do |f|
901
+ File.open path, 'rb' do |f|
841
902
  f.read
842
903
  end
843
904
  end
844
905
  end
845
906
 
907
+ ##
908
+ # Safely write a file in binary mode on all platforms.
909
+ def self.write_binary(path, data)
910
+ open(path, 'wb') do |io|
911
+ begin
912
+ io.flock(File::LOCK_EX)
913
+ rescue *WRITE_BINARY_ERRORS
914
+ end
915
+ io.write data
916
+ end
917
+ rescue Errno::ENOLCK # NFS
918
+ if Thread.main != Thread.current
919
+ raise
920
+ else
921
+ open(path, 'wb') do |io|
922
+ io.write data
923
+ end
924
+ end
925
+ end
926
+
846
927
  ##
847
928
  # The path to the running Ruby interpreter.
848
929
 
@@ -931,7 +1012,8 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
931
1012
  # default_sources if the sources list is empty.
932
1013
 
933
1014
  def self.sources
934
- @sources ||= Gem::SourceList.from(default_sources)
1015
+ source_list = configuration.sources || default_sources
1016
+ @sources ||= Gem::SourceList.from(source_list)
935
1017
  end
936
1018
 
937
1019
  ##
@@ -1106,8 +1188,6 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
1106
1188
  path = path.dup
1107
1189
 
1108
1190
  if path == "-" then
1109
- require 'rubygems/util'
1110
-
1111
1191
  Gem::Util.traverse_parents Dir.pwd do |directory|
1112
1192
  dep_file = GEM_DEP_FILES.find { |f| File.file?(f) }
1113
1193
 
@@ -1126,25 +1206,46 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
1126
1206
  raise ArgumentError, "Unable to find gem dependencies file at #{path}"
1127
1207
  end
1128
1208
 
1129
- rs = Gem::RequestSet.new
1130
- @gemdeps = rs.load_gemdeps path
1209
+ if USE_BUNDLER_FOR_GEMDEPS
1210
+
1211
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path(path)
1212
+ require 'rubygems/user_interaction'
1213
+ Gem::DefaultUserInteraction.use_ui(ui) do
1214
+ require "bundler"
1215
+ @gemdeps = Bundler.setup
1216
+ Bundler.ui = nil
1217
+ @gemdeps.requested_specs.map(&:to_spec).sort_by(&:name)
1218
+ end
1219
+
1220
+ else
1221
+
1222
+ rs = Gem::RequestSet.new
1223
+ @gemdeps = rs.load_gemdeps path
1224
+
1225
+ rs.resolve_current.map do |s|
1226
+ s.full_spec.tap(&:activate)
1227
+ end
1131
1228
 
1132
- rs.resolve_current.map do |s|
1133
- sp = s.full_spec
1134
- sp.activate
1135
- sp
1136
1229
  end
1137
- rescue Gem::LoadError, Gem::UnsatisfiableDependencyError => e
1138
- warn e.message
1139
- warn "You may need to `gem install -g` to install missing gems"
1140
- warn ""
1230
+ rescue => e
1231
+ case e
1232
+ when Gem::LoadError, Gem::UnsatisfiableDependencyError, (defined?(Bundler::GemNotFound) ? Bundler::GemNotFound : Gem::LoadError)
1233
+ warn e.message
1234
+ warn "You may need to `gem install -g` to install missing gems"
1235
+ warn ""
1236
+ else
1237
+ raise
1238
+ end
1141
1239
  end
1142
1240
 
1143
1241
  class << self
1144
1242
  ##
1145
- # TODO remove with RubyGems 3.0
1243
+ # TODO remove with RubyGems 4.0
1146
1244
 
1147
1245
  alias detect_gemdeps use_gemdeps # :nodoc:
1246
+
1247
+ extend Gem::Deprecate
1248
+ deprecate :detect_gemdeps, "Gem.use_gemdeps", 2018, 12
1148
1249
  end
1149
1250
 
1150
1251
  # FIX: Almost everywhere else we use the `def self.` way of defining class
@@ -1183,6 +1284,8 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
1183
1284
  prefix_pattern = /^(#{prefix_group})/
1184
1285
  end
1185
1286
 
1287
+ suffix_pattern = /#{Regexp.union(Gem.suffixes)}\z/
1288
+
1186
1289
  spec.files.each do |file|
1187
1290
  if new_format
1188
1291
  file = file.sub(prefix_pattern, "")
@@ -1190,6 +1293,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
1190
1293
  end
1191
1294
 
1192
1295
  @path_to_default_spec_map[file] = spec
1296
+ @path_to_default_spec_map[file.sub(suffix_pattern, "")] = spec
1193
1297
  end
1194
1298
  end
1195
1299
 
@@ -1197,11 +1301,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
1197
1301
  # Find a Gem::Specification of default gem from +path+
1198
1302
 
1199
1303
  def find_unresolved_default_spec(path)
1200
- Gem.suffixes.each do |suffix|
1201
- spec = @path_to_default_spec_map["#{path}#{suffix}"]
1202
- return spec if spec
1203
- end
1204
- nil
1304
+ @path_to_default_spec_map[path]
1205
1305
  end
1206
1306
 
1207
1307
  ##
@@ -1272,6 +1372,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
1272
1372
 
1273
1373
  MARSHAL_SPEC_DIR = "quick/Marshal.#{Gem.marshal_version}/"
1274
1374
 
1375
+ autoload :BundlerVersionFinder, 'rubygems/bundler_version_finder'
1275
1376
  autoload :ConfigFile, 'rubygems/config_file'
1276
1377
  autoload :Dependency, 'rubygems/dependency'
1277
1378
  autoload :DependencyList, 'rubygems/dependency_list'
@@ -1287,6 +1388,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
1287
1388
  autoload :SourceList, 'rubygems/source_list'
1288
1389
  autoload :SpecFetcher, 'rubygems/spec_fetcher'
1289
1390
  autoload :Specification, 'rubygems/specification'
1391
+ autoload :Util, 'rubygems/util'
1290
1392
  autoload :Version, 'rubygems/version'
1291
1393
 
1292
1394
  require "rubygems/specification"
data/lib/ubygems.rb CHANGED
@@ -7,5 +7,8 @@
7
7
  # See LICENSE.txt for permissions.
8
8
  #++
9
9
 
10
+ # TODO: Remove this file at RubyGems 4.0
11
+ # Based by https://bugs.ruby-lang.org/issues/14322#note-4
12
+ warn "`ubygems.rb' is deprecated, and will be removed on or after 2018-12-01. Remove `-rubygems' from your command-line, or use `-r rubygems' instead"
10
13
 
11
14
  require 'rubygems'
data/setup.rb CHANGED
@@ -7,7 +7,7 @@
7
7
  #++
8
8
 
9
9
  if RUBY_VERSION < "1.8.7"
10
- $stderr.puts "Rubygems now requires Ruby 1.8.7 or later"
10
+ $stderr.puts "RubyGems now requires Ruby 1.8.7 or later"
11
11
  exit 1
12
12
  end
13
13
 
@@ -1,6 +1,6 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIIC9zCCAd+gAwIBAgIBADANBgkqhkiG9w0BAQUFADAtMRIwEAYDVQQDDAlhbHRl
3
- cm5hdGUxFzAVBgoJkiaJk/IsZAEZFgdleGFtcGxlMCAXDTEyMTIwODAwMDAwMFoY
2
+ MIIDFjCCAf6gAwIBAgIBBDANBgkqhkiG9w0BAQUFADAtMRIwEAYDVQQDDAlhbHRl
3
+ cm5hdGUxFzAVBgoJkiaJk/IsZAEZFgdleGFtcGxlMCAXDTEyMDEwMTAwMDAwMFoY
4
4
  Dzk5OTkxMjMxMjM1OTU5WjAtMRIwEAYDVQQDDAlhbHRlcm5hdGUxFzAVBgoJkiaJ
5
5
  k/IsZAEZFgdleGFtcGxlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
6
6
  vZQipBa1xH3M9OonkrUYhGZeX9UHAcJhe6jJbUr/uHXkh1Tu2ERWNnblm85upqBf
@@ -8,11 +8,12 @@ jyZEnKer7uBcwwkkvmisVgC8uBECymsBxuEIw0rfiKYEnLu0B6SiWFYz3dYPS92b
8
8
  BK7Vks2/kNyXUmLLGoZ3id2K0eK5C/AJ0j+p84OqPnVhylsjrZmXfIZrh7lkHhgC
9
9
  IrzPefjE3pOloi/tz6fh2ktb0FYKQMfweT3Ba2TMeflG13PEOW80AD5w0THxDutG
10
10
  G0zPNCDyDEoT7UU1a3B3RMHYuUxEk1GUEYWq9L6a6SMpZISWTSpCp0Ww1QB55PON
11
- iCCn+o6vcIy46jI71dATAQIDAQABoyAwHjAcBgNVHREEFTATgRFhbHRlcm5hdGVA
12
- ZXhhbXBsZTANBgkqhkiG9w0BAQUFAAOCAQEAtiOe4Ws0hQdxlPCHcngMoWeWMg/d
13
- EtYHy1vD9oTOEGax6y319ShFNzCTG5Mk9dVXdVTrwml9+SrqmLbcckzr05TpSq3t
14
- JcNjx+qMwU31655DY+r2Le1mbrhhXilLJ++KjhaIzeqmA55MFLNBdMrApL0v2Tf9
15
- e9aiL8W8jXPX24uJd5eaFTsPV3NfcYV/iDyf1zv2Fe3NO8e0V1luQxJd3v+ILlRo
16
- YAkm2DK83G++YkvgsopRdOFfFsY3Gb6XtL87iGOWRbdNK90pThpfORcKoTus7QLx
17
- l7vsHsOJF5NZwLiBF9ufKH6fUV3Fy25JwB/z8kR8Bkplcl0F8jpJYrd6NQ==
11
+ iCCn+o6vcIy46jI71dATAQIDAQABoz8wPTAcBgNVHREEFTATgRFhbHRlcm5hdGVA
12
+ ZXhhbXBsZTAdBgNVHQ4EFgQUyvn/FwcZnA7AkzPjmoooB4/tKgcwDQYJKoZIhvcN
13
+ AQEFBQADggEBAHilxCg0dmOn3hxPjWMf/tAvG/S25iAIZZPuWo71DSSsn/zPRWDZ
14
+ OkDNL7syJ7S2jjrWWCIyLxhj89ZI7Oyd3elOB2zd4RsDij1y9Gv0ZPqNoTp0Repk
15
+ aPtRRLEwk9j2C37Tv+qA2PnTLp8MA0DVkb1/yuSd03b2K/AZEHT8Jtf3WC3RqGSK
16
+ A1+M8CvPSSgPY7oveFFerpqAzfC4tlgyPZjSqBjZucEIlxBD2lA/3JQ8Ys8+0705
17
+ j2jGMl5r1Y22nl0A0+cHGtPX3irtR8bcEAO+rpEfpHNF2APaYsCT7Frk1CtuAHYB
18
+ mEwqWPQKU5ZJOV4uu69Hw5Po2bfgyjKV+N8=
18
19
  -----END CERTIFICATE-----
@@ -1,6 +1,6 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIIC9TCCAd2gAwIBAgIBATANBgkqhkiG9w0BAQUFADAtMRIwEAYDVQQDDAlhbHRl
3
- cm5hdGUxFzAVBgoJkiaJk/IsZAEZFgdleGFtcGxlMB4XDTEyMTIwODAwMDAwMFoX
2
+ MIIDFDCCAfygAwIBAgIBBTANBgkqhkiG9w0BAQUFADAtMRIwEAYDVQQDDAlhbHRl
3
+ cm5hdGUxFzAVBgoJkiaJk/IsZAEZFgdleGFtcGxlMB4XDTEyMDEwMTAwMDAwMFoX
4
4
  DTM4MDExOTAzMTQwN1owLTESMBAGA1UEAwwJYWx0ZXJuYXRlMRcwFQYKCZImiZPy
5
5
  LGQBGRYHZXhhbXBsZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL2U
6
6
  IqQWtcR9zPTqJ5K1GIRmXl/VBwHCYXuoyW1K/7h15IdU7thEVjZ25ZvObqagX48m
@@ -8,11 +8,12 @@ RJynq+7gXMMJJL5orFYAvLgRAsprAcbhCMNK34imBJy7tAekolhWM93WD0vdmwSu
8
8
  1ZLNv5Dcl1JiyxqGd4nditHiuQvwCdI/qfODqj51YcpbI62Zl3yGa4e5ZB4YAiK8
9
9
  z3n4xN6TpaIv7c+n4dpLW9BWCkDH8Hk9wWtkzHn5RtdzxDlvNAA+cNEx8Q7rRhtM
10
10
  zzQg8gxKE+1FNWtwd0TB2LlMRJNRlBGFqvS+mukjKWSElk0qQqdFsNUAeeTzjYgg
11
- p/qOr3CMuOoyO9XQEwECAwEAAaMgMB4wHAYDVR0RBBUwE4ERYWx0ZXJuYXRlQGV4
12
- YW1wbGUwDQYJKoZIhvcNAQEFBQADggEBABB+jdfwANRtIQKCvv+1VnYm+3QSfshy
13
- TI5Kk50TphheDJ7VbYyTmOxPUTsFzn0cX8zD1jBOtdVdyy6u7qUHOw6ZrDKdgg4I
14
- 95lJJibFrVXeazTByHhe31u08lMfp/6kdYwSornHUWmEHhAT60nvSbkLblW/jgPo
15
- i1pFY5hcGJAE6kFQLQpjgl8TbUTioA8wYOKJA5ITItBXO7fYMQKDS2jYR3JMiNLR
16
- FxgN8SzSUB0S7deI5O9fMLYL006zHP5u0qcZjVFvFJdtt3WsqDUu8E6O4QgVwvq1
17
- MPNUBfuNdMek1LnIUZgr7Jek+0wvbnZCGyEaVakcV74cq8fjEgWr3C0=
11
+ p/qOr3CMuOoyO9XQEwECAwEAAaM/MD0wHAYDVR0RBBUwE4ERYWx0ZXJuYXRlQGV4
12
+ YW1wbGUwHQYDVR0OBBYEFMr5/xcHGZwOwJMz45qKKAeP7SoHMA0GCSqGSIb3DQEB
13
+ BQUAA4IBAQA1Vs3lcPpqnbsdtFDgrzApZuNgtyCRbbSrshq37dem9wSI4aFjAPLx
14
+ QGgf3c+XZczK9FkR3VUHcK8yZFrCKpv9giZDvzCUOMB/HSBAzNiNbhgUC1S0THir
15
+ xFriDITPoY7mrdJlX41Ssqk6tIKZsYP63UVghy7f9wxqXJvyfJZSB9UeM+0baQVL
16
+ tGTKXmvzLw1Pc/LHTrt7jcZT9UbBsxNNy0Wk9FPPePCUUlegRjInd/sNevywzL/T
17
+ 1DL0BefqF6iyWcu86Udo+eli1JDzeUsfHOL7oqJGlWhlZHRDJ1M89n5KwPg8SCx5
18
+ TpemV2Wy0nRTzITnmggexlMibSJ0iOvC
18
19
  -----END CERTIFICATE-----
@@ -1,6 +1,6 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIIC7DCCAdSgAwIBAgIBAjANBgkqhkiG9w0BAQUFADAqMQ8wDQYDVQQDDAZub2Jv
3
- ZHkxFzAVBgoJkiaJk/IsZAEZFgdleGFtcGxlMCAXDTEyMTIwODAwMDAwMFoYDzk5
2
+ MIIDTTCCAjWgAwIBAgIBAjANBgkqhkiG9w0BAQUFADAqMQ8wDQYDVQQDDAZub2Jv
3
+ ZHkxFzAVBgoJkiaJk/IsZAEZFgdleGFtcGxlMCAXDTEyMDEwMTAwMDAwMFoYDzk5
4
4
  OTkxMjMxMjM1OTU5WjApMQ4wDAYDVQQDDAVjaGlsZDEXMBUGCgmSJomT8ixkARkW
5
5
  B2V4YW1wbGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDKf7+1q0cR
6
6
  MhC/RM6Whpon/5IxuSve3CCxxdN0LcSbUisFMlf28Zj+S545SKFc6gHFcnYLZZsy
@@ -8,11 +8,13 @@ Gm4FWEd4DhNpg/kgoDPuPGwQp2DEOvKnnneB/Shj8V+6oLrjXaZFAu8Q916c5/BL
8
8
  z+PlHIIsO/Q865XOK+5z1sZi0xval8QT7u4Usrcy86gevflCbpBAWkNPa/DZDqA9
9
9
  nk0vB2XDSHvhavcrYLfDrYAnFz3wiZ70LYQrmdeOqkPpaiw//Qpzqp+vtuF2br6U
10
10
  iYWpN+dhdFsIxAwIE5kWZ1kk6OBJ4kHvr+Sh8Oqbf6WFBhW/lQa9wldA0xhNwhGr
11
- 1FDEfC+0g/BvAgMBAAGjHDAaMBgGA1UdEQQRMA+BDWNoaWxkQGV4YW1wbGUwDQYJ
12
- KoZIhvcNAQEFBQADggEBAGuRKUhUhtmObY00za/qw71wjqtNZad5+k9acM/xh/my
13
- +YEBSlj8ZIWD1H0kUmAO0Pmwab6ziFA8IrAo0N1D897o7eP83KzVeVxoJi1g+8rS
14
- u16bF7cC5zT9S/N/ZNTVz9ERjRAD7MdcbXEikKPaqjqzZBViClqpO8YQ6Z9bFgXk
15
- gV9plX1ki17H+EuXNs21gqsy+8NAxTlXKuF5JKriBOQ9XW62496F/yZPw6XQ50My
16
- R21cOLiDdoXDmS4Wo7bJ+sbR3N1JbhqZ7Wt9DkQnMtXw4xOcFM5PsVIsmn1KhGGp
17
- v8GAxxUMzFoPvsx+XcV9TWjR1seYlXnvdlx65YYtZg8=
11
+ 1FDEfC+0g/BvAgMBAAGjfTB7MBgGA1UdEQQRMA+BDWNoaWxkQGV4YW1wbGUwHQYD
12
+ VR0OBBYEFHzVU9N7sklKBPrHElxoZ32Fg64IMB8GA1UdIwQYMBaAFF9DbvaajkUl
13
+ 6SLjfTdepNU2AoUbMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgIEMA0G
14
+ CSqGSIb3DQEBBQUAA4IBAQAKRUboW7dwIHuzOp+7Nbx+ltWLUgwMkDLjjXjJE1Tv
15
+ L+NNmAx2iv0WghyoKaUBYW+SgIcenQoMfIA+K8Z6a4dUruJ0TKsUgLW8sx3wx9h8
16
+ NwjjybsUh8mN+7EtQ5HtkLKp4F1eOqb+eTIPpCPYP8GyzUGDcFG0pdzhcHvqOKOd
17
+ sRYzkxyf/f8DE+6P01F1EPTql8pZLLirOfZjUtboUY3gZr2JQ03RzTk3dcjEr4pI
18
+ wvQV8rAkj3GE638iBEByzQb/HHN+c9fLAM7f1IDcHS49jZj1gCiuCAVlf52zUmwd
19
+ NnBgKyVrEVhf02sDgXRpoTmoRfwmcMd2cWGvDmRiijHo
18
20
  -----END CERTIFICATE-----
@@ -1,6 +1,6 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIIC6jCCAdKgAwIBAgIBAzANBgkqhkiG9w0BAQUFADAqMQ8wDQYDVQQDDAZub2Jv
3
- ZHkxFzAVBgoJkiaJk/IsZAEZFgdleGFtcGxlMB4XDTEyMTIwODAwMDAwMFoXDTM4
2
+ MIIDSzCCAjOgAwIBAgIBAzANBgkqhkiG9w0BAQUFADAqMQ8wDQYDVQQDDAZub2Jv
3
+ ZHkxFzAVBgoJkiaJk/IsZAEZFgdleGFtcGxlMB4XDTEyMDEwMTAwMDAwMFoXDTM4
4
4
  MDExOTAzMTQwN1owKTEOMAwGA1UEAwwFY2hpbGQxFzAVBgoJkiaJk/IsZAEZFgdl
5
5
  eGFtcGxlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyn+/tatHETIQ
6
6
  v0TOloaaJ/+SMbkr3twgscXTdC3Em1IrBTJX9vGY/kueOUihXOoBxXJ2C2WbMhpu
@@ -8,11 +8,13 @@ BVhHeA4TaYP5IKAz7jxsEKdgxDryp553gf0oY/FfuqC6412mRQLvEPdenOfwS8/j
8
8
  5RyCLDv0POuVzivuc9bGYtMb2pfEE+7uFLK3MvOoHr35Qm6QQFpDT2vw2Q6gPZ5N
9
9
  Lwdlw0h74Wr3K2C3w62AJxc98Ime9C2EK5nXjqpD6WosP/0Kc6qfr7bhdm6+lImF
10
10
  qTfnYXRbCMQMCBOZFmdZJOjgSeJB76/kofDqm3+lhQYVv5UGvcJXQNMYTcIRq9RQ
11
- xHwvtIPwbwIDAQABoxwwGjAYBgNVHREEETAPgQ1jaGlsZEBleGFtcGxlMA0GCSqG
12
- SIb3DQEBBQUAA4IBAQAzsudxe1TkFtYmCmnT2LVeafo6dVinRJGmdSWeUfNfqRM4
13
- fgDVg21ym/4Y/bIW3W2lPe9aYNk/leCkh1rewf5XWAQtJTD0+2Ssn/YsxFi62H2l
14
- RLdDC/t21zG2rNAlYhGc1P4gPFdrqRVkGMYy4Wl6QFBG9U6431NcUKfA+o3uYveh
15
- 8ANbIItQF1FWKGClKeg4FpbPfHRzLtBV+zR8hXX0pxi7Eqwn6IME9jyAoAI2QOqU
16
- 5QVCToPWFFKmn29djnLIq6oG8AS0o1dtiJbyqNgB5yarJFX+P6ym1jvTEmWAzk8v
17
- N5++ztI1NWdWhtzhEJkJrzRu3Q0yYIPJaJ+mY9vp
11
+ xHwvtIPwbwIDAQABo30wezAYBgNVHREEETAPgQ1jaGlsZEBleGFtcGxlMB0GA1Ud
12
+ DgQWBBR81VPTe7JJSgT6xxJcaGd9hYOuCDAfBgNVHSMEGDAWgBRfQ272mo5FJeki
13
+ 4303XqTVNgKFGzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwICBDANBgkq
14
+ hkiG9w0BAQUFAAOCAQEAhHnhcklUtCnLXVr4aCgdNgeuBMqT/v7cJFWGjy0s0isu
15
+ zsAHZ59caMGonykuZWwxQE2ytzMhz1fC1mRH5kfYy2h2uFHGzaexrK4n2BX0HIE+
16
+ XFyZxDW5kwKrpmXrEeo6JVWftCoINrw3eY3iuQc3pKpLtGdir4MKByM90CcjHxzQ
17
+ RFvI9JzRY5TmY3nXdP3JNi4rNGZULEl+Hdm79LS6yrXthZQ4dqeMqJqXLggdVPf5
18
+ 5302z//0QKi+nK3UnTi5hbEOC9xUW2n5Yj2dJnSkD/aQFapobMaww8SbbOJ3IMK0
19
+ hsI7EPoqOCw4egbv9SlvlVOQTPDqpZfSfT4Id0AnpA==
18
20
  -----END CERTIFICATE-----
@@ -1,30 +1,30 @@
1
1
  -----BEGIN RSA PRIVATE KEY-----
2
2
  Proc-Type: 4,ENCRYPTED
3
- DEK-Info: DES-CBC,27887B3B3BAA3B18
3
+ DEK-Info: DES-CBC,4E38D58B5A059DB6
4
4
 
5
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- +aYl5MwbaSKCcQ7F2uGNgsdollQpAS3iRC1FRe06IkIaL+BzdqFc++qt36ALPiBa
18
- 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
- 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
- 9SvXl3MJtYKpbzvO5IeqZ0OdTNz+gZwroCBy0ZaIPSYi88LRUzWKDp7gbqBA/ouL
21
- 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
- LooO0clIKKlNFktdkIq3mEaZbSf4UdVSfxRfvbLWXR1orE6ObHpJamuDFWYwWrMY
23
- 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
- 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
- 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
- 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
- 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
- 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
- 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
30
30
  -----END RSA PRIVATE KEY-----
@@ -1,5 +1,5 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIIC7DCCAdSgAwIBAgIBBDANBgkqhkiG9w0BAQUFADAqMQ8wDQYDVQQDDAZub2Jv
2
+ MIIDCzCCAfOgAwIBAgIBBjANBgkqhkiG9w0BAQUFADAqMQ8wDQYDVQQDDAZub2Jv
3
3
  ZHkxFzAVBgoJkiaJk/IsZAEZFgdleGFtcGxlMB4XDTcwMDEwMTAwMDAwMFoXDTcw
4
4
  MDEwMTAwMDAwMFowKjEPMA0GA1UEAwwGbm9ib2R5MRcwFQYKCZImiZPyLGQBGRYH
5
5
  ZXhhbXBsZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKdlNYcvFB6x
@@ -8,11 +8,12 @@ WhZADhn6rwCfNP03025vktOZ6iJfU60vytY/f3gkiGNkP21l0hz0+Ms15f+52gk+
8
8
  sFXqwGBbDteI0x57UsHi+KAN67QuPDnthYDtwhXIA5pcdx2wH+NW8F82HEZvm1hc
9
9
  pA75BDVk4vPxnpDfvPOKSYn9dWghmUtaPmqyVvs8XkDxHDfY54/D3ziPehP+zQzE
10
10
  g8C07Sq/z6vLSOQ3uaYn0nBDuNE6XP3ijJ4Zvs2eJEdOMyS1H3CsnkWiePCrLtKd
11
- w8d/F+D5bocCAwEAAaMdMBswGQYDVR0RBBIwEIEObm9ib2R5QGV4YW1wbGUwDQYJ
12
- KoZIhvcNAQEFBQADggEBABksVqMxMq/VKjS5Z1tr6G5GlcgvpNjUb+OOEfBc66vK
13
- Bv3aPrmNR6IE/+o2r0tTIJh4npeE9ASL+Ht0/sphdpOuzfOToPnmptIxHEWg4ub4
14
- n2qDasmQGDi96xLBZe4DV/5I4WkIQiuyXubVkriRLygng4VRohgFWVfLok9OXhYB
15
- 1NAEIXj9NVKIwFmrOgQEPNYdCVL0U82GhbhbB79gSzvRA2hJOuXhTGLgiAp+lstn
16
- ppWlcNsg/t1JhJ2unBk9XhhrqUEBQxQcvA2jt1KnlpY/x+ubfB86J6D6l4ve9plE
17
- uXBltZ2qNFM70SWsPzohQxHfyzmIRKQLM3PXjbma/Lg=
11
+ w8d/F+D5bocCAwEAAaM8MDowGQYDVR0RBBIwEIEObm9ib2R5QGV4YW1wbGUwHQYD
12
+ VR0OBBYEFF9DbvaajkUl6SLjfTdepNU2AoUbMA0GCSqGSIb3DQEBBQUAA4IBAQAP
13
+ Z8vKQ1OjQCHx8MJ0gy6WN2CIjh0Uqf3fSfza3nd+K8jlJPkF7znEBZ345iCSmNwn
14
+ EPrz/OrqiId2OHW2OCJv3c9NEb7hgaTswGfdq9LmqMRVeQy57FWh2lRdjVZbquWy
15
+ IvM72hjVLqnMVisWbDxf32YghnmT37SzZKsHSXU0xUx7rVSIShnoMjLWQtIQDoqI
16
+ 3isMAeKals2NNJOy0TGKJ9SspIDl/IYm9sEO1HKiuxubrdN9q+wEQdizt59sXkol
17
+ 4AYga+5TN+KtsSRclAGjfKYfuRrQ85IbVsRhQIYX1ZOJtMseEhBRnIeySKV4xWsi
18
+ kXAaxX5wIyoM+S1vaKcu
18
19
  -----END CERTIFICATE-----