rubygems-update 3.3.18 → 3.3.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (374) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +52 -0
  3. data/Manifest.txt +4 -0
  4. data/bin/gem +2 -2
  5. data/bin/update_rubygems +4 -4
  6. data/bundler/CHANGELOG.md +78 -0
  7. data/bundler/UPGRADING.md +11 -4
  8. data/bundler/lib/bundler/build_metadata.rb +2 -2
  9. data/bundler/lib/bundler/cli/common.rb +1 -0
  10. data/bundler/lib/bundler/cli/install.rb +5 -2
  11. data/bundler/lib/bundler/cli/outdated.rb +12 -3
  12. data/bundler/lib/bundler/cli/platform.rb +1 -1
  13. data/bundler/lib/bundler/cli.rb +5 -3
  14. data/bundler/lib/bundler/definition.rb +103 -29
  15. data/bundler/lib/bundler/dsl.rb +2 -2
  16. data/bundler/lib/bundler/endpoint_specification.rb +1 -12
  17. data/bundler/lib/bundler/fetcher.rb +6 -6
  18. data/bundler/lib/bundler/gem_helpers.rb +7 -1
  19. data/bundler/lib/bundler/gem_version_promoter.rb +4 -0
  20. data/bundler/lib/bundler/index.rb +10 -12
  21. data/bundler/lib/bundler/inline.rb +1 -1
  22. data/bundler/lib/bundler/installer/standalone.rb +1 -1
  23. data/bundler/lib/bundler/installer.rb +14 -12
  24. data/bundler/lib/bundler/lazy_specification.rb +30 -23
  25. data/bundler/lib/bundler/man/bundle-add.1 +1 -1
  26. data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
  27. data/bundler/lib/bundler/man/bundle-cache.1 +7 -1
  28. data/bundler/lib/bundler/man/bundle-cache.1.ronn +7 -0
  29. data/bundler/lib/bundler/man/bundle-check.1 +1 -1
  30. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  31. data/bundler/lib/bundler/man/bundle-config.1 +25 -6
  32. data/bundler/lib/bundler/man/bundle-config.1.ronn +16 -6
  33. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  34. data/bundler/lib/bundler/man/bundle-exec.1 +2 -2
  35. data/bundler/lib/bundler/man/bundle-exec.1.ronn +1 -1
  36. data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
  37. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  38. data/bundler/lib/bundler/man/bundle-init.1 +1 -1
  39. data/bundler/lib/bundler/man/bundle-inject.1 +5 -2
  40. data/bundler/lib/bundler/man/bundle-inject.1.ronn +3 -1
  41. data/bundler/lib/bundler/man/bundle-install.1 +5 -1
  42. data/bundler/lib/bundler/man/bundle-install.1.ronn +6 -0
  43. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  44. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  45. data/bundler/lib/bundler/man/bundle-open.1 +1 -1
  46. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  47. data/bundler/lib/bundler/man/bundle-platform.1 +16 -6
  48. data/bundler/lib/bundler/man/bundle-platform.1.ronn +14 -7
  49. data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
  50. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
  51. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  52. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  53. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  54. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  55. data/bundler/lib/bundler/man/bundle-viz.1 +4 -1
  56. data/bundler/lib/bundler/man/bundle-viz.1.ronn +2 -0
  57. data/bundler/lib/bundler/man/bundle.1 +10 -9
  58. data/bundler/lib/bundler/man/bundle.1.ronn +8 -6
  59. data/bundler/lib/bundler/man/gemfile.5 +16 -10
  60. data/bundler/lib/bundler/man/gemfile.5.ronn +23 -16
  61. data/bundler/lib/bundler/man/index.txt +1 -0
  62. data/bundler/lib/bundler/match_metadata.rb +13 -0
  63. data/bundler/lib/bundler/match_remote_metadata.rb +26 -0
  64. data/bundler/lib/bundler/plugin.rb +2 -0
  65. data/bundler/lib/bundler/remote_specification.rb +6 -11
  66. data/bundler/lib/bundler/resolver/spec_group.rb +11 -8
  67. data/bundler/lib/bundler/resolver.rb +40 -18
  68. data/bundler/lib/bundler/ruby_dsl.rb +1 -1
  69. data/bundler/lib/bundler/ruby_version.rb +5 -5
  70. data/bundler/lib/bundler/rubygems_ext.rb +41 -0
  71. data/bundler/lib/bundler/rubygems_gem_installer.rb +19 -12
  72. data/bundler/lib/bundler/settings.rb +1 -0
  73. data/bundler/lib/bundler/source/metadata.rb +1 -1
  74. data/bundler/lib/bundler/source_list.rb +4 -0
  75. data/bundler/lib/bundler/spec_set.rb +38 -33
  76. data/bundler/lib/bundler/version.rb +1 -1
  77. data/bundler/lib/bundler.rb +3 -3
  78. data/lib/rubygems/available_set.rb +3 -3
  79. data/lib/rubygems/basic_specification.rb +4 -4
  80. data/lib/rubygems/command.rb +25 -25
  81. data/lib/rubygems/command_manager.rb +9 -9
  82. data/lib/rubygems/commands/build_command.rb +8 -8
  83. data/lib/rubygems/commands/cert_command.rb +33 -33
  84. data/lib/rubygems/commands/check_command.rb +20 -20
  85. data/lib/rubygems/commands/cleanup_command.rb +17 -17
  86. data/lib/rubygems/commands/contents_command.rb +13 -13
  87. data/lib/rubygems/commands/dependency_command.rb +16 -16
  88. data/lib/rubygems/commands/environment_command.rb +5 -5
  89. data/lib/rubygems/commands/fetch_command.rb +8 -8
  90. data/lib/rubygems/commands/generate_index_command.rb +17 -17
  91. data/lib/rubygems/commands/help_command.rb +3 -3
  92. data/lib/rubygems/commands/info_command.rb +3 -3
  93. data/lib/rubygems/commands/install_command.rb +20 -20
  94. data/lib/rubygems/commands/list_command.rb +3 -3
  95. data/lib/rubygems/commands/lock_command.rb +4 -4
  96. data/lib/rubygems/commands/mirror_command.rb +3 -3
  97. data/lib/rubygems/commands/open_command.rb +9 -9
  98. data/lib/rubygems/commands/outdated_command.rb +5 -5
  99. data/lib/rubygems/commands/owner_command.rb +11 -11
  100. data/lib/rubygems/commands/pristine_command.rb +36 -36
  101. data/lib/rubygems/commands/push_command.rb +8 -8
  102. data/lib/rubygems/commands/query_command.rb +8 -8
  103. data/lib/rubygems/commands/rdoc_command.rb +17 -17
  104. data/lib/rubygems/commands/search_command.rb +3 -3
  105. data/lib/rubygems/commands/server_command.rb +3 -3
  106. data/lib/rubygems/commands/setup_command.rb +96 -106
  107. data/lib/rubygems/commands/signin_command.rb +9 -9
  108. data/lib/rubygems/commands/signout_command.rb +7 -7
  109. data/lib/rubygems/commands/sources_command.rb +21 -21
  110. data/lib/rubygems/commands/specification_command.rb +13 -13
  111. data/lib/rubygems/commands/stale_command.rb +2 -2
  112. data/lib/rubygems/commands/uninstall_command.rb +40 -40
  113. data/lib/rubygems/commands/unpack_command.rb +12 -12
  114. data/lib/rubygems/commands/update_command.rb +40 -56
  115. data/lib/rubygems/commands/which_command.rb +7 -7
  116. data/lib/rubygems/commands/yank_command.rb +11 -11
  117. data/lib/rubygems/config_file.rb +21 -21
  118. data/lib/rubygems/core_ext/kernel_gem.rb +1 -1
  119. data/lib/rubygems/core_ext/kernel_require.rb +1 -1
  120. data/lib/rubygems/core_ext/kernel_warn.rb +1 -1
  121. data/lib/rubygems/core_ext/tcpsocket_init.rb +1 -1
  122. data/lib/rubygems/defaults.rb +16 -16
  123. data/lib/rubygems/dependency.rb +9 -9
  124. data/lib/rubygems/dependency_installer.rb +13 -13
  125. data/lib/rubygems/dependency_list.rb +6 -6
  126. data/lib/rubygems/doctor.rb +18 -18
  127. data/lib/rubygems/errors.rb +2 -2
  128. data/lib/rubygems/exceptions.rb +5 -5
  129. data/lib/rubygems/ext/build_error.rb +1 -1
  130. data/lib/rubygems/ext/builder.rb +16 -16
  131. data/lib/rubygems/ext/cargo_builder.rb +7 -7
  132. data/lib/rubygems/ext/cmake_builder.rb +2 -2
  133. data/lib/rubygems/ext/configure_builder.rb +1 -1
  134. data/lib/rubygems/ext/ext_conf_builder.rb +8 -8
  135. data/lib/rubygems/ext/rake_builder.rb +3 -3
  136. data/lib/rubygems/ext.rb +7 -7
  137. data/lib/rubygems/gem_runner.rb +5 -5
  138. data/lib/rubygems/gemcutter_utilities.rb +31 -28
  139. data/lib/rubygems/indexer.rb +27 -27
  140. data/lib/rubygems/install_default_message.rb +2 -2
  141. data/lib/rubygems/install_message.rb +2 -2
  142. data/lib/rubygems/install_update_options.rb +55 -55
  143. data/lib/rubygems/installer.rb +32 -40
  144. data/lib/rubygems/installer_uninstaller_utils.rb +2 -2
  145. data/lib/rubygems/local_remote_options.rb +18 -20
  146. data/lib/rubygems/mock_gem_ui.rb +2 -2
  147. data/lib/rubygems/name_tuple.rb +4 -4
  148. data/lib/rubygems/optparse.rb +1 -1
  149. data/lib/rubygems/package/file_source.rb +2 -2
  150. data/lib/rubygems/package/old.rb +8 -8
  151. data/lib/rubygems/package/tar_header.rb +50 -50
  152. data/lib/rubygems/package/tar_reader/entry.rb +2 -2
  153. data/lib/rubygems/package/tar_reader.rb +1 -1
  154. data/lib/rubygems/package/tar_writer.rb +7 -7
  155. data/lib/rubygems/package.rb +54 -43
  156. data/lib/rubygems/package_task.rb +4 -4
  157. data/lib/rubygems/platform.rb +66 -55
  158. data/lib/rubygems/psych_tree.rb +1 -1
  159. data/lib/rubygems/query_utils.rb +33 -33
  160. data/lib/rubygems/rdoc.rb +2 -2
  161. data/lib/rubygems/remote_fetcher.rb +22 -22
  162. data/lib/rubygems/request/connection_pools.rb +4 -4
  163. data/lib/rubygems/request/http_pool.rb +1 -1
  164. data/lib/rubygems/request.rb +22 -22
  165. data/lib/rubygems/request_set/gem_dependency_api.rb +18 -18
  166. data/lib/rubygems/request_set/lockfile/parser.rb +26 -26
  167. data/lib/rubygems/request_set/lockfile/tokenizer.rb +4 -4
  168. data/lib/rubygems/request_set/lockfile.rb +5 -5
  169. data/lib/rubygems/request_set.rb +17 -17
  170. data/lib/rubygems/requirement.rb +6 -6
  171. data/lib/rubygems/resolver/activation_request.rb +3 -3
  172. data/lib/rubygems/resolver/api_set.rb +4 -4
  173. data/lib/rubygems/resolver/api_specification.rb +6 -6
  174. data/lib/rubygems/resolver/best_set.rb +5 -5
  175. data/lib/rubygems/resolver/conflict.rb +10 -10
  176. data/lib/rubygems/resolver/dependency_request.rb +2 -2
  177. data/lib/rubygems/resolver/git_set.rb +2 -2
  178. data/lib/rubygems/resolver/git_specification.rb +6 -6
  179. data/lib/rubygems/resolver/index_set.rb +3 -3
  180. data/lib/rubygems/resolver/index_specification.rb +6 -5
  181. data/lib/rubygems/resolver/installed_specification.rb +4 -4
  182. data/lib/rubygems/resolver/installer_set.rb +11 -16
  183. data/lib/rubygems/resolver/local_specification.rb +2 -2
  184. data/lib/rubygems/resolver/lock_set.rb +4 -4
  185. data/lib/rubygems/resolver/lock_specification.rb +4 -4
  186. data/lib/rubygems/resolver/molinillo.rb +1 -1
  187. data/lib/rubygems/resolver/specification.rb +1 -1
  188. data/lib/rubygems/resolver/vendor_set.rb +1 -1
  189. data/lib/rubygems/resolver/vendor_specification.rb +3 -3
  190. data/lib/rubygems/resolver.rb +39 -39
  191. data/lib/rubygems/s3_uri_signer.rb +6 -6
  192. data/lib/rubygems/safe_yaml.rb +2 -2
  193. data/lib/rubygems/security/policies.rb +11 -11
  194. data/lib/rubygems/security/policy.rb +18 -18
  195. data/lib/rubygems/security/signer.rb +5 -5
  196. data/lib/rubygems/security/trust_dir.rb +3 -3
  197. data/lib/rubygems/security.rb +28 -28
  198. data/lib/rubygems/security_option.rb +5 -5
  199. data/lib/rubygems/source/git.rb +21 -21
  200. data/lib/rubygems/source/installed.rb +1 -1
  201. data/lib/rubygems/source/local.rb +2 -2
  202. data/lib/rubygems/source/specific_file.rb +1 -1
  203. data/lib/rubygems/source.rb +16 -16
  204. data/lib/rubygems/spec_fetcher.rb +9 -9
  205. data/lib/rubygems/specification.rb +63 -62
  206. data/lib/rubygems/specification_policy.rb +15 -15
  207. data/lib/rubygems/stub_specification.rb +5 -5
  208. data/lib/rubygems/tsort.rb +1 -1
  209. data/lib/rubygems/uninstaller.rb +18 -18
  210. data/lib/rubygems/uri.rb +4 -4
  211. data/lib/rubygems/uri_formatter.rb +1 -1
  212. data/lib/rubygems/user_interaction.rb +33 -19
  213. data/lib/rubygems/util/licenses.rb +3 -3
  214. data/lib/rubygems/util.rb +10 -10
  215. data/lib/rubygems/validator.rb +5 -5
  216. data/lib/rubygems/version.rb +15 -9
  217. data/lib/rubygems/version_option.rb +3 -3
  218. data/lib/rubygems.rb +62 -61
  219. data/rubygems-update.gemspec +2 -2
  220. data/setup.rb +9 -9
  221. data/test/rubygems/helper.rb +132 -132
  222. data/test/rubygems/installer_test_case.rb +13 -13
  223. data/test/rubygems/package/tar_test_case.rb +2 -2
  224. data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -1
  225. data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -1
  226. data/test/rubygems/rubygems_plugin.rb +2 -2
  227. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +4 -4
  228. data/test/rubygems/test_bundled_ca.rb +10 -10
  229. data/test/rubygems/test_config.rb +3 -3
  230. data/test/rubygems/test_deprecate.rb +3 -3
  231. data/test/rubygems/test_exit.rb +2 -2
  232. data/test/rubygems/test_gem.rb +342 -342
  233. data/test/rubygems/test_gem_available_set.rb +21 -21
  234. data/test/rubygems/test_gem_bundler_version_finder.rb +1 -1
  235. data/test/rubygems/test_gem_command.rb +44 -44
  236. data/test/rubygems/test_gem_command_manager.rb +29 -29
  237. data/test/rubygems/test_gem_commands_build_command.rb +63 -63
  238. data/test/rubygems/test_gem_commands_cert_command.rb +97 -99
  239. data/test/rubygems/test_gem_commands_check_command.rb +4 -4
  240. data/test/rubygems/test_gem_commands_cleanup_command.rb +40 -40
  241. data/test/rubygems/test_gem_commands_contents_command.rb +27 -27
  242. data/test/rubygems/test_gem_commands_dependency_command.rb +36 -36
  243. data/test/rubygems/test_gem_commands_environment_command.rb +16 -16
  244. data/test/rubygems/test_gem_commands_fetch_command.rb +37 -37
  245. data/test/rubygems/test_gem_commands_generate_index_command.rb +7 -7
  246. data/test/rubygems/test_gem_commands_help_command.rb +13 -13
  247. data/test/rubygems/test_gem_commands_info_command.rb +2 -2
  248. data/test/rubygems/test_gem_commands_install_command.rb +131 -131
  249. data/test/rubygems/test_gem_commands_list_command.rb +4 -4
  250. data/test/rubygems/test_gem_commands_lock_command.rb +10 -10
  251. data/test/rubygems/test_gem_commands_mirror.rb +2 -2
  252. data/test/rubygems/test_gem_commands_open_command.rb +4 -4
  253. data/test/rubygems/test_gem_commands_outdated_command.rb +9 -9
  254. data/test/rubygems/test_gem_commands_owner_command.rb +41 -41
  255. data/test/rubygems/test_gem_commands_pristine_command.rb +92 -92
  256. data/test/rubygems/test_gem_commands_push_command.rb +54 -54
  257. data/test/rubygems/test_gem_commands_query_command.rb +73 -73
  258. data/test/rubygems/test_gem_commands_search_command.rb +2 -2
  259. data/test/rubygems/test_gem_commands_server_command.rb +2 -2
  260. data/test/rubygems/test_gem_commands_setup_command.rb +119 -85
  261. data/test/rubygems/test_gem_commands_signin_command.rb +45 -31
  262. data/test/rubygems/test_gem_commands_signout_command.rb +3 -3
  263. data/test/rubygems/test_gem_commands_sources_command.rb +28 -29
  264. data/test/rubygems/test_gem_commands_specification_command.rb +32 -32
  265. data/test/rubygems/test_gem_commands_stale_command.rb +4 -4
  266. data/test/rubygems/test_gem_commands_uninstall_command.rb +75 -75
  267. data/test/rubygems/test_gem_commands_unpack_command.rb +31 -31
  268. data/test/rubygems/test_gem_commands_update_command.rb +89 -89
  269. data/test/rubygems/test_gem_commands_which_command.rb +6 -6
  270. data/test/rubygems/test_gem_commands_yank_command.rb +40 -40
  271. data/test/rubygems/test_gem_config_file.rb +93 -81
  272. data/test/rubygems/test_gem_dependency.rb +73 -73
  273. data/test/rubygems/test_gem_dependency_installer.rb +165 -165
  274. data/test/rubygems/test_gem_dependency_list.rb +47 -47
  275. data/test/rubygems/test_gem_dependency_resolution_error.rb +4 -4
  276. data/test/rubygems/test_gem_doctor.rb +26 -26
  277. data/test/rubygems/test_gem_ext_builder.rb +59 -59
  278. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock +6 -6
  279. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml +1 -1
  280. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +8 -8
  281. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +1 -1
  282. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +6 -6
  283. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
  284. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +8 -8
  285. data/test/rubygems/test_gem_ext_cargo_builder.rb +26 -26
  286. data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +3 -3
  287. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +23 -23
  288. data/test/rubygems/test_gem_ext_cmake_builder.rb +15 -15
  289. data/test/rubygems/test_gem_ext_configure_builder.rb +13 -13
  290. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +51 -52
  291. data/test/rubygems/test_gem_ext_rake_builder.rb +15 -15
  292. data/test/rubygems/test_gem_gem_runner.rb +7 -7
  293. data/test/rubygems/test_gem_gemcutter_utilities.rb +66 -66
  294. data/test/rubygems/test_gem_impossible_dependencies_error.rb +4 -4
  295. data/test/rubygems/test_gem_indexer.rb +48 -48
  296. data/test/rubygems/test_gem_install_update_options.rb +16 -16
  297. data/test/rubygems/test_gem_installer.rb +303 -300
  298. data/test/rubygems/test_gem_local_remote_options.rb +10 -10
  299. data/test/rubygems/test_gem_name_tuple.rb +4 -4
  300. data/test/rubygems/test_gem_package.rb +228 -206
  301. data/test/rubygems/test_gem_package_old.rb +13 -13
  302. data/test/rubygems/test_gem_package_tar_header.rb +42 -42
  303. data/test/rubygems/test_gem_package_tar_reader.rb +8 -8
  304. data/test/rubygems/test_gem_package_tar_reader_entry.rb +10 -10
  305. data/test/rubygems/test_gem_package_tar_writer.rb +76 -76
  306. data/test/rubygems/test_gem_package_task.rb +18 -18
  307. data/test/rubygems/test_gem_path_support.rb +14 -14
  308. data/test/rubygems/test_gem_platform.rb +266 -227
  309. data/test/rubygems/test_gem_rdoc.rb +14 -14
  310. data/test/rubygems/test_gem_remote_fetcher.rb +149 -149
  311. data/test/rubygems/test_gem_request.rb +55 -55
  312. data/test/rubygems/test_gem_request_connection_pools.rb +29 -29
  313. data/test/rubygems/test_gem_request_set.rb +99 -99
  314. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +204 -206
  315. data/test/rubygems/test_gem_request_set_lockfile.rb +86 -86
  316. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +56 -56
  317. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +62 -62
  318. data/test/rubygems/test_gem_requirement.rb +47 -41
  319. data/test/rubygems/test_gem_resolver.rb +133 -99
  320. data/test/rubygems/test_gem_resolver_activation_request.rb +6 -6
  321. data/test/rubygems/test_gem_resolver_api_set.rb +33 -33
  322. data/test/rubygems/test_gem_resolver_api_specification.rb +47 -47
  323. data/test/rubygems/test_gem_resolver_best_set.rb +22 -22
  324. data/test/rubygems/test_gem_resolver_composed_set.rb +1 -1
  325. data/test/rubygems/test_gem_resolver_conflict.rb +12 -12
  326. data/test/rubygems/test_gem_resolver_dependency_request.rb +15 -15
  327. data/test/rubygems/test_gem_resolver_git_set.rb +21 -21
  328. data/test/rubygems/test_gem_resolver_git_specification.rb +21 -21
  329. data/test/rubygems/test_gem_resolver_index_set.rb +12 -12
  330. data/test/rubygems/test_gem_resolver_index_specification.rb +16 -16
  331. data/test/rubygems/test_gem_resolver_installed_specification.rb +5 -5
  332. data/test/rubygems/test_gem_resolver_installer_set.rb +78 -34
  333. data/test/rubygems/test_gem_resolver_local_specification.rb +7 -7
  334. data/test/rubygems/test_gem_resolver_lock_set.rb +12 -12
  335. data/test/rubygems/test_gem_resolver_lock_specification.rb +17 -17
  336. data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -1
  337. data/test/rubygems/test_gem_resolver_specification.rb +8 -8
  338. data/test/rubygems/test_gem_resolver_vendor_set.rb +6 -6
  339. data/test/rubygems/test_gem_resolver_vendor_specification.rb +10 -10
  340. data/test/rubygems/test_gem_security.rb +67 -67
  341. data/test/rubygems/test_gem_security_policy.rb +62 -62
  342. data/test/rubygems/test_gem_security_signer.rb +28 -28
  343. data/test/rubygems/test_gem_security_trust_dir.rb +4 -4
  344. data/test/rubygems/test_gem_silent_ui.rb +38 -32
  345. data/test/rubygems/test_gem_source.rb +44 -44
  346. data/test/rubygems/test_gem_source_fetch_problem.rb +9 -9
  347. data/test/rubygems/test_gem_source_git.rb +59 -59
  348. data/test/rubygems/test_gem_source_installed.rb +16 -16
  349. data/test/rubygems/test_gem_source_list.rb +5 -5
  350. data/test/rubygems/test_gem_source_local.rb +14 -14
  351. data/test/rubygems/test_gem_source_lock.rb +31 -31
  352. data/test/rubygems/test_gem_source_specific_file.rb +17 -17
  353. data/test/rubygems/test_gem_source_subpath_problem.rb +7 -7
  354. data/test/rubygems/test_gem_source_vendor.rb +13 -13
  355. data/test/rubygems/test_gem_spec_fetcher.rb +72 -72
  356. data/test/rubygems/test_gem_specification.rb +444 -436
  357. data/test/rubygems/test_gem_stream_ui.rb +19 -19
  358. data/test/rubygems/test_gem_stub_specification.rb +32 -32
  359. data/test/rubygems/test_gem_text.rb +1 -1
  360. data/test/rubygems/test_gem_uninstaller.rb +112 -112
  361. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +3 -3
  362. data/test/rubygems/test_gem_uri.rb +4 -4
  363. data/test/rubygems/test_gem_uri_formatter.rb +14 -14
  364. data/test/rubygems/test_gem_util.rb +23 -23
  365. data/test/rubygems/test_gem_validator.rb +8 -8
  366. data/test/rubygems/test_gem_version.rb +22 -15
  367. data/test/rubygems/test_gem_version_option.rb +15 -15
  368. data/test/rubygems/test_kernel.rb +31 -31
  369. data/test/rubygems/test_project_sanity.rb +1 -1
  370. data/test/rubygems/test_remote_fetch_error.rb +6 -6
  371. data/test/rubygems/test_require.rb +43 -43
  372. data/test/rubygems/test_rubygems.rb +8 -8
  373. data/test/rubygems/utilities.rb +19 -19
  374. metadata +7 -3
