rubygems-update 3.2.12 → 3.2.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +58 -8
  3. data/CONTRIBUTING.md +2 -2
  4. data/Manifest.txt +1 -0
  5. data/Rakefile +7 -8
  6. data/bundler/CHANGELOG.md +79 -5
  7. data/bundler/lib/bundler/build_metadata.rb +2 -2
  8. data/bundler/lib/bundler/cli.rb +3 -2
  9. data/bundler/lib/bundler/cli/common.rb +15 -2
  10. data/bundler/lib/bundler/cli/gem.rb +31 -17
  11. data/bundler/lib/bundler/cli/outdated.rb +1 -1
  12. data/bundler/lib/bundler/compact_index_client/updater.rb +10 -6
  13. data/bundler/lib/bundler/current_ruby.rb +1 -0
  14. data/bundler/lib/bundler/definition.rb +49 -34
  15. data/bundler/lib/bundler/dsl.rb +36 -25
  16. data/bundler/lib/bundler/feature_flag.rb +0 -1
  17. data/bundler/lib/bundler/fetcher.rb +2 -1
  18. data/bundler/lib/bundler/fetcher/downloader.rb +8 -4
  19. data/bundler/lib/bundler/gem_helper.rb +16 -0
  20. data/bundler/lib/bundler/injector.rb +2 -2
  21. data/bundler/lib/bundler/inline.rb +2 -1
  22. data/bundler/lib/bundler/installer/parallel_installer.rb +36 -15
  23. data/bundler/lib/bundler/lazy_specification.rb +6 -1
  24. data/bundler/lib/bundler/lockfile_parser.rb +3 -13
  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 +21 -4
  31. data/bundler/lib/bundler/man/bundle-config.1.ronn +21 -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 +1 -1
  48. data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
  49. data/bundler/lib/bundler/man/bundle.1 +1 -1
  50. data/bundler/lib/bundler/man/gemfile.5 +1 -1
  51. data/bundler/lib/bundler/plugin.rb +3 -2
  52. data/bundler/lib/bundler/plugin/api/source.rb +7 -0
  53. data/bundler/lib/bundler/plugin/installer.rb +8 -10
  54. data/bundler/lib/bundler/plugin/source_list.rb +4 -0
  55. data/bundler/lib/bundler/resolver.rb +34 -36
  56. data/bundler/lib/bundler/retry.rb +1 -1
  57. data/bundler/lib/bundler/settings.rb +60 -10
  58. data/bundler/lib/bundler/source.rb +6 -0
  59. data/bundler/lib/bundler/source/metadata.rb +0 -4
  60. data/bundler/lib/bundler/source/path.rb +3 -1
  61. data/bundler/lib/bundler/source/path/installer.rb +1 -1
  62. data/bundler/lib/bundler/source/rubygems.rb +22 -6
  63. data/bundler/lib/bundler/source_list.rb +28 -21
  64. data/bundler/lib/bundler/spec_set.rb +18 -5
  65. data/bundler/lib/bundler/templates/Gemfile +1 -1
  66. data/bundler/lib/bundler/templates/gems.rb +1 -1
  67. data/bundler/lib/bundler/templates/newgem/README.md.tt +5 -3
  68. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +2 -4
  69. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +1 -1
  70. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +1 -1
  71. data/bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +1 -1
  72. data/bundler/lib/bundler/version.rb +1 -1
  73. data/lib/rubygems.rb +4 -4
  74. data/lib/rubygems/commands/install_command.rb +1 -1
  75. data/lib/rubygems/commands/open_command.rb +1 -1
  76. data/lib/rubygems/commands/update_command.rb +21 -3
  77. data/lib/rubygems/commands/yank_command.rb +1 -1
  78. data/lib/rubygems/core_ext/tcpsocket_init.rb +4 -1
  79. data/lib/rubygems/defaults.rb +1 -1
  80. data/lib/rubygems/deprecate.rb +3 -1
  81. data/lib/rubygems/indexer.rb +1 -1
  82. data/lib/rubygems/installer.rb +5 -2
  83. data/lib/rubygems/package.rb +1 -8
  84. data/lib/rubygems/remote_fetcher.rb +3 -8
  85. data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb +1 -1
  86. data/lib/rubygems/security/trust_dir.rb +1 -0
  87. data/lib/rubygems/test_utilities.rb +1 -1
  88. data/rubygems-update.gemspec +1 -1
  89. data/test/rubygems/packages/ascii_binder-0.1.10.1.gem +0 -0
  90. data/test/rubygems/test_deprecate.rb +46 -2
  91. data/test/rubygems/test_gem.rb +2 -8
  92. data/test/rubygems/test_gem_commands_update_command.rb +28 -1
  93. data/test/rubygems/test_gem_installer.rb +20 -0
  94. data/test/rubygems/test_gem_package.rb +1 -1
  95. data/test/rubygems/test_gem_remote_fetcher.rb +38 -6
  96. metadata +4 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d1f42e41887b87a2787222de88454c6fe46c91e52133145d44d6d1af5506252d
