rubygems-update 3.2.21 → 3.2.25

Sign up to get free protection for your applications and to get access to all the features.
Files changed (224) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -0
  3. data/Manifest.txt +4 -6
  4. data/bundler/CHANGELOG.md +63 -0
  5. data/bundler/lib/bundler.rb +4 -9
  6. data/bundler/lib/bundler/build_metadata.rb +2 -2
  7. data/bundler/lib/bundler/cli.rb +7 -0
  8. data/bundler/lib/bundler/cli/cache.rb +1 -1
  9. data/bundler/lib/bundler/cli/doctor.rb +12 -2
  10. data/bundler/lib/bundler/cli/install.rb +5 -18
  11. data/bundler/lib/bundler/cli/list.rb +7 -1
  12. data/bundler/lib/bundler/cli/lock.rb +5 -1
  13. data/bundler/lib/bundler/cli/open.rb +1 -2
  14. data/bundler/lib/bundler/cli/update.rb +9 -4
  15. data/bundler/lib/bundler/current_ruby.rb +4 -4
  16. data/bundler/lib/bundler/definition.rb +48 -93
  17. data/bundler/lib/bundler/dsl.rb +23 -21
  18. data/bundler/lib/bundler/feature_flag.rb +0 -1
  19. data/bundler/lib/bundler/fetcher/downloader.rb +1 -2
  20. data/bundler/lib/bundler/index.rb +1 -5
  21. data/bundler/lib/bundler/installer.rb +4 -4
  22. data/bundler/lib/bundler/installer/gem_installer.rb +3 -16
  23. data/bundler/lib/bundler/installer/standalone.rb +1 -1
  24. data/bundler/lib/bundler/lockfile_parser.rb +3 -20
  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 +1 -1
  28. data/bundler/lib/bundler/man/bundle-check.1 +1 -1
  29. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  30. data/bundler/lib/bundler/man/bundle-config.1 +1 -4
  31. data/bundler/lib/bundler/man/bundle-config.1.ronn +0 -3
  32. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  33. data/bundler/lib/bundler/man/bundle-exec.1 +1 -1
  34. data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
  35. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  36. data/bundler/lib/bundler/man/bundle-init.1 +1 -1
  37. data/bundler/lib/bundler/man/bundle-inject.1 +1 -1
  38. data/bundler/lib/bundler/man/bundle-install.1 +1 -1
  39. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  40. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  41. data/bundler/lib/bundler/man/bundle-open.1 +1 -1
  42. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  43. data/bundler/lib/bundler/man/bundle-platform.1 +1 -1
  44. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  45. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  46. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  47. data/bundler/lib/bundler/man/bundle-update.1 +4 -4
  48. data/bundler/lib/bundler/man/bundle-update.1.ronn +3 -3
  49. data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
  50. data/bundler/lib/bundler/man/bundle.1 +1 -1
  51. data/bundler/lib/bundler/man/gemfile.5 +1 -1
  52. data/bundler/lib/bundler/plugin.rb +2 -0
  53. data/bundler/lib/bundler/plugin/index.rb +4 -1
  54. data/bundler/lib/bundler/plugin/installer.rb +1 -1
  55. data/bundler/lib/bundler/resolver.rb +1 -1
  56. data/bundler/lib/bundler/rubygems_ext.rb +22 -6
  57. data/bundler/lib/bundler/rubygems_gem_installer.rb +5 -1
  58. data/bundler/lib/bundler/runtime.rb +16 -9
  59. data/bundler/lib/bundler/settings.rb +4 -7
  60. data/bundler/lib/bundler/setup.rb +2 -2
  61. data/bundler/lib/bundler/shared_helpers.rb +0 -7
  62. data/bundler/lib/bundler/source/git/git_proxy.rb +1 -2
  63. data/bundler/lib/bundler/source/rubygems.rb +5 -14
  64. data/bundler/lib/bundler/source_list.rb +50 -20
  65. data/bundler/lib/bundler/spec_set.rb +15 -42
  66. data/bundler/lib/bundler/templates/Executable.bundler +6 -6
  67. data/bundler/lib/bundler/version.rb +1 -1
  68. data/bundler/lib/bundler/worker.rb +17 -2
  69. data/lib/rubygems.rb +1 -11
  70. data/lib/rubygems/commands/cert_command.rb +42 -38
  71. data/lib/rubygems/config_file.rb +4 -4
  72. data/lib/rubygems/ext/builder.rb +1 -0
  73. data/lib/rubygems/ext/ext_conf_builder.rb +1 -2
  74. data/lib/rubygems/ext/rake_builder.rb +1 -2
  75. data/lib/rubygems/gemcutter_utilities.rb +12 -4
  76. data/lib/rubygems/package/io_source.rb +4 -0
  77. data/lib/rubygems/remote_fetcher.rb +0 -1
  78. data/lib/rubygems/requirement.rb +2 -21
  79. data/lib/rubygems/s3_uri_signer.rb +0 -1
  80. data/lib/rubygems/safe_yaml.rb +0 -2
  81. data/lib/rubygems/specification.rb +6 -8
  82. data/lib/rubygems/uninstaller.rb +36 -5
  83. data/rubygems-update.gemspec +1 -1
  84. data/test/rubygems/data/null-type.gemspec.rz +0 -0
  85. data/{lib/rubygems/test_case.rb → test/rubygems/helper.rb} +12 -19
  86. data/{lib → test}/rubygems/installer_test_case.rb +1 -1
  87. data/{lib → test}/rubygems/package/tar_test_case.rb +1 -1
  88. data/test/rubygems/test_bundled_ca.rb +1 -1
  89. data/test/rubygems/test_config.rb +1 -1
  90. data/test/rubygems/test_deprecate.rb +1 -1
  91. data/test/rubygems/test_gem.rb +1 -1
  92. data/test/rubygems/test_gem_available_set.rb +1 -1
  93. data/test/rubygems/test_gem_bundler_version_finder.rb +1 -1
  94. data/test/rubygems/test_gem_command.rb +1 -1
  95. data/test/rubygems/test_gem_command_manager.rb +1 -1
  96. data/test/rubygems/test_gem_commands_build_command.rb +1 -1
  97. data/test/rubygems/test_gem_commands_cert_command.rb +1 -1
  98. data/test/rubygems/test_gem_commands_check_command.rb +1 -1
  99. data/test/rubygems/test_gem_commands_cleanup_command.rb +1 -1
  100. data/test/rubygems/test_gem_commands_contents_command.rb +1 -1
  101. data/test/rubygems/test_gem_commands_dependency_command.rb +1 -1
  102. data/test/rubygems/test_gem_commands_environment_command.rb +1 -1
  103. data/test/rubygems/test_gem_commands_fetch_command.rb +1 -1
  104. data/test/rubygems/test_gem_commands_generate_index_command.rb +1 -1
  105. data/test/rubygems/test_gem_commands_help_command.rb +1 -1
  106. data/test/rubygems/test_gem_commands_info_command.rb +1 -1
  107. data/test/rubygems/test_gem_commands_install_command.rb +1 -1
  108. data/test/rubygems/test_gem_commands_list_command.rb +1 -1
  109. data/test/rubygems/test_gem_commands_lock_command.rb +1 -1
  110. data/test/rubygems/test_gem_commands_mirror.rb +1 -1
  111. data/test/rubygems/test_gem_commands_open_command.rb +1 -1
  112. data/test/rubygems/test_gem_commands_outdated_command.rb +1 -1
  113. data/test/rubygems/test_gem_commands_owner_command.rb +1 -1
  114. data/test/rubygems/test_gem_commands_pristine_command.rb +1 -1
  115. data/test/rubygems/test_gem_commands_push_command.rb +1 -1
  116. data/test/rubygems/test_gem_commands_query_command.rb +1 -1
  117. data/test/rubygems/test_gem_commands_search_command.rb +1 -1
  118. data/test/rubygems/test_gem_commands_server_command.rb +1 -1
  119. data/test/rubygems/test_gem_commands_setup_command.rb +4 -4
  120. data/test/rubygems/test_gem_commands_signin_command.rb +1 -1
  121. data/test/rubygems/test_gem_commands_signout_command.rb +1 -1
  122. data/test/rubygems/test_gem_commands_sources_command.rb +1 -1
  123. data/test/rubygems/test_gem_commands_specification_command.rb +1 -1
  124. data/test/rubygems/test_gem_commands_stale_command.rb +1 -1
  125. data/test/rubygems/test_gem_commands_uninstall_command.rb +1 -1
  126. data/test/rubygems/test_gem_commands_unpack_command.rb +1 -1
  127. data/test/rubygems/test_gem_commands_update_command.rb +1 -1
  128. data/test/rubygems/test_gem_commands_which_command.rb +1 -1
  129. data/test/rubygems/test_gem_commands_yank_command.rb +1 -1
  130. data/test/rubygems/test_gem_config_file.rb +1 -1
  131. data/test/rubygems/test_gem_dependency.rb +1 -1
  132. data/test/rubygems/test_gem_dependency_installer.rb +1 -1
  133. data/test/rubygems/test_gem_dependency_list.rb +1 -1
  134. data/test/rubygems/test_gem_dependency_resolution_error.rb +1 -1
  135. data/test/rubygems/test_gem_doctor.rb +1 -1
  136. data/test/rubygems/test_gem_ext_builder.rb +4 -1
  137. data/test/rubygems/test_gem_ext_cmake_builder.rb +1 -1
  138. data/test/rubygems/test_gem_ext_configure_builder.rb +1 -1
  139. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +1 -1
  140. data/test/rubygems/test_gem_ext_rake_builder.rb +3 -1
  141. data/test/rubygems/test_gem_gem_runner.rb +1 -1
  142. data/test/rubygems/test_gem_gemcutter_utilities.rb +13 -1
  143. data/test/rubygems/test_gem_impossible_dependencies_error.rb +1 -1
  144. data/test/rubygems/test_gem_indexer.rb +1 -1
  145. data/test/rubygems/test_gem_install_update_options.rb +1 -1
  146. data/test/rubygems/test_gem_installer.rb +3 -3
  147. data/test/rubygems/test_gem_local_remote_options.rb +1 -1
  148. data/test/rubygems/test_gem_name_tuple.rb +1 -1
  149. data/test/rubygems/test_gem_package.rb +9 -2
  150. data/test/rubygems/test_gem_package_old.rb +1 -1
  151. data/test/rubygems/test_gem_package_tar_header.rb +1 -1
  152. data/test/rubygems/test_gem_package_tar_reader.rb +1 -1
  153. data/test/rubygems/test_gem_package_tar_reader_entry.rb +1 -1
  154. data/test/rubygems/test_gem_package_tar_writer.rb +1 -1
  155. data/test/rubygems/test_gem_package_task.rb +1 -1
  156. data/test/rubygems/test_gem_path_support.rb +1 -1
  157. data/test/rubygems/test_gem_platform.rb +1 -1
  158. data/test/rubygems/test_gem_rdoc.rb +1 -1
  159. data/test/rubygems/test_gem_remote_fetcher.rb +1 -1
  160. data/test/rubygems/test_gem_request.rb +1 -1
  161. data/test/rubygems/test_gem_request_connection_pools.rb +1 -1
  162. data/test/rubygems/test_gem_request_set.rb +1 -1
  163. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +1 -1
  164. data/test/rubygems/test_gem_request_set_lockfile.rb +1 -1
  165. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +1 -1
  166. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +1 -1
  167. data/test/rubygems/test_gem_requirement.rb +35 -1
  168. data/test/rubygems/test_gem_resolver.rb +1 -1
  169. data/test/rubygems/test_gem_resolver_activation_request.rb +1 -1
  170. data/test/rubygems/test_gem_resolver_api_set.rb +1 -1
  171. data/test/rubygems/test_gem_resolver_api_specification.rb +1 -1
  172. data/test/rubygems/test_gem_resolver_best_set.rb +1 -1
  173. data/test/rubygems/test_gem_resolver_composed_set.rb +1 -1
  174. data/test/rubygems/test_gem_resolver_conflict.rb +1 -1
  175. data/test/rubygems/test_gem_resolver_dependency_request.rb +1 -1
  176. data/test/rubygems/test_gem_resolver_git_set.rb +1 -1
  177. data/test/rubygems/test_gem_resolver_git_specification.rb +2 -1
  178. data/test/rubygems/test_gem_resolver_index_set.rb +1 -1
  179. data/test/rubygems/test_gem_resolver_index_specification.rb +1 -1
  180. data/test/rubygems/test_gem_resolver_installed_specification.rb +1 -1
  181. data/test/rubygems/test_gem_resolver_installer_set.rb +1 -1
  182. data/test/rubygems/test_gem_resolver_local_specification.rb +1 -1
  183. data/test/rubygems/test_gem_resolver_lock_set.rb +1 -1
  184. data/test/rubygems/test_gem_resolver_lock_specification.rb +1 -1
  185. data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -1
  186. data/test/rubygems/test_gem_resolver_specification.rb +1 -1
  187. data/test/rubygems/test_gem_resolver_vendor_set.rb +1 -1
  188. data/test/rubygems/test_gem_resolver_vendor_specification.rb +1 -1
  189. data/test/rubygems/test_gem_security.rb +1 -1
  190. data/test/rubygems/test_gem_security_policy.rb +1 -1
  191. data/test/rubygems/test_gem_security_signer.rb +1 -1
  192. data/test/rubygems/test_gem_security_trust_dir.rb +1 -1
  193. data/test/rubygems/test_gem_server.rb +5 -5
  194. data/test/rubygems/test_gem_silent_ui.rb +1 -1
  195. data/test/rubygems/test_gem_source.rb +1 -1
  196. data/test/rubygems/test_gem_source_fetch_problem.rb +1 -1
  197. data/test/rubygems/test_gem_source_git.rb +1 -1
  198. data/test/rubygems/test_gem_source_installed.rb +1 -1
  199. data/test/rubygems/test_gem_source_list.rb +1 -1
  200. data/test/rubygems/test_gem_source_local.rb +1 -1
  201. data/test/rubygems/test_gem_source_lock.rb +1 -1
  202. data/test/rubygems/test_gem_source_specific_file.rb +1 -1
  203. data/test/rubygems/test_gem_source_subpath_problem.rb +1 -1
  204. data/test/rubygems/test_gem_source_vendor.rb +1 -1
  205. data/test/rubygems/test_gem_spec_fetcher.rb +1 -1
  206. data/test/rubygems/test_gem_specification.rb +1 -165
  207. data/test/rubygems/test_gem_stream_ui.rb +1 -1
  208. data/test/rubygems/test_gem_stub_specification.rb +1 -1
  209. data/test/rubygems/test_gem_text.rb +1 -1
  210. data/test/rubygems/test_gem_uninstaller.rb +10 -3
  211. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +1 -1
  212. data/test/rubygems/test_gem_uri_formatter.rb +1 -1
  213. data/test/rubygems/test_gem_util.rb +1 -1
  214. data/test/rubygems/test_gem_validator.rb +1 -1
  215. data/test/rubygems/test_gem_version.rb +1 -1
  216. data/test/rubygems/test_gem_version_option.rb +1 -1
  217. data/test/rubygems/test_kernel.rb +1 -1
  218. data/test/rubygems/test_project_sanity.rb +1 -1
  219. data/test/rubygems/test_remote_fetch_error.rb +1 -1
  220. data/test/rubygems/test_require.rb +1 -1
  221. data/{lib/rubygems/test_utilities.rb → test/rubygems/utilities.rb} +0 -2
  222. metadata +7 -9
  223. data/Rakefile +0 -401
  224. data/lib/rubygems/syck_hack.rb +0 -77
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7b503ab1ec419e166f305736955f0539fae884d2653b84d57147a5e6b63e484f
4
- data.tar.gz: 0c1840cb14e65c6711aa0dee3baba49e4cbf725839faa2131c32647282eb5a0a
3
+ metadata.gz: 6a868e187974e482e1edf68ec0ff267398188892b84efd935be11cb3b841c278
4
+ data.tar.gz: e218469751b1378c58b757575903cb34f85837fcbdba0856b0ac1be9383acdc2
5
5
  SHA512:
6
- metadata.gz: 3bd0087496816b8814d90435c8401cba34779442f6830a9a247c50b2f39a1d7ac5accf515e7ba7ea84ea7739e619a57fa8ab06e7aacb9b7ede5029245fbb1c72
7
- data.tar.gz: 3500016861f8abbd10d16e6d37d674430d4cfa709fd5769b12f0fdbfea8b2059dba86234968b49c4f66e1d74b784c570511c468ed6528bb87f3b09bb9b5f775a
6
+ metadata.gz: 36a8dd7b54b4cff11c91a07c73896df1b502ffa7e2edae1bee6146b91141029938ca19d59492b801cdd129b3a5a3e3c22c9a44ebce3f457e2583b10f9927d2cd
7
+ data.tar.gz: 97f3152994341dcc1004b661beee9599b09a88727969014387acf45124b309db8751d08a562314f52924cd916545e69cd2249339a68079794e2cac379c11d7fb
data/CHANGELOG.md CHANGED
@@ -1,3 +1,48 @@
1
+ # 3.2.25 / 2021-07-30
2
+
3
+ ## Enhancements:
4
+
5
+ * Don't load the `base64` library since it's not used. Pull request #4785
6
+ by deivid-rodriguez
7
+ * Don't load the `resolv` library since it's not used. Pull request #4784
8
+ by deivid-rodriguez
9
+ * Lazily load `shellwords` library. Pull request #4783 by deivid-rodriguez
10
+ * Check requirements class before loading marshalled requirements. Pull
11
+ request #4651 by nobu
12
+
13
+ ## Bug fixes:
14
+
15
+ * Add missing `require 'fileutils'` in `Gem::ConfigFile`. Pull request
16
+ #4768 by ybiquitous
17
+
18
+ # 3.2.24 / 2021-07-15
19
+
20
+ ## Bug fixes:
21
+
22
+ * Fix contradictory message about deletion of default gem. Pull request
23
+ #4739 by jaredbeck
24
+
25
+ ## Documentation:
26
+
27
+ * Add a description about `GEM_HOST_OTP_CODE` to help text. Pull request
28
+ #4742 by ybiquitous
29
+
30
+ # 3.2.23 / 2021-07-09
31
+
32
+ ## Enhancements:
33
+
34
+ * Rewind IO source to allow working with contents in memory. Pull request
35
+ #4729 by drcapulet
36
+
37
+ # 3.2.22 / 2021-07-06
38
+
39
+ ## Enhancements:
40
+
41
+ * Allow setting `--otp` via `GEM_HOST_OTP_CODE`. Pull request #4697 by
42
+ CGA1123
43
+ * Fixes for the edge case when openssl library is missing. Pull request
44
+ #4695 by rhenium
45
+
1
46
  # 3.2.21 / 2021-06-23
