rubygems-update 3.3.26 → 3.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (272) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/CONTRIBUTING.md +24 -1
  4. data/Manifest.txt +30 -27
  5. data/POLICIES.md +10 -8
  6. data/README.md +2 -2
  7. data/bin/gem +1 -4
  8. data/bin/update_rubygems +1 -1
  9. data/bundler/CHANGELOG.md +59 -0
  10. data/bundler/README.md +2 -2
  11. data/bundler/bundler.gemspec +2 -2
  12. data/bundler/exe/bundle +1 -4
  13. data/bundler/lib/bundler/build_metadata.rb +2 -2
  14. data/bundler/lib/bundler/cli/add.rb +1 -1
  15. data/bundler/lib/bundler/cli/check.rb +1 -1
  16. data/bundler/lib/bundler/cli/common.rb +1 -0
  17. data/bundler/lib/bundler/cli/console.rb +2 -2
  18. data/bundler/lib/bundler/cli/doctor.rb +4 -6
  19. data/bundler/lib/bundler/cli/gem.rb +62 -40
  20. data/bundler/lib/bundler/cli/install.rb +2 -3
  21. data/bundler/lib/bundler/cli/lock.rb +8 -5
  22. data/bundler/lib/bundler/cli/outdated.rb +1 -3
  23. data/bundler/lib/bundler/cli/viz.rb +1 -1
  24. data/bundler/lib/bundler/cli.rb +43 -2
  25. data/bundler/lib/bundler/compact_index_client/cache.rb +1 -1
  26. data/bundler/lib/bundler/compact_index_client/updater.rb +40 -39
  27. data/bundler/lib/bundler/constants.rb +1 -1
  28. data/bundler/lib/bundler/definition.rb +61 -31
  29. data/bundler/lib/bundler/dependency.rb +12 -11
  30. data/bundler/lib/bundler/digest.rb +1 -1
  31. data/bundler/lib/bundler/dsl.rb +1 -1
  32. data/bundler/lib/bundler/env.rb +1 -1
  33. data/bundler/lib/bundler/environment_preserver.rb +1 -0
  34. data/bundler/lib/bundler/errors.rb +1 -11
  35. data/bundler/lib/bundler/fetcher/compact_index.rb +9 -11
  36. data/bundler/lib/bundler/fetcher/dependency.rb +1 -1
  37. data/bundler/lib/bundler/fetcher/downloader.rb +2 -5
  38. data/bundler/lib/bundler/fetcher.rb +2 -6
  39. data/bundler/lib/bundler/force_platform.rb +18 -0
  40. data/bundler/lib/bundler/friendly_errors.rb +0 -3
  41. data/bundler/lib/bundler/gem_version_promoter.rb +52 -86
  42. data/bundler/lib/bundler/graph.rb +3 -3
  43. data/bundler/lib/bundler/index.rb +5 -13
  44. data/bundler/lib/bundler/injector.rb +1 -1
  45. data/bundler/lib/bundler/inline.rb +2 -2
  46. data/bundler/lib/bundler/installer/parallel_installer.rb +0 -31
  47. data/bundler/lib/bundler/installer.rb +6 -16
  48. data/bundler/lib/bundler/lazy_specification.rb +5 -1
  49. data/bundler/lib/bundler/lockfile_parser.rb +5 -5
  50. data/bundler/lib/bundler/man/bundle-add.1 +1 -1
  51. data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
  52. data/bundler/lib/bundler/man/bundle-cache.1 +1 -1
  53. data/bundler/lib/bundler/man/bundle-check.1 +1 -1
  54. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  55. data/bundler/lib/bundler/man/bundle-config.1 +1 -1
  56. data/bundler/lib/bundler/man/bundle-console.1 +1 -1
  57. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  58. data/bundler/lib/bundler/man/bundle-exec.1 +1 -1
  59. data/bundler/lib/bundler/man/bundle-gem.1 +27 -37
  60. data/bundler/lib/bundler/man/bundle-gem.1.ronn +5 -5
  61. data/bundler/lib/bundler/man/bundle-help.1 +1 -1
  62. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  63. data/bundler/lib/bundler/man/bundle-init.1 +1 -1
  64. data/bundler/lib/bundler/man/bundle-inject.1 +1 -1
  65. data/bundler/lib/bundler/man/bundle-install.1 +1 -30
  66. data/bundler/lib/bundler/man/bundle-install.1.ronn +0 -29
  67. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  68. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  69. data/bundler/lib/bundler/man/bundle-open.1 +1 -1
  70. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  71. data/bundler/lib/bundler/man/bundle-platform.1 +2 -2
  72. data/bundler/lib/bundler/man/bundle-platform.1.ronn +1 -1
  73. data/bundler/lib/bundler/man/bundle-plugin.1 +1 -1
  74. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  75. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  76. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  77. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  78. data/bundler/lib/bundler/man/bundle-version.1 +1 -1
  79. data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
  80. data/bundler/lib/bundler/man/bundle.1 +1 -1
  81. data/bundler/lib/bundler/man/gemfile.5 +1 -1
  82. data/bundler/lib/bundler/mirror.rb +5 -7
  83. data/bundler/lib/bundler/plugin/index.rb +4 -4
  84. data/bundler/lib/bundler/plugin/installer/rubygems.rb +0 -4
  85. data/bundler/lib/bundler/resolver/base.rb +7 -11
  86. data/bundler/lib/bundler/resolver/candidate.rb +92 -0
  87. data/bundler/lib/bundler/resolver/incompatibility.rb +15 -0
  88. data/bundler/lib/bundler/resolver/package.rb +63 -0
  89. data/bundler/lib/bundler/resolver/root.rb +25 -0
  90. data/bundler/lib/bundler/resolver/spec_group.rb +26 -36
  91. data/bundler/lib/bundler/resolver.rb +294 -277
  92. data/bundler/lib/bundler/rubygems_ext.rb +11 -6
  93. data/bundler/lib/bundler/rubygems_gem_installer.rb +4 -2
  94. data/bundler/lib/bundler/rubygems_integration.rb +1 -9
  95. data/bundler/lib/bundler/runtime.rb +1 -5
  96. data/bundler/lib/bundler/settings.rb +0 -6
  97. data/bundler/lib/bundler/shared_helpers.rb +1 -0
  98. data/bundler/lib/bundler/source/git/git_proxy.rb +193 -67
  99. data/bundler/lib/bundler/source/git.rb +15 -17
  100. data/bundler/lib/bundler/source/metadata.rb +0 -1
  101. data/bundler/lib/bundler/source/path/installer.rb +1 -22
  102. data/bundler/lib/bundler/source/path.rb +5 -5
  103. data/bundler/lib/bundler/source/rubygems.rb +13 -67
  104. data/bundler/lib/bundler/source_list.rb +8 -2
  105. data/bundler/lib/bundler/spec_set.rb +7 -9
  106. data/bundler/lib/bundler/templates/Executable +1 -1
  107. data/bundler/lib/bundler/templates/Executable.bundler +4 -9
  108. data/bundler/lib/bundler/templates/Executable.standalone +2 -0
  109. data/bundler/lib/bundler/templates/newgem/Cargo.toml.tt +7 -0
  110. data/bundler/lib/bundler/templates/newgem/Gemfile.tt +3 -0
  111. data/bundler/lib/bundler/templates/newgem/README.md.tt +6 -4
  112. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +2 -1
  113. data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +12 -0
  114. data/bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
  115. data/bundler/lib/bundler/templates/newgem/ext/newgem/{extconf.rb.tt → extconf-c.rb.tt} +0 -0
  116. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
  117. data/bundler/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
  118. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +10 -0
  119. data/bundler/lib/bundler/templates/newgem/gitignore.tt +3 -0
  120. data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +8 -0
  121. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +8 -2
  122. data/bundler/lib/bundler/ui/shell.rb +35 -12
  123. data/bundler/lib/bundler/ui/silent.rb +21 -5
  124. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +3 -3
  125. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +0 -1
  126. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +3 -1
  127. data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +1350 -408
  128. data/bundler/lib/bundler/vendor/net-http-persistent/README.rdoc +1 -1
  129. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +1 -1
  130. data/bundler/lib/bundler/vendor/pub_grub/LICENSE.txt +21 -0
  131. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
  132. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +189 -0
  133. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
  134. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +151 -0
  135. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
  136. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
  137. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
  138. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
  139. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +53 -0
  140. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
  141. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
  142. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +124 -0
  143. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +409 -0
  144. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +240 -0
  145. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
  146. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
  147. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +1 -1
  148. data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +64 -16
  149. data/bundler/lib/bundler/vendor/uri/lib/uri/file.rb +7 -1
  150. data/bundler/lib/bundler/vendor/uri/lib/uri/ftp.rb +2 -1
  151. data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +27 -7
  152. data/bundler/lib/bundler/vendor/uri/lib/uri/http.rb +40 -2
  153. data/bundler/lib/bundler/vendor/uri/lib/uri/https.rb +2 -1
  154. data/bundler/lib/bundler/vendor/uri/lib/uri/ldap.rb +1 -1
  155. data/bundler/lib/bundler/vendor/uri/lib/uri/ldaps.rb +2 -1
  156. data/bundler/lib/bundler/vendor/uri/lib/uri/mailto.rb +2 -2
  157. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +13 -7
  158. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +10 -5
  159. data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
  160. data/bundler/lib/bundler/vendor/uri/lib/uri/ws.rb +1 -2
  161. data/bundler/lib/bundler/vendor/uri/lib/uri/wss.rb +2 -1
  162. data/bundler/lib/bundler/vendor/uri/lib/uri.rb +3 -2
  163. data/bundler/lib/bundler/vendored_persistent.rb +1 -33
  164. data/bundler/lib/bundler/{vendored_tmpdir.rb → vendored_pub_grub.rb} +1 -1
  165. data/bundler/lib/bundler/version.rb +5 -1
  166. data/bundler/lib/bundler/worker.rb +5 -7
  167. data/bundler/lib/bundler.rb +20 -64
  168. data/lib/rubygems/command_manager.rb +2 -2
  169. data/lib/rubygems/commands/fetch_command.rb +1 -1
  170. data/lib/rubygems/commands/install_command.rb +7 -3
  171. data/lib/rubygems/commands/rdoc_command.rb +3 -2
  172. data/lib/rubygems/commands/setup_command.rb +2 -2
  173. data/lib/rubygems/commands/unpack_command.rb +1 -1
  174. data/lib/rubygems/commands/update_command.rb +1 -7
  175. data/lib/rubygems/config_file.rb +33 -0
  176. data/lib/rubygems/core_ext/kernel_warn.rb +1 -2
  177. data/lib/rubygems/defaults.rb +15 -1
  178. data/lib/rubygems/dependency.rb +4 -1
  179. data/lib/rubygems/dependency_installer.rb +24 -24
  180. data/lib/rubygems/exceptions.rb +1 -3
  181. data/lib/rubygems/ext/builder.rb +3 -3
  182. data/lib/rubygems/ext/cargo_builder/link_flag_converter.rb +9 -5
  183. data/lib/rubygems/ext/cargo_builder.rb +15 -20
  184. data/lib/rubygems/ext/ext_conf_builder.rb +2 -0
  185. data/lib/rubygems/indexer.rb +1 -1
  186. data/lib/rubygems/installer.rb +5 -5
  187. data/lib/rubygems/optparse/lib/optparse.rb +20 -15
  188. data/lib/rubygems/package/tar_header.rb +11 -11
  189. data/lib/rubygems/platform.rb +0 -2
  190. data/lib/rubygems/request_set/gem_dependency_api.rb +104 -104
  191. data/lib/rubygems/requirement.rb +7 -7
  192. data/lib/rubygems/resolver/installer_set.rb +1 -1
  193. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +1 -1
  194. data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +32 -26
  195. data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +1 -1
  196. data/lib/rubygems/security/policies.rb +40 -40
  197. data/lib/rubygems/security/trust_dir.rb +1 -1
  198. data/lib/rubygems/security.rb +3 -16
  199. data/lib/rubygems/source.rb +2 -2
  200. data/lib/rubygems/specification.rb +37 -49
  201. data/lib/rubygems/specification_policy.rb +14 -0
  202. data/lib/rubygems/stub_specification.rb +2 -2
  203. data/lib/rubygems/text.rb +1 -1
  204. data/lib/rubygems/tsort/lib/tsort.rb +308 -310
  205. data/lib/rubygems/update_suggestion.rb +69 -0
  206. data/lib/rubygems/util.rb +1 -5
  207. data/lib/rubygems/validator.rb +1 -1
  208. data/lib/rubygems.rb +8 -3
  209. data/rubygems-update.gemspec +2 -2
  210. data/test/rubygems/helper.rb +7 -3
  211. data/test/rubygems/test_bundled_ca.rb +1 -1
  212. data/test/rubygems/test_exit.rb +6 -0
  213. data/test/rubygems/test_gem.rb +4 -9
  214. data/test/rubygems/test_gem_bundler_version_finder.rb +2 -1
  215. data/test/rubygems/test_gem_command_manager.rb +1 -1
  216. data/test/rubygems/test_gem_commands_install_command.rb +19 -0
  217. data/test/rubygems/test_gem_commands_setup_command.rb +1 -8
  218. data/test/rubygems/test_gem_commands_update_command.rb +6 -6
  219. data/test/rubygems/test_gem_config_file.rb +1 -1
  220. data/test/rubygems/test_gem_dependency.rb +2 -0
  221. data/test/rubygems/test_gem_ext_builder.rb +3 -3
  222. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock +22 -32
  223. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml +1 -1
  224. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +22 -32
  225. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
  226. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/src/lib.rs +12 -0
  227. data/test/rubygems/test_gem_ext_cargo_builder.rb +22 -27
  228. data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +16 -16
  229. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +0 -10
  230. data/test/rubygems/test_gem_indexer.rb +39 -20
  231. data/test/rubygems/test_gem_installer.rb +68 -2
  232. data/test/rubygems/test_gem_package_tar_header.rb +13 -13
  233. data/test/rubygems/test_gem_platform.rb +59 -60
  234. data/test/rubygems/test_gem_remote_fetcher.rb +4 -4
  235. data/test/rubygems/test_gem_request_set.rb +2 -2
  236. data/test/rubygems/test_gem_requirement.rb +1 -1
  237. data/test/rubygems/test_gem_resolver_api_set.rb +12 -12
  238. data/test/rubygems/test_gem_resolver_api_specification.rb +19 -19
  239. data/test/rubygems/test_gem_resolver_git_specification.rb +1 -1
  240. data/test/rubygems/test_gem_security_policy.rb +10 -10
  241. data/test/rubygems/test_gem_security_trust_dir.rb +2 -2
  242. data/test/rubygems/test_gem_specification.rb +50 -37
  243. data/test/rubygems/test_gem_uninstaller.rb +1 -1
  244. data/test/rubygems/test_gem_update_suggestion.rb +208 -0
  245. data/test/rubygems/test_kernel.rb +10 -8
  246. data/test/rubygems/test_require.rb +70 -55
  247. metadata +34 -31
  248. data/bundler/lib/bundler/templates/newgem/travis.yml.tt +0 -6
  249. data/bundler/lib/bundler/vendor/molinillo/LICENSE +0 -9
  250. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
  251. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +0 -88
  252. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +0 -36
  253. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +0 -66
  254. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +0 -62
  255. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +0 -63
  256. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +0 -61
  257. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +0 -126
  258. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +0 -46
  259. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +0 -36
  260. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +0 -164
  261. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +0 -255
  262. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +0 -149
  263. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +0 -6
  264. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +0 -112
  265. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +0 -67
  266. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +0 -839
  267. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +0 -46
  268. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +0 -58
  269. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -11
  270. data/bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +0 -154
  271. data/bundler/lib/bundler/vendored_molinillo.rb +0 -4
  272. data/bundler/lib/bundler/version_ranges.rb +0 -122