4
- data.tar.gz: 6f30bb45a6ae5452b4899df880bafb667ffa19e1190035edb0311e84037944f0
3
+ metadata.gz: dcfc421015c33e4d4d5d8239aa5ba4f8355677b0509a7e83cb8e13fd22a8ef27
4
+ data.tar.gz: b535b85781ca843a1a876770a42a495f2384bf698d1d2e8dbabba15a5e0e0ea0
5
5
  SHA512:
6
- metadata.gz: 6131db8f14cd1ae89b011d14c4074fc1ee6b5ba9173aa023a1fb20baf5860a1dccec7916cc5650e02109d4c449b5300e01b4e15cd0cfa7572432025dc360cfc1
7
- data.tar.gz: dd677ed5e9bc15e982ce9ce77793a25a638350568bcc4061f581a7d72a9ea95c982f1a89543c482bfaf6e701f6616541b60319eb4ba9ae6c5f551396ab760db6
6
+ metadata.gz: 13c39ab5f867862e4a4b54e592fb8e7cddc2832dd2d57b54698887b618ff5785f33e06860129c9c85bc8ed63fb87a9dbb4789532c6824f44dbbbb3068307e613
7
+ data.tar.gz: 780f6bab25cdb0c7fc4f328c632dcaaa60275e0bb823b5b4b891780a69df3dc6cf1b3ee8488dd4472f6c03cb382daf5069584b39ba756d115f23ba9bfae70e9d
data/CHANGELOG.md CHANGED
@@ -1,3 +1,53 @@
1
+ # 3.2.17 / 2021-05-05
2
+
3
+ ## Enhancements:
4
+
5
+ * Only print month & year in deprecation messages. Pull request #3085 by
6
+ Schwad
7
+ * Make deprecate method support ruby3's keyword arguments. Pull request
8
+ #4558 by mame
9
+ * Update the default bindir on macOS. Pull request #4524 by nobu
10
+ * Prefer File.open instead of Kernel#open. Pull request #4529 by mame
11
+
12
+ ## Documentation:
13
+
14
+ * Fix usage messages to reflect the current POSIX-compatible behaviour.
15
+ Pull request #4551 by graywolf-at-work
16
+
17
+ # 3.2.16 / 2021-04-08
18
+
19
+ ## Bug fixes:
20
+
21
+ * Correctly handle symlinks. Pull request #2836 by voxik
22
+
23
+ # 3.2.15 / 2021-03-19
24
+
25
+ ## Enhancements:
26
+
27
+ * Prevent downgrades to untested rubygems versions. Pull request #4460 by
28
+ deivid-rodriguez
29
+
30
+ ## Bug fixes:
31
+
32
+ * Fix missing require breaking `gem cert`. Pull request #4464 by lukehinds
33
+
34
+ # 3.2.14 / 2021-03-08
35
+
36
+ ## Enhancements:
37
+
38
+ * Less wrapping of network errors. Pull request #4064 by deivid-rodriguez
39
+
40
+ ## Bug fixes:
41
+
42
+ * Revert addition of support for `musl` variants to restore graceful
43
+ fallback on Alpine. Pull request #4434 by deivid-rodriguez
44
+
45
+ # 3.2.13 / 2021-03-03
46
+
47
+ ## Bug fixes:
48
+
49
+ * Support non-gnu libc linux platforms. Pull request #4082 by lloeki
50
+
1
51
  # 3.2.12 / 2021-03-01
2
52
 
3
53
  ## Bug fixes:
@@ -689,7 +739,7 @@
689
739
  * Clean which command. Pull request #2801 by Luis Sagastume.
