rubygems-update 3.2.12 → 3.2.17

Sign up to get free protection for your applications and to get access to all the features.
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