@@ -0,0 +1,208 @@
1
+ # frozen_string_literal: true
2
+ require_relative "helper"
3
+ require "rubygems/command"
4
+ require "rubygems/update_suggestion"
5
+
6
+ class TestUpdateSuggestion < Gem::TestCase
7
+ def setup
8
+ super
9
+
10
+ @cmd = Gem::Command.new "dummy", "dummy"
11
+ @cmd.extend Gem::UpdateSuggestion
12
+ @start_time = 1_000_000
13
+ @minute = 60 * 60
14
+ @week = 7 * 24 * @minute
15
+ end
16
+
17
+ def with_eglible_environment(**params)
18
+ self.class.with_eglible_environment(**params) do
19
+ yield
20
+ end
21
+ end
22
+
23
+ def self.with_eglible_environment(
24
+ tty: true,
25
+ rubygems_version: Gem::Version.new("1.2.3"),
26
+ latest_rubygems_version: Gem::Version.new("2.0.0"),
27
+ ci: false,
28
+ reset_last_update_check: true,
29
+ cmd:
30
+ )
31
+ original_config, Gem.configuration[:prevent_update_suggestion] = Gem.configuration[:prevent_update_suggestion], nil
32
+ original_env, ENV["RUBYGEMS_PREVENT_UPDATE_SUGGESTION"] = ENV["RUBYGEMS_PREVENT_UPDATE_SUGGESTION"], nil
33
+ original_disable, Gem.disable_system_update_message = Gem.disable_system_update_message, nil
34
+ Gem.configuration.last_update_check = 0 if reset_last_update_check
35
+
36
+ Gem.ui.stub :tty?, tty do
37
+ Gem.stub :rubygems_version, rubygems_version do
38
+ Gem.stub :latest_rubygems_version, latest_rubygems_version do
39
+ cmd.stub :ci?, ci do
40
+ yield
41
+ end
42
+ end
43
+ end
44
+ end
45
+ ensure
46
+ Gem.configuration[:prevent_update_suggestion] = original_config
47
+ ENV["RUBYGEMS_PREVENT_UPDATE_SUGGESTION"] = original_env
48
+ Gem.disable_system_update_message = original_disable
49
+ end
50
+
51
+ def test_update_suggestion
52
+ Gem.stub :rubygems_version, Gem::Version.new("1.2.3") do
53
+ Gem.stub :latest_rubygems_version, Gem::Version.new("2.0.0") do
54
+ assert_equal @cmd.update_suggestion, <<~SUGGESTION
55
+
56
+ A new release of RubyGems is available: 1.2.3 → 2.0.0!
57
+ Run `gem update --system 2.0.0` to update your installation.
58
+
59
+ SUGGESTION
60
+ end
61
+ end
62
+ end
63
+
64
+ def test_eglible_for_update
65
+ with_eglible_environment(cmd: @cmd) do
66
+ Time.stub :now, 123456789 do
67
+ assert @cmd.eglible_for_update?
68
+ assert_equal Gem.configuration.last_update_check, 123456789
69
+
70
+ # test last check is written to config file
71
+ assert File.read(Gem.configuration.state_file_name).match("123456789")
72
+ end
73
+ end
74
+ end
75
+
76
+ def test_eglible_for_update_is_not_annoying_when_new_version_is_released
77
+ current_version = Gem::Version.new("1.2.0")
78
+ latest_version = current_version
79
+
80
+ # checking for first time, it is not eglible since new version
81
+ # is not released yet and stored
82
+ with_eglible_environment(cmd: @cmd, rubygems_version: current_version, latest_rubygems_version: latest_version) do
83
+ Time.stub :now, @start_time do
84
+ refute @cmd.eglible_for_update?
85
+ assert_equal Gem.configuration.last_update_check, @start_time
86
+ end
87
+ end
88
+
89
+ # checking next week, it is not eglible since new version
90
+ # is not released yet and timestamp is stored
91
+ with_eglible_environment(
92
+ cmd: @cmd,
93
+ rubygems_version: current_version,
94
+ latest_rubygems_version: latest_version,
95
+ reset_last_update_check: false
96
+ ) do
97
+ Time.stub :now, @start_time + @week do
98
+ refute @cmd.eglible_for_update?
99
+ assert_equal Gem.configuration.last_update_check, @start_time + @week
100
+ end
101
+ end
102
+
103
+ # pretend new version is released
104
+ latest_version = Gem::Version.new("1.3.0")
105
+
106
+ # checking later same next week, it is not eglible even new version
107
+ # is released and timestamp is not stored
108
+ with_eglible_environment(
109
+ cmd: @cmd,
110
+ rubygems_version: current_version,
111
+ latest_rubygems_version: latest_version,
112
+ reset_last_update_check: false
113
+ ) do
114
+ Time.stub :now, @start_time + @week + @minute do
115
+ refute @cmd.eglible_for_update?
116
+ assert_equal Gem.configuration.last_update_check, @start_time + @week
117
+ end
118
+ end
119
+ end
120
+
121
+ def test_eglible_for_update_is_not_annoying_when_not_upgraded
122
+ with_eglible_environment(cmd: @cmd) do
123
+ # checking for first time, it is eglible and stored
124
+ Time.stub :now, @start_time do
125
+ assert @cmd.eglible_for_update?
126
+ assert_equal Gem.configuration.last_update_check, @start_time
127
+ end
128
+
129
+ # checking minute later is not eglible and not stored
130
+ Time.stub :now, @start_time + @minute do
131
+ refute @cmd.eglible_for_update?
132
+ assert_equal Gem.configuration.last_update_check, @start_time
133
+ end
134
+
135
+ # checking week later is eglible again and stored
136
+ Time.stub :now, @start_time + @week do
137
+ assert @cmd.eglible_for_update?
138
+ assert_equal Gem.configuration.last_update_check, @start_time + @week
139
+ end
140
+ end
141
+ end
142
+
143
+ def test_eglible_for_update_prevent_config
144
+ with_eglible_environment(cmd: @cmd) do
145
+ begin
146
+ original_config, Gem.configuration[:prevent_update_suggestion] = Gem.configuration[:prevent_update_suggestion], true
147
+ refute @cmd.eglible_for_update?
148
+ ensure
149
+ Gem.configuration[:prevent_update_suggestion] = original_config
150
+ end
151
+ end
152
+ end
153
+
154
+ def test_eglible_for_update_prevent_env
155
+ with_eglible_environment(cmd: @cmd) do
156
+ begin
157
+ original_env, ENV["RUBYGEMS_PREVENT_UPDATE_SUGGESTION"] = ENV["RUBYGEMS_PREVENT_UPDATE_SUGGESTION"], "yes"
158
+ refute @cmd.eglible_for_update?
159
+ ensure
160
+ ENV["RUBYGEMS_PREVENT_UPDATE_SUGGESTION"] = original_env
161
+ end
162
+ end
163
+ end
164
+
165
+ def test_eglible_for_update_non_tty
166
+ with_eglible_environment(tty: false, cmd: @cmd) do
167
+ refute @cmd.eglible_for_update?
168
+ end
169
+ end
170
+
171
+ def test_eglible_for_update_for_prerelease
172
+ with_eglible_environment(rubygems_version: Gem::Version.new("1.0.0-rc1"), cmd: @cmd) do
173
+ refute @cmd.eglible_for_update?
174
+ end
175
+ end
176
+
177
+ def test_eglible_for_update_disabled_update
178
+ with_eglible_environment(cmd: @cmd) do
179
+ begin
180
+ original_disable, Gem.disable_system_update_message = Gem.disable_system_update_message, "disabled"
181
+ refute @cmd.eglible_for_update?
182
+ ensure
183
+ Gem.disable_system_update_message = original_disable
184
+ end
185
+ end
186
+ end
187
+
188
+ def test_eglible_for_update_on_ci
189
+ with_eglible_environment(ci: true, cmd: @cmd) do
190
+ refute @cmd.eglible_for_update?
191
+ end
192
+ end
193
+
194
+ def test_eglible_for_update_unwrittable_config
195
+ with_eglible_environment(cmd: @cmd) do
196
+ Gem.configuration.stub :state_file_writable?, false do
197
+ refute @cmd.eglible_for_update?
198
+ end
199
+ end
200
+ end
201
+
202
+ def test_eglible_for_update_notification_delay
203
+ with_eglible_environment(cmd: @cmd) do
204
+ Gem.configuration.last_update_check = Time.now.to_i
205
+ refute @cmd.eglible_for_update?
206
+ end
207
+ end
208
+ end
@@ -20,7 +20,7 @@ class TestKernel < Gem::TestCase
20
20
 