690
740
  * Upgrading S3 source signature to AWS SigV4. Pull request #2807 by
691
741
  Alexander Pakulov.
692
- * Remove missleading comment, no reason to move Gem.host to Gem::Util.
742
+ * Remove misleading comment, no reason to move Gem.host to Gem::Util.
693
743
  Pull request #2811 by Luis Sagastume.
694
744
  * Drop support for 'gem env packageversion'. Pull request #2813 by Luis
695
745
  Sagastume.
@@ -1689,7 +1739,7 @@ Security fixes:
1689
1739
  * Clean up the PathSupport object. Pull request #1094 by Aaron Patterson.
1690
1740
  * Join with File::PATH_SEPARATOR in Gem.use_paths. Pull request #1476 by
1691
1741
  Samuel E. Giddins.
1692
- * Handle when the gem home and gem path arent set in the config file. Pull
1742
+ * Handle when the gem home and gem path aren't set in the config file. Pull
1693
1743
  request #1478 by Samuel E. Giddins.
1694
1744
  * Terminate TimeoutHandler. Pull request #1479 by Nobuyoshi Nakada.
1695
1745
  * Remove redundant cache. Pull request #1482 by Eileen M. Uchitelle.
@@ -2034,7 +2084,7 @@ This release was sponsored by Ruby Central.
2034
2084
  * Fixed activating gems from a Gemfile for default gems. Issue #991 by khoan.
2035
2085
  * Fixed windows stub script generation for Cygwin. Issue #1000 by Brett
2036
2086
  DiFrischia.
2037
- * Allow gem bindir and ruby.exe to live in separate diretories. Pull request
2087
+ * Allow gem bindir and ruby.exe to live in separate directories. Pull request
2038
2088
  #942 by Ian Flynn.
2039
2089
  * Fixed handling of gemspec in gem dependencies files to match Bundler
2040
2090
  behavior. Issue #1020 by Michal Papis.
@@ -2128,7 +2178,7 @@ This release was sponsored by Ruby Central.
2128
2178
  * Gem.use_gemdeps now accepts an argument specifying the path of the gem
2129
2179
  dependencies file. When the file is not found an ArgumentError is raised.
2130
2180
  * Writing a .lock file for a gem dependencies file is now controlled by the
2131
- --[no-]lock option. Pull reuqest #774 by Jeremy Evans.
2181
+ --[no-]lock option. Pull request #774 by Jeremy Evans.
2132
2182
  * Suggestion of alternate names and spelling corrections during install can be
2133
2183
  suppressed with the --no-suggestions option. Issue #867 by Jimmy Cuadra.
2134
2184
  * Added mswin64 support. Pull request #881 by U. Nakamura.
@@ -2227,7 +2277,7 @@ This release was sponsored by Ruby Central.
2227
2277
  * Check for nil extensions as BasicSpecification does not initialize them.
2228
2278
  Pull request #882 by André Arko.
2229
2279
  * Fixed Gem::BasicSpecification#require_paths receives a String for
2230
- @require_paths. Pull requrest #904 by @danielpclark
2280
+ @require_paths. Pull request #904 by @danielpclark
2231
2281
  * Fixed circular require warnings. Bug #908 by Zachary Scott.
2232
2282
  * Gem::Specification#require_paths can no longer accidentally be an Array.
2233
2283
  Pull requests #904, #909 by Daniel P. Clark.
@@ -3663,7 +3713,7 @@ build arguments.
3663
3713
  * Fixed `gem contents` to work with the lightweight specifications
3664
3714
  * Fixed `gem update --system x.y.z` where x.y.z == latest version. (MGPalmer)
3665
3715
  * Fixed gem contents sorting and tests. (MGPalmer)
3666
- * Fixed intermittant problem in `gem fetch` with --platform specified (quix)
3716
+ * Fixed intermittent problem in `gem fetch` with --platform specified (quix)
3667
3717
  * Fixed lightweight specifications so `gem rdoc` will generate proper
3668
3718
  documentation
3669
3719
  * MockGemUI#terminate_interaction should not raise Gem::SystemExitException.
@@ -4344,7 +4394,7 @@ For a full list of changes to RubyGems, see the ChangeLog file.
4344
4394
  installation
4345
4395
  * Multi-version diamond dependencies only are installed once
4346
4396
  * Processing a YAML bulk index update takes less memory