@@ -3,7 +3,7 @@
3
3
  module Bundler
4
4
  # used for Creating Specifications from the Gemcutter Endpoint
5
5
  class EndpointSpecification < Gem::Specification
6
- include MatchPlatform
6
+ include MatchRemoteMetadata
7
7
 
8
8
  attr_reader :name, :version, :platform, :checksum
9
9
  attr_accessor :source, :remote, :dependencies
@@ -22,17 +22,6 @@ module Bundler
22
22
  parse_metadata(metadata)
23
23
  end
24
24
 
25
- def required_ruby_version
26
- @required_ruby_version ||= _remote_specification.required_ruby_version
27
- end
28
-
29
- # A fallback is included because the original version of the specification
30
- # API didn't include that field, so some marshalled specs in the index have it
31
- # set to +nil+.
32
- def required_rubygems_version
33
- @required_rubygems_version ||= _remote_specification.required_rubygems_version || Gem::Requirement.default
34
- end
35
-
36
25
  def fetch_platform
37
26
  @platform
38
27
  end
@@ -240,8 +240,8 @@ module Bundler
240
240
  def connection
241
241
  @connection ||= begin
242
242
  needs_ssl = remote_uri.scheme == "https" ||
243
- Bundler.settings[:ssl_verify_mode] ||
244
- Bundler.settings[:ssl_client_cert]
243
+ Bundler.settings[:ssl_verify_mode] ||
244
+ Bundler.settings[:ssl_client_cert]
245
245
  raise SSLError if needs_ssl && !defined?(OpenSSL::SSL)