21
21
  def test_gem
22
22
  assert gem("a", "= 1"), "Should load"
23
- assert $:.any? {|p| %r{a-1/lib} =~ p }
23
+ assert $:.any? {|p| p.include?("a-1/lib") }
24
24
  end
25
25
 
26
26
  def test_gem_default
@@ -50,13 +50,13 @@ class TestKernel < Gem::TestCase
50
50
  def test_gem_redundant
51
51
  assert gem("a", "= 1"), "Should load"
52
52
  refute gem("a", "= 1"), "Should not load"
53
- assert_equal 1, $:.select {|p| %r{a-1/lib} =~ p }.size
53
+ assert_equal 1, $:.select {|p| p.include?("a-1/lib") }.size
54
54
  end
55
55
 
56
56
  def test_gem_overlapping
57
57
  assert gem("a", "= 1"), "Should load"
58
58
  refute gem("a", ">= 1"), "Should not load"
59
- assert_equal 1, $:.select {|p| %r{a-1/lib} =~ p }.size
59
+ assert_equal 1, $:.select {|p| p.include?("a-1/lib") }.size
60
60
  end
61
61
 
62
62
  def test_gem_prerelease
@@ -83,13 +83,13 @@ class TestKernel < Gem::TestCase
83
83
  assert_match(/activated a-1/, ex.message)