4347
- * `gem install -i` makes sure all depenencies are installed
4397
+ * `gem install -i` makes sure all dependencies are installed
4348
4398
  * `gem update --system` reinstalls into the prefix it was originally installed
4349
4399
  in
4350
4400
  * `gem update --system` respects --no-rdoc and --no-ri flags
@@ -4384,7 +4434,7 @@ Special thanks to:
4384
4434
 
4385
4435
  If you are experiencing problems with the source index (e.g. strange
4386
4436
  "No Method" errors), or problems with zlib (e.g. "Buffer Error"
4387
- messsage), we recommend upgrading to RubyGems 0.9.4.
4437
+ message), we recommend upgrading to RubyGems 0.9.4.
4388
4438
 
4389
4439
  ## Bug fixes:
4390
4440
 
data/CONTRIBUTING.md CHANGED
@@ -114,7 +114,7 @@ listed in rough progression order from submitted to closed.
114
114
  * **ready** - An issue that is available for collaboration. This issue
115
115
  should have existing discussion on the problem, and a description of how
116
116
  to go about solving it.
117
- * **working** - An issue that has a specific invidual assigned to and
117
+ * **working** - An issue that has a specific individual assigned to and
118
118
  planning to do work on it.
119
119
  * **user feedback required** - The issue/pull request is blocked pending
120
120
  more feedback from an end user
@@ -132,7 +132,7 @@ closed reason labels are maroon `closed: *`.
132
132
 
133
133
  * **duplicate** - This is a duplicate of an existing bug. The comments must
134
134
  reference the existing issue.
135
- * **abandonded** - This is an issue/pull request that has aged off, is no
135
+ * **abandoned** - This is an issue/pull request that has aged off, is no
136
136
  longer applicable or similar.
137
137
  * **declined** - An issue that won't be fixed/implemented or a pull request
138
138
  that is not accepted.
data/Manifest.txt CHANGED
@@ -535,6 +535,7 @@ test/rubygems/invalid_signer_cert_32.pem
535
535
  test/rubygems/invalidchild_cert.pem
536
536
  test/rubygems/invalidchild_cert_32.pem
537
537
  test/rubygems/invalidchild_key.pem
538
+ test/rubygems/packages/ascii_binder-0.1.10.1.gem
538
539
  test/rubygems/plugin/exception/rubygems_plugin.rb
539
540
  test/rubygems/plugin/load/rubygems_plugin.rb
540
541
  test/rubygems/plugin/standarderror/rubygems_plugin.rb
data/Rakefile CHANGED
@@ -7,18 +7,20 @@ require 'psych'
7
7
 
8
8
  desc "Setup Rubygems dev environment"
9
9
  task :setup do
10
- sh "ruby", "bundler/bin/bundle", "install", "--gemfile=dev_gems.rb"
10
+ sh "ruby", "-I", "lib", "bundler/spec/support/bundle.rb", "install", "--gemfile=dev_gems.rb"
11
11
  end
12
12
 
13
13
  desc "Update Rubygems dev environment"
14
14
  task :update do |_, args|
15
- sh "ruby", "bundler/bin/bundle", "update", *args, "--gemfile=dev_gems.rb"
15
+ sh "ruby", "-I", "lib", "bundler/spec/support/bundle.rb", "update", *args, "--gemfile=dev_gems.rb"
16
16
  end
17
17
 
18
18
  desc "Update the locked bundler version in dev environment"
19
19
  task :update_locked_bundler do |_, args|
20
- sh "ruby", "bundler/bin/bundle", "update", "--bundler", "--gemfile=dev_gems.rb"
21
- sh "ruby", "bundler/bin/bundle", "update", "--bundler", "--gemfile=bundler/test_gems.rb"
20
+ sh "ruby", "bundler/spec/support/bundle.rb", "update", "--bundler", "--gemfile=dev_gems.rb"
21
+ sh "ruby", "bundler/spec/support/bundle.rb", "update", "--bundler", "--gemfile=bundler/tool/bundler/test_gems.rb"
22
+ sh "ruby", "bundler/spec/support/bundle.rb", "update", "--bundler", "--gemfile=bundler/tool/bundler/rubocop_gems.rb"
23
+ sh "ruby", "bundler/spec/support/bundle.rb", "update", "--bundler", "--gemfile=bundler/tool/bundler/rubocop23_gems.rb"
22
24
  end