2
47
 
3
48
  ## Enhancements:
data/Manifest.txt CHANGED
@@ -7,7 +7,6 @@ MIT.txt
7
7
  Manifest.txt
8
8
  POLICIES.md
9
9
  README.md
10
- Rakefile
11
10
  UPGRADING.md
12
11
  bin/gem
13
12
  bin/update_rubygems
@@ -379,7 +378,6 @@ lib/rubygems/install_default_message.rb
379
378
  lib/rubygems/install_message.rb
380
379
  lib/rubygems/install_update_options.rb
381
380
  lib/rubygems/installer.rb
382
- lib/rubygems/installer_test_case.rb
383
381
  lib/rubygems/installer_uninstaller_utils.rb
384
382
  lib/rubygems/local_remote_options.rb
385
383
  lib/rubygems/mock_gem_ui.rb
@@ -394,7 +392,6 @@ lib/rubygems/package/source.rb
394
392
  lib/rubygems/package/tar_header.rb
395
393
  lib/rubygems/package/tar_reader.rb
396
394
  lib/rubygems/package/tar_reader/entry.rb
397
- lib/rubygems/package/tar_test_case.rb
398
395
  lib/rubygems/package/tar_writer.rb
399
396
  lib/rubygems/package_task.rb
400
397
  lib/rubygems/path_support.rb