246
246
 
247
247
  con = PersistentHTTP.new :name => "bundler", :proxy => :ENV
@@ -256,8 +256,8 @@ module Bundler
256
256
  end
257
257
 
258
258
  ssl_client_cert = Bundler.settings[:ssl_client_cert] ||
259
- (Gem.configuration.ssl_client_cert if
260
- Gem.configuration.respond_to?(:ssl_client_cert))
259
+ (Gem.configuration.ssl_client_cert if
260
+ Gem.configuration.respond_to?(:ssl_client_cert))
261
261
  if ssl_client_cert
262
262
  pem = File.read(ssl_client_cert)
263
263
  con.cert = OpenSSL::X509::Certificate.new(pem)
@@ -288,8 +288,8 @@ module Bundler
288
288
  def bundler_cert_store
289
289
  store = OpenSSL::X509::Store.new
290
290
  ssl_ca_cert = Bundler.settings[:ssl_ca_cert] ||
291
- (Gem.configuration.ssl_ca_cert if
292
- Gem.configuration.respond_to?(:ssl_ca_cert))
291
+ (Gem.configuration.ssl_ca_cert if
292
+ Gem.configuration.respond_to?(:ssl_ca_cert))
293
293
  if ssl_ca_cert
294
294
  if File.directory? ssl_ca_cert