84
84
  assert_equal "a", ex.name
85
85
 
86
- assert $:.any? {|p| %r{a-1/lib} =~ p }
87
- refute $:.any? {|p| %r{a-2/lib} =~ p }
86
+ assert $:.any? {|p| p.include?("a-1/lib") }
87
+ refute $:.any? {|p| p.include?("a-2/lib") }
88
88
  end
89
89
 
90
90
  def test_gem_not_adding_bin
91
91
  assert gem("a", "= 1"), "Should load"
92
- refute $:.any? {|p| %r{a-1/bin} =~ p }
92
+ refute $:.any? {|p| p.include?("a-1/bin") }
93
93
  end
94
94
 
95
95
  def test_gem_failing_inside_require_doesnt_cause_double_exceptions
@@ -114,16 +114,18 @@ class TestKernel < Gem::TestCase
114
114
  quick_gem "bundler", "2.a"
115
115
 
116
116
  assert gem("bundler")
117
- assert $:.any? {|p| %r{bundler-1/lib} =~ p }
117
+ assert $:.any? {|p| p.include?("bundler-1/lib") }
118
118
  end
119
119
 
120
120
  def test_gem_bundler_inferred_bundler_version
121
+ require "rubygems/bundler_version_finder"
122
+
121
123
  Gem::BundlerVersionFinder.stub(:bundler_version, Gem::Version.new("1")) do