@@ -486,9 +483,6 @@ lib/rubygems/ssl_certs/.document
486
483
  lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem
487
484
  lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem
488
485
  lib/rubygems/stub_specification.rb
489
- lib/rubygems/syck_hack.rb
490
- lib/rubygems/test_case.rb
491
- lib/rubygems/test_utilities.rb
492
486
  lib/rubygems/text.rb
493
487
  lib/rubygems/uninstaller.rb
494
488
  lib/rubygems/uri_formatter.rb
@@ -528,6 +522,8 @@ test/rubygems/good_rake.rb
528
522
  test/rubygems/grandchild_cert.pem
529
523
  test/rubygems/grandchild_cert_32.pem
530
524
  test/rubygems/grandchild_key.pem
525
+ test/rubygems/helper.rb
526
+ test/rubygems/installer_test_case.rb
531
527
  test/rubygems/invalid_client.pem
532
528
  test/rubygems/invalid_issuer_cert.pem
533
529
  test/rubygems/invalid_issuer_cert_32.pem
@@ -537,6 +533,7 @@ test/rubygems/invalid_signer_cert_32.pem
537
533
  test/rubygems/invalidchild_cert.pem
538
534
  test/rubygems/invalidchild_cert_32.pem
539
535
  test/rubygems/invalidchild_key.pem