295
295
  store.add_path ssl_ca_cert
@@ -44,6 +44,12 @@ module Bundler
44
44
 
45
45
  def select_best_platform_match(specs, platform)
46
46
  matching = specs.select {|spec| spec.match_platform(platform) }
47
+
48
+ sort_best_platform_match(matching, platform)
49
+ end
50
+ module_function :select_best_platform_match
51
+
52
+ def sort_best_platform_match(matching, platform)
47
53
  exact = matching.select {|spec| spec.platform == platform }
48
54
  return exact if exact.any?
49
55
 
@@ -52,7 +58,7 @@ module Bundler
52
58
 
53
59
  sorted_matching.take_while {|spec| same_specificity(platform, spec, exemplary_spec) && same_deps(spec, exemplary_spec) }
54
60
  end
55
- module_function :select_best_platform_match
61
+ module_function :sort_best_platform_match
56
62
 
57
63
  class PlatformMatch
58
64
  def self.specificity_score(spec_platform, user_platform)
@@ -88,6 +88,10 @@ module Bundler
88
88
  end
89
89
  end
90
90
 
91
+ def reset
92
+ @sort_versions = {}
93
+ end
94
+
91
95
  # @return [bool] Convenience method for testing value of level variable.
92
96
  def major?
93
97
  level == :major