122
124
  quick_gem "bundler", "1"
123
125
  quick_gem "bundler", "2.a"
124
126
 
125
127
  assert gem("bundler", ">= 0.a")
126
- assert $:.any? {|p| %r{bundler-1/lib} =~ p }
128
+ assert $:.any? {|p| p.include?("bundler-1/lib") }
127
129
  end
128
130
  end
129
131
  end
@@ -596,79 +596,94 @@ class TestGemRequire < Gem::TestCase
596
596
  assert_empty unresolved_names
597
597
  end
598
598
 
599
- # uplevel is 2.5+ only
600
- if RUBY_VERSION >= "2.5"
601
- ["", "Kernel."].each do |prefix|
602
- define_method "test_no_kernel_require_in_#{prefix.tr(".", "_")}warn_with_uplevel" do
603
- Dir.mktmpdir("warn_test") do |dir|
604
- File.write(dir + "/sub.rb", "#{prefix}warn 'uplevel', 'test', uplevel: 1\n")
605
- File.write(dir + "/main.rb", "require 'sub'\n")
606
- _, err = capture_subprocess_io do
607
- system(*ruby_with_rubygems_in_load_path, "-w", "--disable=gems", "-C", dir, "-I", dir, "main.rb")
608
- end
609
- assert_match(/main\.rb:1: warning: uplevel\ntest\n$/, err)
610
- _, err = capture_subprocess_io do
611
- system(*ruby_with_rubygems_in_load_path, "-w", "--enable=gems", "-C", dir, "-I", dir, "main.rb")
612
- end
613
- assert_match(/main\.rb:1: warning: uplevel\ntest\n$/, err)
599
+ ["", "Kernel."].each do |prefix|
600
+ define_method "test_no_kernel_require_in_#{prefix.tr(".", "_")}warn_with_uplevel" do
601
+ Dir.mktmpdir("warn_test") do |dir|
602
+ File.write(dir + "/sub.rb", "#{prefix}warn 'uplevel', 'test', uplevel: 1\n")
603
+ File.write(dir + "/main.rb", "require 'sub'\n")
604
+ _, err = capture_subprocess_io do
605
+ system(*ruby_with_rubygems_in_load_path, "-w", "--disable=gems", "-C", dir, "-I", dir, "main.rb")
614
606
  end