23
25
 
24
26
  desc "Setup git hooks"
@@ -242,15 +244,12 @@ namespace 'guides' do
242
244
  desc 'Updates and publishes the guides for the just-released RubyGems'
243
245
  task 'publish'
244
246
 
245
- on_master = `git branch --list master`.strip == '* master'
246
- on_master = true if ENV['FORCE']
247
-
248
247
  task 'publish' => %w[
249
248
  guides:pull
250
249
  guides:update
251
250
  guides:commit
252
251
  guides:push
253
- ] if on_master
252
+ ]
254
253
  end
255
254
 
256
255
  directory '../blog.rubygems.org' do
data/bundler/CHANGELOG.md CHANGED
@@ -1,3 +1,77 @@
1
+ # 2.2.17 (May 5, 2021)
2
+
3
+ ## Enhancements:
4
+
5
+ - Improve authentication required error message to include an alternative using `ENV` [#4565](https://github.com/rubygems/rubygems/pull/4565)
6
+ - Discard partial range responses without etag [#4563](https://github.com/rubygems/rubygems/pull/4563)
7
+ - Fix configuring ENV for a gem server with a name including dashes [#4571](https://github.com/rubygems/rubygems/pull/4571)
8
+ - Redact credentials from `bundle env` and `bundle config` [#4566](https://github.com/rubygems/rubygems/pull/4566)
9
+ - Redact all sources in verbose mode [#4564](https://github.com/rubygems/rubygems/pull/4564)
10
+ - Improve `bundle pristine` error if `BUNDLE_GEMFILE` does not exist [#4536](https://github.com/rubygems/rubygems/pull/4536)
11
+ - [CurrentRuby] Add 3.0 as a known minor [#4535](https://github.com/rubygems/rubygems/pull/4535)
12
+ - Prefer File.read instead of IO.read [#4530](https://github.com/rubygems/rubygems/pull/4530)
13
+ - Add space after open curly bracket in Gemfile and gems.rb template [#4518](https://github.com/rubygems/rubygems/pull/4518)
14
+
15
+ ## Bug fixes:
16
+
17
+ - Make sure specs are fetched from the right source when materializing [#4562](https://github.com/rubygems/rubygems/pull/4562)
18
+ - Fix `bundle cache` with an up-to-date lockfile and specs not already installed [#4554](https://github.com/rubygems/rubygems/pull/4554)
19
+ - Ignore `deployment` setting in inline mode [#4523](https://github.com/rubygems/rubygems/pull/4523)
20
+
21
+ ## Performance:
22
+
23
+ - Don't materialize resolutions when not necessary [#4556](https://github.com/rubygems/rubygems/pull/4556)
24
+
25
+ # 2.2.16 (April 8, 2021)
26
+
27
+ ## Enhancements:
28
+
29
+ - Add `--github-username` option and config to `bundle gem` [#3687](https://github.com/rubygems/rubygems/pull/3687)
30
+ - Bump vendored `tmpdir` library copy [#4506](https://github.com/rubygems/rubygems/pull/4506)
31
+ - Add `rake build:checksum` task to build checksums for a gem package [#4156](https://github.com/rubygems/rubygems/pull/4156)
32
+ - Enable bundler-cache for GitHub Actions template [#4498](https://github.com/rubygems/rubygems/pull/4498)
33
+ - Improve `bundle info` error when gem is on a "disabled" group [#4492](https://github.com/rubygems/rubygems/pull/4492)
34
+ - Small tweak to yank message [#4494](https://github.com/rubygems/rubygems/pull/4494)
35
+ - Don't show duplicate entries in `bundle outdated` output [#4474](https://github.com/rubygems/rubygems/pull/4474)
36
+ - Never downgrade top level gems when running `bundle update` [#4473](https://github.com/rubygems/rubygems/pull/4473)
37
+
38
+ ## Bug fixes:
39
+
40
+ - Fix incorrect logic for filtering metadata matching candidates [#4497](https://github.com/rubygems/rubygems/pull/4497)
41
+
42
+ # 2.2.15 (March 19, 2021)
43
+
44
+ ## Enhancements:
45
+
46
+ - Add a hint about bundler installing executables for path gems [#4461](https://github.com/rubygems/rubygems/pull/4461)
47
+ - Warn lockfiles with incorrect resolutions [#4459](https://github.com/rubygems/rubygems/pull/4459)
48
+ - Don't generate duplicate redundant sources in the lockfile [#4456](https://github.com/rubygems/rubygems/pull/4456)
49
+
50
+ ## Bug fixes:
51
+
52
+ - Respect running ruby when resolving platforms [#4449](https://github.com/rubygems/rubygems/pull/4449)
53
+
54
+ # 2.2.14 (March 8, 2021)
55
+
56
+ ## Security fixes:
57
+
58
+ - Lock GEM sources separately and fix locally installed specs confusing bundler [#4381](https://github.com/rubygems/rubygems/pull/4381)
59
+
60
+ ## Bug fixes:
61
+
62
+ - Make `rake` available to other gems' installers right after it's installed [#4428](https://github.com/rubygems/rubygems/pull/4428)
63
+ - Fix encoding issue on compact index updater [#4362](https://github.com/rubygems/rubygems/pull/4362)
64
+
65
+ # 2.2.13 (March 3, 2021)
66
+
67
+ ## Enhancements:
68
+
69
+ - Respect user configured default branch in README links in new generated gems [#4303](https://github.com/rubygems/rubygems/pull/4303)
70
+
71
+ ## Bug fixes:
72
+
73
+ - Fix gems sometimes being pulled from irrelevant sources [#4418](https://github.com/rubygems/rubygems/pull/4418)
74
+
1
75
  # 2.2.12 (March 1, 2021)
2
76
 
3
77
  ## Bug fixes:
@@ -422,7 +496,7 @@
422
496
  - Ignore `frozen` setting in inline mode ([#7125](https://github.com/rubygems/bundler/pull/7125))
423
497
  - Fix incorrect "bundler attempted to update GEM but version stayed the same" message when updating git sourced gems ([#6325](https://github.com/rubygems/bundler/pull/6325))
424
498
  - Don't check for existence of a writable home directory if `BUNDLE_USER_HOME` is set ([#6885](https://github.com/rubygems/bundler/pull/6885))
425
- - Fix error message when server would respond to a bad username/password requiest with a 401 ([#6928](https://github.com/rubygems/bundler/pull/6928))
499
+ - Fix error message when server would respond to a bad username/password request with a 401 ([#6928](https://github.com/rubygems/bundler/pull/6928))
426
500
  - Fix `bundle outdated` pluralization when multiple groups are requested ([#7063](https://github.com/rubygems/bundler/pull/7063))
427
501
  - Fix `bundle install` not updating conservatively when gemspec is changed ([#7143](https://github.com/rubygems/bundler/pull/7143))
428
502
  - Fix `bundle exec` not respecting custom process titles inside scripts ([#7140](https://github.com/rubygems/bundler/pull/7140))
@@ -2067,7 +2141,7 @@ Changes
2067
2141
  - fix Bundler.which for directories ([#2697](https://github.com/rubygems/bundler/issues/2697), @rhysd)
2068
2142
  - properly require `Capistrano::Version` ([#2690](https://github.com/rubygems/bundler/issues/2690), @steveklabnik)
2069
2143
  - search for git.exe and git
2070
- - fix the bug that downloads every spec when API fetcher encouters an error
2144
+ - fix the bug that downloads every spec when API fetcher encounters an error
2071
2145
  - only retry network requests
2072
2146
 
2073
2147
  # 1.4.0.rc.1 (September 29, 2013)
@@ -2691,7 +2765,7 @@ Changes
2691
2765
 
2692
2766
  - Implement `to_ary` to avoid calls to method_missing (@tenderlove, [#1274](https://github.com/rubygems/bundler/issues/1274))
2693
2767
  - bundle clean removes old .gem files (@cldwalker, [#1293](https://github.com/rubygems/bundler/issues/1293))
2694
- - Correcly identify missing child dependency in error message
2768
+ - Correctly identify missing child dependency in error message
2695
2769
  - Run pre-install, post-build, and post-install gem hooks for git gems (@warhammerkid, [#1120](https://github.com/rubygems/bundler/issues/1120))
2696
2770
  - create Gemfile.lock for empty Gemfile ([#1218](https://github.com/rubygems/bundler/issues/1218))
2697
2771
 
@@ -2842,7 +2916,7 @@ Changes
2842
2916
 
2843
2917
  - Performance fix for MRI 1.9 (@efficientcloud, [#1288](https://github.com/rubygems/bundler/issues/1288))
2844
2918
  - Shortcuts (like `bundle i`) for all commands (@amatsuda)
2845
- - Correcly identify missing child dependency in error message
2919
+ - Correctly identify missing child dependency in error message
2846
2920
 
2847
2921
  ## Bug fixes:
2848
2922
 
@@ -3078,7 +3152,7 @@ Changes
3078
3152
 
3079
3153
  - Various bugfixes to the built-in rake helpers
3080
3154
  - Fix a bug where shortrefs weren't unique enough and were
3081
- therfore colliding
3155
+ therefore colliding
3082
3156
  - Fix a small bug involving checking whether a local git
3083
3157
  clone is up to date
3084
3158
  - Correctly handle explicit '=' dependencies with gems
@@ -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-03-01".freeze
8
- @git_commit_sha = "1de3f8de73".freeze
7
+ @built_at = "2021-05-05".freeze
8
+ @git_commit_sha = "69cbd6e10e".freeze
9
9
  @release = true
10
10
  # end ivars
11
11
 
@@ -504,8 +504,8 @@ module Bundler
504
504
  By default, setting a configuration value sets it for all projects
505
505
  on the machine.
506
506
 
507
- If a global setting is superceded by local configuration, this command
508
- will show the current value, as well as any superceded values and
507
+ If a global setting is superseded by local configuration, this command
508
+ will show the current value, as well as any superseded values and
509
509
  where they were specified.
510
510
  D
511
511
  require_relative "cli/config"
@@ -591,6 +591,7 @@ module Bundler
591
591
  :desc => "Generate a test directory for your library, either rspec, minitest or test-unit. Set a default with `bundle config set --global gem.test (rspec|minitest|test-unit)`."
592
592
  method_option :ci, :type => :string, :lazy_default => Bundler.settings["gem.ci"] || "",
593
593
  :desc => "Generate CI configuration, either GitHub Actions, Travis CI, GitLab CI or CircleCI. Set a default with `bundle config set --global gem.ci (github|travis|gitlab|circle)`"
594
+ method_option :github_username, :type => :string, :default => Bundler.settings["gem.github_username"], :banner => "Set your username on GitHub", :desc => "Fill in GitHub username on README so that you don't have to do it manually. Set a default with `bundle config set --global gem.github_username <your_username>`."
594
595
 
595
596
  def gem(name)
596
597
  end
@@ -36,10 +36,15 @@ module Bundler
36
36
  def self.without_groups_message(command)
37
37
  command_in_past_tense = command == :install ? "installed" : "updated"
38
38
  groups = Bundler.settings[:without]
39
+ "Gems in the #{verbalize_groups(groups)} were not #{command_in_past_tense}."
40
+ end
41
+
42
+ def self.verbalize_groups(groups)
43
+ groups.map!{|g| "'#{g}'" }
39
44
  group_list = [groups[0...-1].join(", "), groups[-1..-1]].
40
45
  reject {|s| s.to_s.empty? }.join(" and ")
41
46
  group_str = groups.size == 1 ? "group" : "groups"
42
- "Gems in the #{group_str} #{group_list} were not #{command_in_past_tense}."
47
+ "#{group_str} #{group_list}"
43
48
  end
44
49
 
45
50
  def self.select_spec(name, regex_match = nil)
@@ -53,7 +58,13 @@ module Bundler
53
58
 
54
59
  case specs.count
55
60
  when 0
56
- raise GemNotFound, gem_not_found_message(name, Bundler.definition.dependencies)
61
+ dep_in_other_group = Bundler.definition.current_dependencies.find {|dep|dep.name == name }
62
+
63
+ if dep_in_other_group
64
+ raise GemNotFound, "Could not find gem '#{name}', because it's in the #{verbalize_groups(dep_in_other_group.groups)}, configured to be ignored."
65
+ else
66
+ raise GemNotFound, gem_not_found_message(name, Bundler.definition.dependencies)
67
+ end
57
68
  when 1
58
69
  specs.first
59
70
  else
@@ -83,6 +94,8 @@ module Bundler
83
94
  end
84
95
 
85
96
  def self.ensure_all_gems_in_lockfile!(names, locked_gems = Bundler.locked_gems)
97
+ return unless locked_gems
98
+
86
99
  locked_names = locked_gems.specs.map(&:name).uniq
87
100
  names.-(locked_names).each do |g|
88
101
  raise GemNotFound, gem_not_found_message(g, locked_names)
@@ -39,11 +39,19 @@ module Bundler
39
39
  constant_name = name.gsub(/-[_-]*(?![_-]|$)/) { "::" }.gsub(/([_-]+|(::)|^)(.|$)/) { $2.to_s + $3.upcase }
40
40
  constant_array = constant_name.split("::")
41
41
 
42
- git_installed = Bundler.git_present?
42
+ use_git = Bundler.git_present? && options[:git]
43
43
 
44
- git_author_name = git_installed ? `git config user.name`.chomp : ""
45
- github_username = git_installed ? `git config github.user`.chomp : ""
46
- git_user_email = git_installed ? `git config user.email`.chomp : ""
44
+ git_author_name = use_git ? `git config user.name`.chomp : ""
45
+ git_username = use_git ? `git config github.user`.chomp : ""
46
+ git_user_email = use_git ? `git config user.email`.chomp : ""
47
+
48
+ github_username = if options[:github_username].nil?
49
+ git_username
50
+ elsif options[:github_username] == false
51
+ ""
52
+ else
53
+ options[:github_username]
54
+ end
47
55
 
48
56
  config = {
49
57
  :name => name,
@@ -58,6 +66,7 @@ module Bundler
58
66
  :ext => options[:ext],
59
67
  :exe => options[:exe],
60
68
  :bundler_version => bundler_dependency_version,
69
+ :git => use_git,
61
70
  :github_username => github_username.empty? ? "[USERNAME]" : github_username,
62
71
  :required_ruby_version => Gem.ruby_version < Gem::Version.new("2.4.a") ? "2.3.0" : "2.4.0",
63
72
  }
@@ -79,7 +88,7 @@ module Bundler
79
88
  bin/setup
80
89
  ]
81
90
 
82
- templates.merge!("gitignore.tt" => ".gitignore") if Bundler.git_present?
91
+ templates.merge!("gitignore.tt" => ".gitignore") if use_git
83
92
 
84
93
  if test_framework = ask_and_set_test_framework
85
94
  config[:test] = test_framework
@@ -175,24 +184,31 @@ module Bundler
175
184
  )
176
185
  end
177
186
 
187
+ if File.exist?(target) && !File.directory?(target)
188
+ Bundler.ui.error "Couldn't create a new gem named `#{gem_name}` because there's an existing file named `#{gem_name}`."
189
+ exit Bundler::BundlerError.all_errors[Bundler::GenericSystemCallError]
190
+ end
191
+
192
+ if use_git
193
+ Bundler.ui.info "Initializing git repo in #{target}"
194
+ `git init #{target}`
195
+
196
+ config[:git_default_branch] = File.read("#{target}/.git/HEAD").split("/").last.chomp
197
+ end
198
+
178
199
  templates.each do |src, dst|
179
200
  destination = target.join(dst)
180
- SharedHelpers.filesystem_access(destination) do
181
- thor.template("newgem/#{src}", destination, config)
182
- end
201
+ thor.template("newgem/#{src}", destination, config)
183
202
  end
184
203
 
185
204
  executables.each do |file|
186
- SharedHelpers.filesystem_access(target.join(file)) do |path|
187
- executable = (path.stat.mode | 0o111)
188
- path.chmod(executable)
189
- end
205
+ path = target.join(file)
206
+ executable = (path.stat.mode | 0o111)
207
+ path.chmod(executable)
190
208
  end
191
209
 
192
- if Bundler.git_present? && options[:git]
193
- Bundler.ui.info "Initializing git repo in #{target}"
210
+ if use_git
194
211
  Dir.chdir(target) do
195
- `git init`
196
212
  `git add .`
197
213
  end
198
214
  end
@@ -202,8 +218,6 @@ module Bundler
202
218
 
203
219
  Bundler.ui.info "Gem '#{name}' was successfully created. " \
204
220
  "For more information on making a RubyGem visit https://bundler.io/guides/creating_gem.html"
205
- rescue Errno::EEXIST => e
206
- raise GenericSystemCallError.new(e, "There was a conflict while creating the new gem.")
207
221
  end
208
222
 
209
223
  private