@@ -56,17 +56,17 @@ module Bundler
56
56
 
57
57
  # Search this index's specs, and any source indexes that this index knows
58
58
  # about, returning all of the results.
59
- def search(query, base = nil)
60
- sort_specs(unsorted_search(query, base))
59
+ def search(query)
60
+ sort_specs(unsorted_search(query))
61
61
  end
62
62
 
63
- def unsorted_search(query, base)
64
- results = local_search(query, base)
63
+ def unsorted_search(query)
64
+ results = local_search(query)
65
65
 
66
66
  seen = results.map(&:full_name).uniq unless @sources.empty?
67
67
 
68
68
  @sources.each do |source|
69
- source.unsorted_search(query, base).each do |spec|
69
+ source.unsorted_search(query).each do |spec|
70
70
  next if seen.include?(spec.full_name)
71
71
 
72
72
  seen << spec.full_name
@@ -89,12 +89,12 @@ module Bundler
89
89
  self.class.sort_specs(specs)
90
90
  end
91
91
 
92
- def local_search(query, base = nil)
92
+ def local_search(query)
93
93
  case query
94
94
  when Gem::Specification, RemoteSpecification, LazySpecification, EndpointSpecification then search_by_spec(query)
95
95
  when String then specs_by_name(query)
96
- when Gem::Dependency then search_by_dependency(query, base)
97
- when DepProxy then search_by_dependency(query.dep, base)
96
+ when Gem::Dependency then search_by_dependency(query)
97
+ when DepProxy then search_by_dependency(query.dep)
98
98
  else
99
99
  raise "You can't search for a #{query.inspect}."
100
100
  end
@@ -185,11 +185,9 @@ module Bundler
185
185
  @specs[name].values
186
186
  end
187
187
 
188
- def search_by_dependency(dependency, base = nil)
189
- @cache[base || false] ||= {}
190
- @cache[base || false][dependency] ||= begin
188
+ def search_by_dependency(dependency)
189
+ @cache[dependency] ||= begin
191
190
  specs = specs_by_name(dependency.name)
192
- specs += base if base
193
191
  found = specs.select do |spec|
194
192
  next true if spec.source.is_a?(Source::Gemspec)
195
193
  dependency.matches_spec?(spec)
@@ -54,7 +54,7 @@ def gemfile(install = false, options = {}, &gemfile)
54
54
 
55
55
  Bundler.ui = install ? ui : Bundler::UI::Silent.new
56
56
  if install || definition.missing_specs?
57
- Bundler.settings.temporary(:inline => true) do
57
+ Bundler.settings.temporary(:inline => true, :no_install => false) do
58
58
  installer = Bundler::Installer.install(Bundler.root, definition, :system => true)
59
59
  installer.post_install_messages.each do |name, message|
60
60
  Bundler.ui.info "Post-install message from #{name}:\n#{message}"
@@ -47,7 +47,7 @@ module Bundler
47
47
  end
48
48
 
49
49
  def bundler_path
50
- Bundler.root.join(Bundler.settings[:path], "bundler")
50
+ Bundler.root.join(Bundler.settings[:path].to_s, "bundler")
51
51
  end
52
52
 
53
53
  def gem_path(path, spec)
@@ -238,19 +238,14 @@ module Bundler
238
238
  end
239
239
 
240
240
  def ensure_specs_are_compatible!
241
- system_ruby = Bundler::RubyVersion.system
242
- rubygems_version = Bundler.rubygems.version
243
241
  @definition.specs.each do |spec|
244
- if required_ruby_version = spec.required_ruby_version
245
- unless required_ruby_version.satisfied_by?(system_ruby.gem_version)
246
- raise InstallError, "#{spec.full_name} requires ruby version #{required_ruby_version}, " \
247
- "which is incompatible with the current version, #{system_ruby}"
248
- end
242
+ unless spec.matches_current_ruby?
243
+ raise InstallError, "#{spec.full_name} requires ruby version #{spec.required_ruby_version}, " \
244
+ "which is incompatible with the current version, #{Gem.ruby_version}"
249
245
  end