615
- end
616
-
617
- define_method "test_no_other_behavioral_changes_with_#{prefix.tr(".", "_")}warn" do
618
- Dir.mktmpdir("warn_test") do |dir|
619
- File.write(dir + "/main.rb", "#{prefix}warn({x:1}, {y:2}, [])\n")
620
- _, err = capture_subprocess_io do
621
- system(*ruby_with_rubygems_in_load_path, "-w", "--disable=gems", "-C", dir, "main.rb")
622
- end
623
- assert_match(/{:x=>1}\n{:y=>2}\n$/, err)
624
- _, err = capture_subprocess_io do
625
- system(*ruby_with_rubygems_in_load_path, "-w", "--enable=gems", "-C", dir, "main.rb")
626
- end
627
- assert_match(/{:x=>1}\n{:y=>2}\n$/, err)
607
+ assert_match(/main\.rb:1: warning: uplevel\ntest\n$/, err)
608
+ _, err = capture_subprocess_io do
609
+ system(*ruby_with_rubygems_in_load_path, "-w", "--enable=gems", "-C", dir, "-I", dir, "main.rb")
628
610
  end
611
+ assert_match(/main\.rb:1: warning: uplevel\ntest\n$/, err)
629
612
  end
630
613
  end
631
614
 
632
- def test_no_crash_when_overriding_warn_with_warning_module
615
+ define_method "test_no_other_behavioral_changes_with_#{prefix.tr(".", "_")}warn" do
633
616
  Dir.mktmpdir("warn_test") do |dir|
634
- File.write(dir + "/main.rb", "module Warning; def warn(str); super; end; end; warn 'Foo Bar'")
617
+ File.write(dir + "/main.rb", "#{prefix}warn({x:1}, {y:2}, [])\n")
635
618
  _, err = capture_subprocess_io do
636
619
  system(*ruby_with_rubygems_in_load_path, "-w", "--disable=gems", "-C", dir, "main.rb")
637
620
  end
638
- assert_match(/Foo Bar\n$/, err)
621
+ assert_match(/{:x=>1}\n{:y=>2}\n$/, err)
639
622
  _, err = capture_subprocess_io do
640
623
  system(*ruby_with_rubygems_in_load_path, "-w", "--enable=gems", "-C", dir, "main.rb")
641
624
  end
642
- assert_match(/Foo Bar\n$/, err)
625
+ assert_match(/{:x=>1}\n{:y=>2}\n$/, err)
643
626
  end
644
627
  end
628
+ end
645
629
 
646
- def test_expected_backtrace_location_when_inheriting_from_basic_object_and_including_kernel
647
- Dir.mktmpdir("warn_test") do |dir|
648
- File.write(dir + "/main.rb", "\nrequire 'sub'\n")
649
- File.write(dir + "/sub.rb", <<-'RUBY')
650
- require 'rubygems'
651
- class C < BasicObject
652
- include ::Kernel
653
- def deprecated
654
- warn "This is a deprecated method", uplevel: 2
655
- end
656
- end
657
- C.new.deprecated
658
- RUBY
630
+ def test_no_crash_when_overriding_warn_with_warning_module
631
+ Dir.mktmpdir("warn_test") do |dir|
632
+ File.write(dir + "/main.rb", "module Warning; def warn(str); super; end; end; warn 'Foo Bar'")
633
+ _, err = capture_subprocess_io do
634
+ system(*ruby_with_rubygems_in_load_path, "-w", "--disable=gems", "-C", dir, "main.rb")
635
+ end
636
+ assert_match(/Foo Bar\n$/, err)
637
+ _, err = capture_subprocess_io do
638
+ system(*ruby_with_rubygems_in_load_path, "-w", "--enable=gems", "-C", dir, "main.rb")
639
+ end
640
+ assert_match(/Foo Bar\n$/, err)
641
+ end
642
+ end
659
643
 
660
- _, err = capture_subprocess_io do
661
- system(*ruby_with_rubygems_in_load_path, "-w", "--disable=gems", "-C", dir, "-I", dir, "main.rb")
662
- end
663
- assert_match(/main\.rb:2: warning: This is a deprecated method$/, err)
664
- _, err = capture_subprocess_io do
665
- system(*ruby_with_rubygems_in_load_path, "-w", "--enable=gems", "-C", dir, "-I", dir, "main.rb")
644
+ def test_expected_backtrace_location_when_inheriting_from_basic_object_and_including_kernel
645
+ Dir.mktmpdir("warn_test") do |dir|
646
+ File.write(dir + "/main.rb", "\nrequire 'sub'\n")
647
+ File.write(dir + "/sub.rb", <<-'RUBY')
648
+ require 'rubygems'
649
+ class C < BasicObject
650
+ include ::Kernel
651
+ def deprecated
652
+ warn "This is a deprecated method", uplevel: 2
653
+ end
666
654
  end