536
+ test/rubygems/package/tar_test_case.rb
540
537
  test/rubygems/packages/ascii_binder-0.1.10.1.gem
541
538
  test/rubygems/packages/ill-formatted-platform-1.0.0.10.gem
542
539
  test/rubygems/plugin/exception/rubygems_plugin.rb
@@ -690,6 +687,7 @@ test/rubygems/test_kernel.rb
690
687
  test/rubygems/test_project_sanity.rb
691
688
  test/rubygems/test_remote_fetch_error.rb
692
689
  test/rubygems/test_require.rb
690
+ test/rubygems/utilities.rb
693
691
  test/rubygems/wrong_key_cert.pem
694
692
  test/rubygems/wrong_key_cert_32.pem
695
693
  test/test_changelog_generator.rb
data/bundler/CHANGELOG.md CHANGED
@@ -1,3 +1,66 @@
1
+ # 2.2.25 (July 30, 2021)
2
+
3
+ ## Deprecations:
4
+
5
+ - Deprecate Gemfile without an explicit global source [#4779](https://github.com/rubygems/rubygems/pull/4779)
6
+ - Deprecate `bundle cache --path` [#4496](https://github.com/rubygems/rubygems/pull/4496)
7
+
8
+ ## Enhancements:
9
+
10
+ - Give better errors when materialization fails [#4788](https://github.com/rubygems/rubygems/pull/4788)
11
+ - Lazily load `shellwords` library [#4786](https://github.com/rubygems/rubygems/pull/4786)
12
+ - Show original error and backtrace directly on `bundle install` errors instead of a more brittle `gem install` hint [#4778](https://github.com/rubygems/rubygems/pull/4778)
13
+ - Remove LoadError message in regards to requiring a relative file [#4772](https://github.com/rubygems/rubygems/pull/4772)
14
+
15
+ ## Bug fixes:
16
+
17
+ - Fix `BUNDLE_USER_CONFIG` no longer respected as config location [#4797](https://github.com/rubygems/rubygems/pull/4797)
18
+ - Fix `--standalone` installation of default gems [#4782](https://github.com/rubygems/rubygems/pull/4782)
19
+ - Fix `--quiet` flag not printing warnings [#4781](https://github.com/rubygems/rubygems/pull/4781)
20
+ - Fix bundler binstub version selection [#4775](https://github.com/rubygems/rubygems/pull/4775)
21
+ - Fix interrupt handling in Bundler workers [#4767](https://github.com/rubygems/rubygems/pull/4767)
22
+
23
+ # 2.2.24 (July 15, 2021)
24
+
25
+ ## Bug fixes:
26
+
27
+ - Fix development gem unintentionally removed on an edge case [#4751](https://github.com/rubygems/rubygems/pull/4751)
28
+ - Fix dangling empty plugin hooks [#4755](https://github.com/rubygems/rubygems/pull/4755)
29
+ - Fix `bundle plugin install --help` showing `bundle install`'s help [#4756](https://github.com/rubygems/rubygems/pull/4756)
30
+ - Make sure `bundle check` shows uniq missing gems [#4749](https://github.com/rubygems/rubygems/pull/4749)
31
+
32
+ ## Performance:
33
+
34
+ - Slightly speed up `bundler/setup` [#4750](https://github.com/rubygems/rubygems/pull/4750)
35
+
36
+ # 2.2.23 (July 9, 2021)
37
+
38
+ ## Enhancements:
39
+
40
+ - Fix `bundle install` on truffleruby selecting incorrect variant for `sorbet-static` gem [#4625](https://github.com/rubygems/rubygems/pull/4625)
41
+ - Spare meaningless warning on read-only bundle invocations [#4724](https://github.com/rubygems/rubygems/pull/4724)
42
+
43
+ ## Bug fixes:
44
+
45
+ - Fix incorrect warning about duplicated gems in the Gemfile [#4732](https://github.com/rubygems/rubygems/pull/4732)
46
+ - Fix `bundle plugin install foo` crashing [#4734](https://github.com/rubygems/rubygems/pull/4734)
47
+
48
+ # 2.2.22 (July 6, 2021)
49
+
50
+ ## Enhancements:
51
+
52
+ - Never downgrade indirect dependencies when running `bundle update` [#4713](https://github.com/rubygems/rubygems/pull/4713)
53
+ - Fix `getaddrinfo` errors not treated as fatal on non darwin platforms [#4703](https://github.com/rubygems/rubygems/pull/4703)
54
+
55
+ ## Bug fixes:
56
+
57
+ - Fix `bundle update <gem>` sometimes hanging and `bundle lock --update` not being able to update an insecure lockfile to the new format if it requires downgrades [#4652](https://github.com/rubygems/rubygems/pull/4652)
58
+ - Fix edge case combination of DSL methods and duplicated sources causing gems to not be found [#4711](https://github.com/rubygems/rubygems/pull/4711)
59
+ - Fix `bundle doctor` crashing when finding a broken symlink [#4707](https://github.com/rubygems/rubygems/pull/4707)
60
+ - Fix incorrect re-resolve edge case [#4700](https://github.com/rubygems/rubygems/pull/4700)
61
+ - Fix some gems being unintentionally locked under multiple lockfile sections [#4701](https://github.com/rubygems/rubygems/pull/4701)
62
+ - Fix `--conservative` flag unexpectedly updating indirect dependencies [#4692](https://github.com/rubygems/rubygems/pull/4692)
63
+
1
64
  # 2.2.21 (June 23, 2021)
2
65
 
3
66
  ## Security fixes:
@@ -236,8 +236,9 @@ module Bundler
236
236
  end
237
237
 
238
238
  if warning
239
- user_home = tmp_home_path(warning)
240
- Bundler.ui.warn "#{warning}\nBundler will use `#{user_home}' as your home directory temporarily.\n"
239
+ Bundler.ui.warn "#{warning}\n"
240
+ user_home = tmp_home_path
241
+ Bundler.ui.warn "Bundler will use `#{user_home}' as your home directory temporarily.\n"
241
242
  user_home
242
243
  else
243
244
  Pathname.new(home)
@@ -652,10 +653,6 @@ EOF
652
653
  rescue ScriptError, StandardError => e
653
654
  msg = "There was an error while loading `#{path.basename}`: #{e.message}"
654
655
 
655
- if e.is_a?(LoadError)
656
- msg += "\nDoes it try to require a relative path? That's been removed in Ruby 1.9"
657
- end
658
-
659
656
  raise GemspecError, Dsl::DSLError.new(msg, path, e.backtrace, contents)
660
657
  end
661
658
 
@@ -684,15 +681,13 @@ EOF
684
681
  Bundler.rubygems.clear_paths
685
682
  end
686
683
 
687
- def tmp_home_path(warning)
684
+ def tmp_home_path
688
685
  Kernel.send(:require, "tmpdir")
689
686
  SharedHelpers.filesystem_access(Dir.tmpdir) do
690
687
  path = Bundler.tmp
691
688
  at_exit { Bundler.rm_rf(path) }
692
689
  path
693
690
  end
694
- rescue RuntimeError => e
695
- raise e.exception("#{warning}\nBundler also failed to create a temporary home directory':\n#{e}")
696
691
  end
697
692
 
698
693
  # @param env [Hash]
@@ -4,8 +4,8 @@ module Bundler
4
4
  # Represents metadata from when the Bundler gem was built.
5
5
  module BuildMetadata
6
6
  # begin ivars
7
- @built_at = "2021-06-23".freeze
8
- @git_commit_sha = "0b5db72094".freeze
7
+ @built_at = "2021-07-30".freeze
8
+ @git_commit_sha = "7f0f257c7a".freeze
9
9
  @release = true
10
10
  # end ivars
11
11
 
@@ -14,6 +14,7 @@ module Bundler
14
14
  COMMAND_ALIASES = {
15
15
  "check" => "c",
16
16
  "install" => "i",
17
+ "plugin" => "",
17
18
  "list" => "ls",
18
19
  "exec" => ["e", "ex", "exe"],
19
20
  "cache" => ["package", "pack"],
@@ -455,6 +456,12 @@ module Bundler
455
456
  "do in future versions. Instead please use `bundle config set cache_all true`, " \
456
457
  "and stop using this flag" if ARGV.include?("--all")
457
458
 
459
+ SharedHelpers.major_deprecation 2,
460
+ "The `--path` flag is deprecated because its semantics are unclear. " \
461
+ "Use `bundle config cache_path` to configure the path of your cache of gems, " \
462
+ "and `bundle config path` to configure the path where your gems are installed, " \
463
+ "and stop using this flag" if ARGV.include?("--path")
464
+
458
465
  require_relative "cli/cache"
459
466
  Cache.new(options).run
460
467
  end
@@ -9,7 +9,7 @@ module Bundler
9
9
  end
10
10
 
11
11
  def run
12
- Bundler.ui.level = "error" if options[:quiet]
12
+ Bundler.ui.level = "warn" if options[:quiet]
13
13
  Bundler.settings.set_command_option_if_given :path, options[:path]
14
14
  Bundler.settings.set_command_option_if_given :cache_path, options["cache-path"]
15
15
 
@@ -61,7 +61,7 @@ module Bundler
61
61
  end
62
62
 
63
63
  def run
64
- Bundler.ui.level = "error" if options[:quiet]
64
+ Bundler.ui.level = "warn" if options[:quiet]
65
65
  Bundler.settings.validate!
66
66
  check!
67
67
 
@@ -100,8 +100,11 @@ module Bundler
100
100
  files_not_readable_or_writable = []
101
101
  files_not_rw_and_owned_by_different_user = []
102
102
  files_not_owned_by_current_user_but_still_rw = []
103
+ broken_symlinks = []
103
104
  Find.find(Bundler.bundle_path.to_s).each do |f|
104
- if !File.writable?(f) || !File.readable?(f)
105
+ if !File.exist?(f)
106
+ broken_symlinks << f
107
+ elsif !File.writable?(f) || !File.readable?(f)
105
108
  if File.stat(f).uid != Process.uid
106
109
  files_not_rw_and_owned_by_different_user << f
107
110
  else
@@ -113,6 +116,13 @@ module Bundler
113
116
  end
114
117
 
115
118
  ok = true
119
+
120
+ if broken_symlinks.any?
121
+ Bundler.ui.warn "Broken links exist in the Bundler home. Please report them to the offending gem's upstream repo. These files are:\n - #{broken_symlinks.join("\n - ")}"
122
+
123
+ ok = false
124
+ end
125
+
116
126
  if files_not_owned_by_current_user_but_still_rw.any?
117
127
  Bundler.ui.warn "Files exist in the Bundler home that are owned by another " \
118
128
  "user, but are still readable/writable. These files are:\n - #{files_not_owned_by_current_user_but_still_rw.join("\n - ")}"
@@ -8,7 +8,7 @@ module Bundler
8
8
  end
9
9
 
10
10
  def run
11
- Bundler.ui.level = "error" if options[:quiet]
11
+ Bundler.ui.level = "warn" if options[:quiet]
12
12
 
13
13
  warn_if_root
14
14
 
@@ -60,7 +60,7 @@ module Bundler
60
60
  installer = Installer.install(Bundler.root, definition, options)
61
61
 
62
62
  Bundler.settings.temporary(:cache_all_platforms => options[:local] ? false : Bundler.settings[:cache_all_platforms]) do
63
- Bundler.load.cache if Bundler.app_cache.exist? && !options["no-cache"] && !Bundler.frozen_bundle?
63
+ Bundler.load.cache(nil, options[:local]) if Bundler.app_cache.exist? && !options["no-cache"] && !Bundler.frozen_bundle?
64
64
  end
65
65
 
66
66
  Bundler.ui.confirm "Bundle complete! #{dependencies_count_for(definition)}, #{gems_installed_for(definition)}."
@@ -83,28 +83,15 @@ module Bundler
83
83
  end
84
84
 
85
85
  Bundler::CLI::Common.output_fund_metadata_summary
86
- rescue GemNotFound, VersionConflict => e
87
- if options[:local] && Bundler.app_cache.exist?
88
- Bundler.ui.warn "Some gems seem to be missing from your #{Bundler.settings.app_cache_path} directory."
89
- end
90
-
91
- unless Bundler.definition.has_rubygems_remotes?
92
- Bundler.ui.warn <<-WARN, :wrap => true
93
- Your Gemfile has no gem server sources. If you need gems that are \
94
- not already on your machine, add a line like this to your Gemfile:
95
- source 'https://rubygems.org'
96
- WARN
97
- end
98
- raise e
99
- rescue Gem::InvalidSpecificationException => e
86
+ rescue Gem::InvalidSpecificationException
100
87
  Bundler.ui.warn "You have one or more invalid gemspecs that need to be fixed."
101
- raise e
88
+ raise
102
89
  end
103
90
 
104
91
  private
105
92
 
106
93
  def warn_if_root
107
- return if Bundler.settings[:silence_root_warning] || Bundler::WINDOWS || !Process.uid.zero?
94
+ return if Bundler.settings[:silence_root_warning] || Gem.win_platform? || !Process.uid.zero?
108
95
  Bundler.ui.warn "Don't run Bundler as root. Bundler can ask for sudo " \
109
96
  "if it is needed, and installing your bundle as root will break this " \
110
97
  "application for all non-root users on this machine.", :wrap => true
@@ -16,7 +16,13 @@ module Bundler
16
16
  specs = if @only_group.any? || @without_group.any?
17
17
  filtered_specs_by_groups
18
18
  else
19
- Bundler.load.specs
19
+ begin
20
+ Bundler.load.specs
21
+ rescue GemNotFound => e
22
+ Bundler.ui.error e.message
23
+ Bundler.ui.warn "Install missing gems with `bundle install`."
24
+ exit 1
25
+ end
20
26
  end.reject {|s| s.name == "bundler" }.sort_by(&:name)
21
27
 
22
28
  return Bundler.ui.info "No gems in the Gemfile" if specs.empty?
@@ -21,9 +21,13 @@ module Bundler
21
21
  Bundler::Fetcher.disable_endpoint = options["full-index"]
22
22
 
23
23
  update = options[:update]
24
+ conservative = options[:conservative]
25
+
24
26
  if update.is_a?(Array) # unlocking specific gems
25
27
  Bundler::CLI::Common.ensure_all_gems_in_lockfile!(update)
26
- update = { :gems => update, :lock_shared_dependencies => options[:conservative] }
28
+ update = { :gems => update, :conservative => conservative }
29
+ elsif update
30
+ update = { :conservative => conservative } if conservative
27
31
  end
28
32
  definition = Bundler.definition(update)
29
33
 
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "shellwords"
4
-
5
3
  module Bundler
6
4
  class CLI::Open
7
5
  attr_reader :options, :name
@@ -19,6 +17,7 @@ module Bundler
19
17
  else
20
18
  path = spec.full_gem_path
21
19
  Dir.chdir(path) do
20
+ require "shellwords"
22
21
  command = Shellwords.split(editor) + [path]
23
22
  Bundler.with_original_env do
24
23
  system(*command)
@@ -9,7 +9,7 @@ module Bundler
9
9
  end
10
10
 
11
11
  def run
12
- Bundler.ui.level = "error" if options[:quiet]
12
+ Bundler.ui.level = "warn" if options[:quiet]
13
13
 
14
14
  Plugin.gemfile_install(Bundler.default_gemfile) if Bundler.feature_flag.plugins?
15
15
 
@@ -27,9 +27,14 @@ module Bundler
27
27
  raise InvalidOption, "Cannot specify --all along with specific options."
28
28
  end
29
29
 
30
+ conservative = options[:conservative]
31
+
30
32
  if full_update
31
- # We're doing a full update
32
- Bundler.definition(true)
33
+ if conservative
34
+ Bundler.definition(:conservative => conservative)
35
+ else
36
+ Bundler.definition(true)
37
+ end
33
38
  else
34
39
  unless Bundler.default_lockfile.exist?
35
40
  raise GemfileLockNotFound, "This Bundle hasn't been installed yet. " \
@@ -43,7 +48,7 @@ module Bundler
43
48
  end
44
49
 
45
50
  Bundler.definition(:gems => gems, :sources => sources, :ruby => options[:ruby],
46
- :lock_shared_dependencies => options[:conservative],
51
+ :conservative => conservative,
47
52
  :bundler => options[:bundler])
48
53
  end
49
54
 
@@ -65,19 +65,19 @@ module Bundler
65
65
  end
66
66
 
67
67
  def mswin?
68
- Bundler::WINDOWS
68
+ Gem.win_platform?
69
69
  end
70
70
 
71
71
  def mswin64?
72
- Bundler::WINDOWS && Bundler.local_platform != Gem::Platform::RUBY && Bundler.local_platform.os == "mswin64" && Bundler.local_platform.cpu == "x64"
72
+ Gem.win_platform? && Bundler.local_platform != Gem::Platform::RUBY && Bundler.local_platform.os == "mswin64" && Bundler.local_platform.cpu == "x64"
73
73
  end
74
74
 
75
75
  def mingw?
76
- Bundler::WINDOWS && Bundler.local_platform != Gem::Platform::RUBY && Bundler.local_platform.os == "mingw32" && Bundler.local_platform.cpu != "x64"
76
+ Gem.win_platform? && Bundler.local_platform != Gem::Platform::RUBY && Bundler.local_platform.os == "mingw32" && Bundler.local_platform.cpu != "x64"
77
77
  end
78
78
 
79
79
  def x64_mingw?
80
- Bundler::WINDOWS && Bundler.local_platform != Gem::Platform::RUBY && Bundler.local_platform.os == "mingw32" && Bundler.local_platform.cpu == "x64"
80
+ Gem.win_platform? && Bundler.local_platform != Gem::Platform::RUBY && Bundler.local_platform.os == "mingw32" && Bundler.local_platform.cpu == "x64"
81
81
  end
82
82
 
83
83
  (KNOWN_MINOR_VERSIONS + KNOWN_MAJOR_VERSIONS).each do |version|