250
- next unless required_rubygems_version = spec.required_rubygems_version
251
- unless required_rubygems_version.satisfied_by?(rubygems_version)
252
- raise InstallError, "#{spec.full_name} requires rubygems version #{required_rubygems_version}, " \
253
- "which is incompatible with the current version, #{rubygems_version}"
246
+ unless spec.matches_current_rubygems?
247
+ raise InstallError, "#{spec.full_name} requires rubygems version #{spec.required_rubygems_version}, " \
248
+ "which is incompatible with the current version, #{Gem.rubygems_version}"
254
249
  end
255
250
  end
256
251
  end
@@ -268,7 +263,14 @@ module Bundler
268
263
  return false if @definition.nothing_changed? && !@definition.missing_specs?
269
264
  end
270
265
 
271
- options["local"] ? @definition.resolve_with_cache! : @definition.resolve_remotely!
266
+ if options["local"]
267
+ @definition.resolve_with_cache!
268
+ elsif options["prefer-local"]
269
+ @definition.resolve_prefering_local!
270
+ else
271
+ @definition.resolve_remotely!
272
+ end
273
+
272
274
  true
273
275
  end
274
276
 
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "match_platform"
4
-
5
3
  module Bundler
6
4
  class LazySpecification
7
5
  include MatchPlatform
@@ -19,7 +17,7 @@ module Bundler
19
17
  end
20
18
 
21
19
  def full_name
22
- if platform == Gem::Platform::RUBY || platform.nil?
20
+ if platform == Gem::Platform::RUBY
23
21
  "#{@name}-#{@version}"
24
22
  else
25
23
  "#{@name}-#{@version}-#{platform}"
@@ -61,7 +59,7 @@ module Bundler
61
59
  def to_lock
62
60
  out = String.new
63
61
 
64
- if platform == Gem::Platform::RUBY || platform.nil?
62
+ if platform == Gem::Platform::RUBY
65
63
  out << " #{name} (#{version})\n"
66
64
  else
67
65
  out << " #{name} (#{version}-#{platform})\n"
@@ -75,27 +73,36 @@ module Bundler
75
73
  out
76
74
  end
77
75
 
78
- def __materialize__
79
- @specification = if source.is_a?(Source::Gemspec) && source.gemspec.name == name
80
- source.gemspec.tap {|s| s.source = source }
81
- else
82
- search_object = if source.is_a?(Source::Path)
83
- Dependency.new(name, version)
84
- else
85
- ruby_platform_materializes_to_ruby_platform? ? self : Dependency.new(name, version)
86
- end
87
- platform_object = ruby_platform_materializes_to_ruby_platform? ? Gem::Platform.new(platform) : Gem::Platform.local
88
- candidates = source.specs.search(search_object)
89
- same_platform_candidates = candidates.select do |spec|
90
- MatchPlatform.platforms_match?(spec.platform, platform_object)
76
+ def materialize_for_installation
77
+ source.local!
78
+
79
+ candidates = if source.is_a?(Source::Path) || !ruby_platform_materializes_to_ruby_platform?
80
+ target_platform = ruby_platform_materializes_to_ruby_platform? ? platform : Bundler.local_platform
81
+
82
+ source.specs.search(Dependency.new(name, version)).select do |spec|
83
+ MatchPlatform.platforms_match?(spec.platform, target_platform)
91
84
  end
92
- installable_candidates = same_platform_candidates.select do |spec|
85
+ else
86
+ source.specs.search(self)
87
+ end
88
+
89
+ return self if candidates.empty?
90
+
91
+ __materialize__(candidates)
92
+ end
93
+
94
+ def __materialize__(candidates)
95
+ @specification = begin
96
+ search = candidates.reverse.find do |spec|
93
97
  spec.is_a?(StubSpecification) ||
94
- (spec.required_ruby_version.satisfied_by?(Gem.ruby_version) &&
95
- spec.required_rubygems_version.satisfied_by?(Gem.rubygems_version))
98
+ (spec.matches_current_ruby? &&
99
+ spec.matches_current_rubygems?)
100
+ end
101
+ if search.nil? && Bundler.frozen_bundle?
102
+ search = candidates.last
103
+ else
104
+ search.dependencies = dependencies if search && search.full_name == full_name && (search.is_a?(RemoteSpecification) || search.is_a?(EndpointSpecification))
96
105
  end
97
- search = installable_candidates.last || same_platform_candidates.last
98
- search.dependencies = dependencies if search && (search.is_a?(RemoteSpecification) || search.is_a?(EndpointSpecification))
99
106
  search
100
107
  end
101
108
  end
@@ -105,7 +112,7 @@ module Bundler
105
112
  end
106
113
 
107
114
  def to_s
108
- @__to_s ||= if platform == Gem::Platform::RUBY || platform.nil?
115
+ @__to_s ||= if platform == Gem::Platform::RUBY
109
116
  "#{name} (#{version})"
110
117
  else
111
118
  "#{name} (#{version}-#{platform})"
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-ADD" "1" "June 2022" "" ""
4
+ .TH "BUNDLE\-ADD" "1" "August 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-BINSTUBS" "1" "June 2022" "" ""
4
+ .TH "BUNDLE\-BINSTUBS" "1" "August 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-binstubs\fR \- Install the binstubs of the listed gems
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-CACHE" "1" "June 2022" "" ""
4
+ .TH "BUNDLE\-CACHE" "1" "August 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
@@ -9,6 +9,9 @@
9
9
  .SH "SYNOPSIS"
10
10
  \fBbundle cache\fR
11
11
  .
12
+ .P
13
+ alias: \fBpackage\fR, \fBpack\fR
14
+ .
12
15
  .SH "DESCRIPTION"
13
16
  Copy all of the \fB\.gem\fR files needed to run the application into the \fBvendor/cache\fR directory\. In the future, when running [bundle install(1)][bundle\-install], use the gems in the cache in preference to the ones on \fBrubygems\.org\fR\.
14
17
  .
@@ -53,3 +56,6 @@ One way to be sure that you have the right platformed versions of all your gems
53
56
  .
54
57
  .P
55
58
  By default, bundle cache(1) \fIbundle\-cache\.1\.html\fR fetches and also installs the gems to the default location\. To package the dependencies to \fBvendor/cache\fR without installing them to the local install location, you can run \fBbundle cache \-\-no\-install\fR\.
59
+ .
60
+ .SH "HISTORY"
61
+ In Bundler 2\.1, \fBcache\fR took in the functionalities of \fBpackage\fR and now \fBpackage\fR and \fBpack\fR are aliases of \fBcache\fR\.
@@ -5,6 +5,8 @@ bundle-cache(1) -- Package your needed `.gem` files into your application
5
5
 
6
6
  `bundle cache`
7
7
 