667
- assert_match(/main\.rb:2: warning: This is a deprecated method$/, err)
655
+ C.new.deprecated
656
+ RUBY
657
+
658
+ _, err = capture_subprocess_io do
659
+ system(*ruby_with_rubygems_in_load_path, "-w", "--disable=gems", "-C", dir, "-I", dir, "main.rb")
660
+ end
661
+ assert_match(/main\.rb:2: warning: This is a deprecated method$/, err)
662
+ _, err = capture_subprocess_io do
663
+ system(*ruby_with_rubygems_in_load_path, "-w", "--enable=gems", "-C", dir, "-I", dir, "main.rb")
668
664
  end
665
+ assert_match(/main\.rb:2: warning: This is a deprecated method$/, err)
669
666
  end
670
667
  end
671
668
 
669
+ def test_require_does_not_crash_when_utilizing_bundler_version_finder
670
+ a1 = util_spec "a", "1.1", { "bundler" => ">= 0" }
671
+ a2 = util_spec "a", "1.2", { "bundler" => ">= 0" }
672
+ b1 = util_spec "bundler", "2.3.7"
673
+ b2 = util_spec "bundler", "2.3.24"
674
+ c = util_spec "c", "1", { "a" => [">= 1.1", "< 99.0"] }, "lib/test_gem_require_c.rb"
675
+
676
+ install_specs a1, a2, b1, b2, c
677
+
678
+ cmd = <<-RUBY
679
+ require "test_gem_require_c"
680
+ require "json"
681
+ RUBY
682
+ out = Gem::Util.popen({ "GEM_HOME" => @gemhome }, *ruby_with_rubygems_in_load_path, "-e", cmd)
683
+ puts out
684
+ assert $?.success?
685
+ end
686
+
672
687
  private
673
688
 
674
689
  def util_install_extension_file(name)
@@ -694,13 +709,13 @@ class TestGemRequire < Gem::TestCase
694
709
 
695
710
  spec.files += ["extconf.rb", "depend", "#{name}.c"]
696
711
 
697
- so = File.join(spec.gem_dir, "#{name}.#{RbConfig::CONFIG["DLEXT"]}")
698
- assert_path_not_exist so
712
+ extension_file = File.join(spec.extension_dir, "#{name}.#{RbConfig::CONFIG["DLEXT"]}")
713
+ assert_path_not_exist extension_file
699
714
 
700
715
  path = Gem::Package.build spec
701
716
  installer = Gem::Installer.at path
702
717
  installer.install
703
- assert_path_exist so
718
+ assert_path_exist extension_file
704
719
 
705
720
  spec.gem_dir
706
721
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubygems-update
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.26
4
+ version: 3.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
@@ -16,7 +16,7 @@ authors:
16
16
  autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
- date: 2022-11-17 00:00:00.000000000 Z
19
+ date: 2022-12-24 00:00:00.000000000 Z
20
20
  dependencies: []
21
21
  description: |-
22
22
  A package (also known as a library) contains a set of functionality
@@ -129,6 +129,7 @@ files:
129
129
  - bundler/lib/bundler/fetcher/dependency.rb
130
130
  - bundler/lib/bundler/fetcher/downloader.rb
131
131
  - bundler/lib/bundler/fetcher/index.rb
132
+ - bundler/lib/bundler/force_platform.rb
132
133
  - bundler/lib/bundler/friendly_errors.rb
133
134
  - bundler/lib/bundler/gem_helper.rb
134
135
  - bundler/lib/bundler/gem_helpers.rb
@@ -223,6 +224,10 @@ files:
223
224
  - bundler/lib/bundler/remote_specification.rb
224
225
  - bundler/lib/bundler/resolver.rb
225
226
  - bundler/lib/bundler/resolver/base.rb
227
+ - bundler/lib/bundler/resolver/candidate.rb
228
+ - bundler/lib/bundler/resolver/incompatibility.rb
229
+ - bundler/lib/bundler/resolver/package.rb
230
+ - bundler/lib/bundler/resolver/root.rb
226
231
  - bundler/lib/bundler/resolver/spec_group.rb
227
232
  - bundler/lib/bundler/retry.rb
228
233
  - bundler/lib/bundler/ruby_dsl.rb
@@ -259,6 +264,7 @@ files:
259
264
  - bundler/lib/bundler/templates/gems.rb
260
265
  - bundler/lib/bundler/templates/newgem/CHANGELOG.md.tt
261
266
  - bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt
267
+ - bundler/lib/bundler/templates/newgem/Cargo.toml.tt
262
268
  - bundler/lib/bundler/templates/newgem/Gemfile.tt
263
269
  - bundler/lib/bundler/templates/newgem/LICENSE.txt.tt
264
270
  - bundler/lib/bundler/templates/newgem/README.md.tt
@@ -267,9 +273,12 @@ files:
267
273
  - bundler/lib/bundler/templates/newgem/bin/setup.tt
268
274
  - bundler/lib/bundler/templates/newgem/circleci/config.yml.tt
269
275
  - bundler/lib/bundler/templates/newgem/exe/newgem.tt
270
- - bundler/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt
276
+ - bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt
277
+ - bundler/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt
278
+ - bundler/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt
271
279
  - bundler/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt
272
280
  - bundler/lib/bundler/templates/newgem/ext/newgem/newgem.h.tt
281
+ - bundler/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt
273
282
  - bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt
274
283
  - bundler/lib/bundler/templates/newgem/gitignore.tt
275
284
  - bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt
@@ -286,7 +295,6 @@ files:
286
295
  - bundler/lib/bundler/templates/newgem/test/minitest/test_newgem.rb.tt
287
296
  - bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt
288
297
  - bundler/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt
289
- - bundler/lib/bundler/templates/newgem/travis.yml.tt
290
298
  - bundler/lib/bundler/ui.rb
291
299
  - bundler/lib/bundler/ui/rg_proxy.rb
292
300
  - bundler/lib/bundler/ui/shell.rb
@@ -300,32 +308,28 @@ files:
300
308
  - bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb
301
309
  - bundler/lib/bundler/vendor/fileutils/LICENSE.txt
302
310
  - bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb
303
- - bundler/lib/bundler/vendor/molinillo/LICENSE
304
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb
305
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb
306
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb
307
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb
308
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb
309
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb
310
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb
311
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb
312
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb
313
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb
314
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb
315
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb
316
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb
317
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb
318
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb
319
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb
320
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb
321
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb
322
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb
323
- - bundler/lib/bundler/vendor/molinillo/lib/molinillo/state.rb
324
311
  - bundler/lib/bundler/vendor/net-http-persistent/README.rdoc
325
312
  - bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb
326
313
  - bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb
327
314
  - bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb
328
315
  - bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb
316
+ - bundler/lib/bundler/vendor/pub_grub/LICENSE.txt
317
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub.rb
318
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb
319
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb
320
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb
321
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb
322
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb
323
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb
324
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb
325
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb
326
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb
327
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb
328
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb
329
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb
330
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb
331
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb
332
+ - bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb
329
333
  - bundler/lib/bundler/vendor/thor/LICENSE.md
330
334
  - bundler/lib/bundler/vendor/thor/lib/thor.rb
331
335
  - bundler/lib/bundler/vendor/thor/lib/thor/actions.rb
@@ -358,7 +362,6 @@ files:
358
362
  - bundler/lib/bundler/vendor/thor/lib/thor/shell/html.rb
359
363
  - bundler/lib/bundler/vendor/thor/lib/thor/util.rb
360
364
  - bundler/lib/bundler/vendor/thor/lib/thor/version.rb
361
- - bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb
362
365
  - bundler/lib/bundler/vendor/tsort/LICENSE.txt
363
366
  - bundler/lib/bundler/vendor/tsort/lib/tsort.rb
364
367
  - bundler/lib/bundler/vendor/uri/LICENSE.txt
@@ -378,14 +381,12 @@ files:
378
381
  - bundler/lib/bundler/vendor/uri/lib/uri/ws.rb
379
382
  - bundler/lib/bundler/vendor/uri/lib/uri/wss.rb
380
383
  - bundler/lib/bundler/vendored_fileutils.rb
381
- - bundler/lib/bundler/vendored_molinillo.rb
382
384
  - bundler/lib/bundler/vendored_persistent.rb
385
+ - bundler/lib/bundler/vendored_pub_grub.rb
383
386
  - bundler/lib/bundler/vendored_thor.rb
384
- - bundler/lib/bundler/vendored_tmpdir.rb
385
387
  - bundler/lib/bundler/vendored_tsort.rb
386
388
  - bundler/lib/bundler/vendored_uri.rb
387
389
  - bundler/lib/bundler/version.rb
388
- - bundler/lib/bundler/version_ranges.rb
389
390
  - bundler/lib/bundler/vlad.rb
390
391
  - bundler/lib/bundler/worker.rb
391
392
  - bundler/lib/bundler/yaml_serializer.rb
@@ -584,6 +585,7 @@ files:
584
585
  - lib/rubygems/tsort/lib/tsort.rb
585
586
  - lib/rubygems/uninstaller.rb
586
587
  - lib/rubygems/unknown_command_spell_checker.rb
588
+ - lib/rubygems/update_suggestion.rb
587
589
  - lib/rubygems/uri.rb
588
590
  - lib/rubygems/uri_formatter.rb
589
591
  - lib/rubygems/user_interaction.rb
@@ -793,6 +795,7 @@ files:
793
795
  - test/rubygems/test_gem_text.rb
794
796
  - test/rubygems/test_gem_uninstaller.rb
795
797
  - test/rubygems/test_gem_unsatisfiable_dependency_error.rb
798
+ - test/rubygems/test_gem_update_suggestion.rb
796
799
  - test/rubygems/test_gem_uri.rb
797
800
  - test/rubygems/test_gem_uri_formatter.rb
798
801
  - test/rubygems/test_gem_util.rb
@@ -824,14 +827,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
824
827
  requirements:
825
828
  - - ">="
826
829
  - !ruby/object:Gem::Version
827
- version: 2.3.0
830
+ version: 2.6.0
828
831
  required_rubygems_version: !ruby/object:Gem::Requirement
829
832
  requirements:
830
833
  - - ">="
831
834
  - !ruby/object:Gem::Version
832
835
  version: '0'
833
836
  requirements: []
834
- rubygems_version: 3.3.26
837
+ rubygems_version: 3.4.0
835
838
  signing_key:
836
839
  specification_version: 4
837
840
  summary: RubyGems is a package management framework for Ruby.
@@ -1,6 +0,0 @@
1
- ---
2
- language: ruby
3
- cache: bundler
4
- rvm:
5
- - <%= RUBY_VERSION %>
6
- before_install: gem install bundler -v <%= Bundler::VERSION %>
@@ -1,9 +0,0 @@
1
- This project is licensed under the MIT license.
2
-
3
- Copyright (c) 2014 Samuel E. Giddins segiddins@segiddins.me
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
-
7
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
-
9
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.