8
+ alias: `package`, `pack`
9
+
8
10
  ## DESCRIPTION
9
11
 
10
12
  Copy all of the `.gem` files needed to run the application into the
@@ -70,3 +72,8 @@ By default, [bundle cache(1)](bundle-cache.1.html) fetches and also
70
72
  installs the gems to the default location. To package the
71
73
  dependencies to `vendor/cache` without installing them to the
72
74
  local install location, you can run `bundle cache --no-install`.
75
+
76
+ ## HISTORY
77
+
78
+ In Bundler 2.1, `cache` took in the functionalities of `package` and now
79
+ `package` and `pack` are aliases of `cache`.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-CHECK" "1" "June 2022" "" ""
4
+ .TH "BUNDLE\-CHECK" "1" "August 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-CLEAN" "1" "June 2022" "" ""
4
+ .TH "BUNDLE\-CLEAN" "1" "August 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory
@@ -1,13 +1,22 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-CONFIG" "1" "June 2022" "" ""
4
+ .TH "BUNDLE\-CONFIG" "1" "August 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-config\fR \- Set bundler configuration options
8
8
  .
9
9
  .SH "SYNOPSIS"
10
- \fBbundle config\fR [list|get|set|unset] [\fIname\fR [\fIvalue\fR]]
10
+ \fBbundle config\fR list
11
+ .
12
+ .br
13
+ \fBbundle config\fR [get] NAME
14
+ .
15
+ .br
16
+ \fBbundle config\fR [set] NAME VALUE
17
+ .
18
+ .br
19
+ \fBbundle config\fR unset NAME
11
20
  .
12
21
  .SH "DESCRIPTION"
13
22
  This command allows you to interact with Bundler\'s configuration system\.
@@ -51,7 +60,7 @@ Executing \fBbundle config unset <name>\fR will delete the configuration in both
51
60
  Executing \fBbundle config unset \-\-global <name>\fR will delete the configuration only from the user configuration\.
52
61
  .
53
62
  .P
54
- Executing \fBbundle config unset \-\-local <name> <value>\fR will delete the configuration only from the local application\.
63
+ Executing \fBbundle config unset \-\-local <name>\fR will delete the configuration only from the local application\.
55
64
  .
56
65
  .P
57
66
  Executing bundle with the \fBBUNDLE_IGNORE_CONFIG\fR environment variable set will cause it to ignore all configuration\.
@@ -74,6 +83,10 @@ Creates a directory (defaults to \fB~/bin\fR) and place any executables from the
74
83
  In deployment mode, Bundler will \'roll\-out\' the bundle for \fBproduction\fR use\. Please check carefully if you want to have this option enabled in \fBdevelopment\fR or \fBtest\fR environments\.
75
84
  .
76
85
  .TP
86
+ \fBonly\fR
87
+ A space\-separated list of groups to install only gems of the specified groups\.
88
+ .
89
+ .TP
77
90
  \fBpath\fR
78
91
  The location to install the specified gems to\. This defaults to Rubygems\' setting\. Bundler shares this location with Rubygems, \fBgem install \.\.\.\fR will have gem installed there, too\. Therefore, gems installed without a \fB\-\-path \.\.\.\fR setting will show up by calling \fBgem list\fR\. Accordingly, gems installed to other locations will not get listed\.
79
92
  .
@@ -205,6 +218,9 @@ The following is a list of all configuration keys and their purpose\. You can le
205
218
  \fBglobal_gem_cache\fR (\fBBUNDLE_GLOBAL_GEM_CACHE\fR): Whether Bundler should cache all gems globally, rather than locally to the installing Ruby installation\.
206
219
  .
207
220
  .IP "\(bu" 4
221
+ \fBignore_funding_requests\fR (\fBBUNDLE_IGNORE_FUNDING_REQUESTS\fR): When set, no funding requests will be printed\.
222
+ .
223
+ .IP "\(bu" 4
208
224
  \fBignore_messages\fR (\fBBUNDLE_IGNORE_MESSAGES\fR): When set, no post install messages will be printed\. To silence a single gem, use dot notation like \fBignore_messages\.httparty true\fR\.
209
225
  .
210
226
  .IP "\(bu" 4
@@ -220,6 +236,9 @@ The following is a list of all configuration keys and their purpose\. You can le
220
236
  \fBno_prune\fR (\fBBUNDLE_NO_PRUNE\fR): Whether Bundler should leave outdated gems unpruned when caching\.
221
237
  .
222
238
  .IP "\(bu" 4
239
+ \fBonly\fR (\fBBUNDLE_ONLY\fR): A space\-separated list of groups to install only gems of the specified groups\.
240
+ .
241
+ .IP "\(bu" 4
223
242
  \fBpath\fR (\fBBUNDLE_PATH\fR): The location on disk where all gems in your bundle will be located regardless of \fB$GEM_HOME\fR or \fB$GEM_PATH\fR values\. Bundle gems not found in this location will be installed by \fBbundle install\fR\. Defaults to \fBGem\.dir\fR\. When \-\-deployment is used, defaults to vendor/bundle\.
224
243
  .
225
244
  .IP "\(bu" 4
@@ -288,7 +307,7 @@ The following is a list of all configuration keys and their purpose\. You can le
288
307
  .IP "" 0
289
308
  .
290
309
  .P
291
- In general, you should set these settings per\-application by using the applicable flag to the bundle install(1) \fIbundle\-install\.1\.html\fR or bundle package(1) \fIbundle\-package\.1\.html\fR command\.
310
+ In general, you should set these settings per\-application by using the applicable flag to the bundle install(1) \fIbundle\-install\.1\.html\fR or bundle cache(1) \fIbundle\-cache\.1\.html\fR command\.
292
311
  .
293
312
  .P
294
313
  You can set them globally either via environment variables or \fBbundle config\fR, whichever is preferable for your setup\. If you use both, environment variables will take preference over global settings\.
@@ -342,13 +361,13 @@ bundle config set \-\-global mirror\.SOURCE_URL MIRROR_URL
342
361
  .IP "" 0
343
362
  .
344
363
  .P
345
- For example, to use a mirror of rubygems\.org hosted at rubygems\-mirror\.org:
364
+ For example, to use a mirror of https://rubygems\.org hosted at https://example\.org:
346
365
  .
347
366
  .IP "" 4
348
367
  .
349
368
  .nf
350
369
 
351
- bundle config set \-\-global mirror\.http://rubygems\.org http://rubygems\-mirror\.org
370
+ bundle config set \-\-global mirror\.https://rubygems\.org https://example\.org
352
371
  .
353
372
  .fi
354
373
  .
@@ -3,7 +3,10 @@ bundle-config(1) -- Set bundler configuration options
3
3
 
4
4
  ## SYNOPSIS
5
5
 
6
- `bundle config` [list|get|set|unset] [<name> [<value>]]
6
+ `bundle config` list<br>
7
+ `bundle config` [get] NAME<br>
8
+ `bundle config` [set] NAME VALUE<br>
9
+ `bundle config` unset NAME
7
10
 
8
11
  ## DESCRIPTION
9
12
 
@@ -43,8 +46,8 @@ local and global sources.
43
46
  Executing `bundle config unset --global <name>` will delete the configuration
44
47
  only from the user configuration.
45
48
 
46
- Executing `bundle config unset --local <name> <value>` will delete the
47
- configuration only from the local application.
49
+ Executing `bundle config unset --local <name>` will delete the configuration
50
+ only from the local application.
48
51
 
49
52
  Executing bundle with the `BUNDLE_IGNORE_CONFIG` environment variable set will
50
53
  cause it to ignore all configuration.
@@ -74,6 +77,9 @@ The options that can be configured are:
74
77
  `production` use. Please check carefully if you want to have this option
75
78
  enabled in `development` or `test` environments.
76
79
 
80
+ * `only`:
81
+ A space-separated list of groups to install only gems of the specified groups.
82
+
77
83
  * `path`:
78
84
  The location to install the specified gems to. This defaults to Rubygems'
79
85
  setting. Bundler shares this location with Rubygems, `gem install ...` will
@@ -204,6 +210,8 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
204
210
  * `global_gem_cache` (`BUNDLE_GLOBAL_GEM_CACHE`):
205
211
  Whether Bundler should cache all gems globally, rather than locally to the
206
212
  installing Ruby installation.
213
+ * `ignore_funding_requests` (`BUNDLE_IGNORE_FUNDING_REQUESTS`):
214
+ When set, no funding requests will be printed.
207
215
  * `ignore_messages` (`BUNDLE_IGNORE_MESSAGES`):
208
216
  When set, no post install messages will be printed. To silence a single gem,
209
217
  use dot notation like `ignore_messages.httparty true`.
@@ -216,6 +224,8 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
216
224
  Whether `bundle package` should skip installing gems.
217
225
  * `no_prune` (`BUNDLE_NO_PRUNE`):
218
226
  Whether Bundler should leave outdated gems unpruned when caching.
227
+ * `only` (`BUNDLE_ONLY`):
228
+ A space-separated list of groups to install only gems of the specified groups.
219
229
  * `path` (`BUNDLE_PATH`):
220
230
  The location on disk where all gems in your bundle will be located regardless
221
231
  of `$GEM_HOME` or `$GEM_PATH` values. Bundle gems not found in this location
@@ -273,7 +283,7 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
273
283
  A `:`-separated list of groups whose gems bundler should not install.
274
284
 
275
285
  In general, you should set these settings per-application by using the applicable
276
- flag to the [bundle install(1)](bundle-install.1.html) or [bundle package(1)](bundle-package.1.html) command.
286
+ flag to the [bundle install(1)](bundle-install.1.html) or [bundle cache(1)](bundle-cache.1.html) command.
277
287
 
278
288
  You can set them globally either via environment variables or `bundle config`,
279
289
  whichever is preferable for your setup. If you use both, environment variables
@@ -321,9 +331,9 @@ mirror to fetch gems.
321
331
 
322
332
  bundle config set --global mirror.SOURCE_URL MIRROR_URL
323
333
 
324
- For example, to use a mirror of rubygems.org hosted at rubygems-mirror.org:
334
+ For example, to use a mirror of https://rubygems.org hosted at https://example.org:
325
335
 
326
- bundle config set --global mirror.http://rubygems.org http://rubygems-mirror.org
336
+ bundle config set --global mirror.https://rubygems.org https://example.org
327
337
 
328
338
  Each mirror also provides a fallback timeout setting. If the mirror does not
329
339
  respond within the fallback timeout, Bundler will try to use the original
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-DOCTOR" "1" "June 2022" "" ""
4
+ .TH "BUNDLE\-DOCTOR" "1" "August 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-doctor\fR \- Checks the bundle for common problems
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-EXEC" "1" "June 2022" "" ""
4
+ .TH "BUNDLE\-EXEC" "1" "August 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-exec\fR \- Execute a command in the context of the bundle
@@ -155,7 +155,7 @@ You can find a list of all the gems containing gem plugins by running
155
155
  .
156
156
  .nf
157
157
 
158
- ruby \-rrubygems \-e "puts Gem\.find_files(\'rubygems_plugin\.rb\')"
158
+ ruby \-e "puts Gem\.find_files(\'rubygems_plugin\.rb\')"
159
159
  .
160
160
  .fi
161
161
  .
@@ -145,7 +145,7 @@ their plugins.
145
145
  You can find a list of all the gems containing gem plugins
146
146
  by running
147
147
 
148
- ruby -rrubygems -e "puts Gem.find_files('rubygems_plugin.rb')"
148
+ ruby -e "puts Gem.find_files('rubygems_plugin.rb')"
149
149
 
150
150
  At the very least, you should remove all but the newest
151
151
  version of each gem plugin, and also remove all gem plugins
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-GEM" "1" "June 2022" "" ""
4
+ .TH "BUNDLE\-GEM" "1" "August 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-INFO" "1" "June 2022" "" ""
4
+ .TH "BUNDLE\-INFO" "1" "August 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-info\fR \- Show information for the given gem in your bundle
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-INIT" "1" "June 2022" "" ""
4
+ .TH "BUNDLE\-INIT" "1" "August 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-init\fR \- Generates a Gemfile into the current working directory
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-INJECT" "1" "June 2022" "" ""
4
+ .TH "BUNDLE\-INJECT" "1" "August 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-inject\fR \- Add named gem(s) with version requirements to Gemfile
@@ -30,4 +30,7 @@ bundle inject \'rack\' \'> 0\'
30
30
  .IP "" 0
31
31
  .
32
32
  .P
33
- This will inject the \'rack\' gem with a version greater than 0 in your [\fBGemfile(5)\fR][Gemfile(5)] and Gemfile\.lock
33
+ This will inject the \'rack\' gem with a version greater than 0 in your [\fBGemfile(5)\fR][Gemfile(5)] and Gemfile\.lock\.
34
+ .
35
+ .P
36
+ The \fBbundle inject\fR command was deprecated in Bundler 2\.1 and will be removed in Bundler 3\.0\.
@@ -19,4 +19,6 @@ Example:
19
19
  bundle inject 'rack' '> 0'
20
20
 
21
21
  This will inject the 'rack' gem with a version greater than 0 in your
22
- [`Gemfile(5)`][Gemfile(5)] and Gemfile.lock
22
+ [`Gemfile(5)`][Gemfile(5)] and Gemfile.lock.
23
+
24
+ The `bundle inject` command was deprecated in Bundler 2.1 and will be removed in Bundler 3.0.