bundler 2.3.6 → 2.3.9

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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/lib/bundler/build_metadata.rb +2 -2
  4. data/lib/bundler/cli/common.rb +1 -1
  5. data/lib/bundler/cli/config.rb +10 -1
  6. data/lib/bundler/cli/info.rb +10 -1
  7. data/lib/bundler/cli/install.rb +6 -25
  8. data/lib/bundler/cli.rb +3 -4
  9. data/lib/bundler/definition.rb +3 -2
  10. data/lib/bundler/fetcher.rb +5 -5
  11. data/lib/bundler/man/bundle-add.1 +1 -1
  12. data/lib/bundler/man/bundle-binstubs.1 +1 -1
  13. data/lib/bundler/man/bundle-cache.1 +1 -1
  14. data/lib/bundler/man/bundle-check.1 +1 -1
  15. data/lib/bundler/man/bundle-clean.1 +1 -1
  16. data/lib/bundler/man/bundle-config.1 +2 -2
  17. data/lib/bundler/man/bundle-config.1.ronn +1 -1
  18. data/lib/bundler/man/bundle-doctor.1 +1 -1
  19. data/lib/bundler/man/bundle-exec.1 +1 -1
  20. data/lib/bundler/man/bundle-gem.1 +1 -1
  21. data/lib/bundler/man/bundle-info.1 +1 -1
  22. data/lib/bundler/man/bundle-init.1 +1 -1
  23. data/lib/bundler/man/bundle-inject.1 +1 -1
  24. data/lib/bundler/man/bundle-install.1 +1 -1
  25. data/lib/bundler/man/bundle-list.1 +1 -1
  26. data/lib/bundler/man/bundle-lock.1 +1 -1
  27. data/lib/bundler/man/bundle-open.1 +1 -1
  28. data/lib/bundler/man/bundle-outdated.1 +3 -10
  29. data/lib/bundler/man/bundle-outdated.1.ronn +1 -10
  30. data/lib/bundler/man/bundle-platform.1 +1 -1
  31. data/lib/bundler/man/bundle-pristine.1 +1 -1
  32. data/lib/bundler/man/bundle-remove.1 +1 -1
  33. data/lib/bundler/man/bundle-show.1 +1 -1
  34. data/lib/bundler/man/bundle-update.1 +1 -1
  35. data/lib/bundler/man/bundle-viz.1 +1 -1
  36. data/lib/bundler/man/bundle.1 +1 -1
  37. data/lib/bundler/man/gemfile.5 +1 -1
  38. data/lib/bundler/plugin/api/source.rb +0 -6
  39. data/lib/bundler/rubygems_ext.rb +23 -13
  40. data/lib/bundler/rubygems_integration.rb +2 -14
  41. data/lib/bundler/settings.rb +1 -1
  42. data/lib/bundler/shared_helpers.rb +1 -1
  43. data/lib/bundler/source_map.rb +15 -2
  44. data/lib/bundler/templates/newgem/README.md.tt +3 -9
  45. data/lib/bundler/version.rb +1 -1
  46. data/lib/bundler.rb +1 -1
  47. metadata +3 -4
  48. data/lib/bundler/psyched_yaml.rb +0 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a47da55ac7611bc2d11a3e51335e288b92eee55c4f9fc9359372cd6f22ee4467
4
- data.tar.gz: dcc894fbd93a03bf1b7e26613ae130524f54dbc8f16bad8d8adf94920138b733
3
+ metadata.gz: ca4612ca3c9f9acd51a52eec231ee4e24ef8ad71d1969ac3c13c838b2b0e6e02
4
+ data.tar.gz: f46c141021cf42282aeb235f781435ade45c2e29aea19275678d81cfa85beace
5
5
  SHA512:
6
- metadata.gz: 4be9c6e3666eca2820132aaf02969ace58cbe9530743cbe34192c626f777a71c9997ad3e4d82a5c06dbcc111a5b45c669ffdde45b855cb62e49df2667b0c088e
7
- data.tar.gz: 6cddfad4cec130c09bab8abef8608a1379bf07782bb36960fffbe4db071231e9dd3e4f0617573b9131b7a1a2e2faf3af81654b39a42d1c7e506297c0492f04d6
6
+ metadata.gz: 759454ffe3fd64d2f408166aceb9a37935a35513ccfb6870bee2280769e382ebadb09709069b82ebdd971bbb4c99a59372673a6ba0960c13a157b70e2f7afe4a
7
+ data.tar.gz: b5291cdc8f5c842f1e7a11a6b2ca86981b7222f7d52457e4ce0121c5526e786aecae09b435e76d088b02bebf13b948688a9509e03639e6f6b656657ea5d9bdcb
data/CHANGELOG.md CHANGED
@@ -1,3 +1,38 @@
1
+ # 2.3.9 (March 9, 2022)
2
+
3
+ ## Enhancements:
4
+
5
+ - Add newline to validate_platforms! message when platform is missing [#5353](https://github.com/rubygems/rubygems/pull/5353)
6
+ - Suggest quicker `bundle add` for installation in `README.md` generated by `bundle gem` [#5337](https://github.com/rubygems/rubygems/pull/5337)
7
+ - Make `--strict` flag of `update` and `outdated` commands consistent [#5379](https://github.com/rubygems/rubygems/pull/5379)
8
+
9
+ ## Bug fixes:
10
+
11
+ - Fix regression when activating gem executables caused by Bundler monkey patches to RubyGems [#5386](https://github.com/rubygems/rubygems/pull/5386)
12
+
13
+ # 2.3.8 (February 23, 2022)
14
+
15
+ ## Bug fixes:
16
+
17
+ - Fix corrupted lockfile when running `bundle check` and having to re-resolve locally [#5344](https://github.com/rubygems/rubygems/pull/5344)
18
+ - Fix typo in multiple gemfiles warning [#5342](https://github.com/rubygems/rubygems/pull/5342)
19
+
20
+ ## Documentation:
21
+
22
+ - Add clarification for bundle-config "with" option [#5346](https://github.com/rubygems/rubygems/pull/5346)
23
+
24
+ # 2.3.7 (February 9, 2022)
25
+
26
+ ## Enhancements:
27
+
28
+ - Don't activate `yaml` gem from Bundler [#5277](https://github.com/rubygems/rubygems/pull/5277)
29
+ - Add Reverse Dependencies section to info command [#3966](https://github.com/rubygems/rubygems/pull/3966)
30
+
31
+ ## Bug fixes:
32
+
33
+ - Don't silently persist `BUNDLE_WITH` and `BUNDLE_WITHOUT` envs locally [#5335](https://github.com/rubygems/rubygems/pull/5335)
34
+ - Fix `bundle config` inside an application saving configuration globally [#4152](https://github.com/rubygems/rubygems/pull/4152)
35
+
1
36
  # 2.3.6 (January 26, 2022)
2
37
 
3
38
  ## Enhancements:
@@ -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 = "2022-01-26".freeze
8
- @git_commit_sha = "056f64c33a".freeze
7
+ @built_at = "2022-03-09".freeze
8
+ @git_commit_sha = "7f90c0083a".freeze
9
9
  @release = true
10
10
  # end ivars
11
11
 
@@ -109,7 +109,7 @@ module Bundler
109
109
 
110
110
  definition.gem_version_promoter.tap do |gvp|
111
111
  gvp.level = patch_level.first || :major
112
- gvp.strict = options[:strict] || options["update-strict"] || options["filter-strict"]
112
+ gvp.strict = options[:strict] || options["filter-strict"]
113
113
  end
114
114
  end
115
115
 
@@ -180,7 +180,7 @@ module Bundler
180
180
  scopes = %w[global local].select {|s| options[s] }
181
181
  case scopes.size
182
182
  when 0
183
- @scope = "global"
183
+ @scope = inside_app? ? "local" : "global"
184
184
  @explicit_scope = false
185
185
  when 1
186
186
  @scope = scopes.first
@@ -189,6 +189,15 @@ module Bundler
189
189
  "The options #{scopes.join " and "} were specified. Please only use one of the switches at a time."
190
190
  end
191
191
  end
192
+
193
+ private
194
+
195
+ def inside_app?
196
+ Bundler.root
197
+ true
198
+ rescue GemfileNotFound
199
+ false
200
+ end
192
201
  end
193
202
  end
194
203
  end
@@ -73,7 +73,8 @@ module Bundler
73
73
  gem_info << "\tBug Tracker: #{metadata["bug_tracker_uri"]}\n" if metadata.key?("bug_tracker_uri")
74
74
  gem_info << "\tMailing List: #{metadata["mailing_list_uri"]}\n" if metadata.key?("mailing_list_uri")
75
75
  gem_info << "\tPath: #{spec.full_gem_path}\n"
76
- gem_info << "\tDefault Gem: yes" if spec.respond_to?(:default_gem?) && spec.default_gem?
76
+ gem_info << "\tDefault Gem: yes\n" if spec.respond_to?(:default_gem?) && spec.default_gem?
77
+ gem_info << "\tReverse Dependencies: \n\t\t#{gem_dependencies.join("\n\t\t")}" if gem_dependencies.any?
77
78
 
78
79
  if name != "bundler" && spec.deleted_gem?
79
80
  return Bundler.ui.warn "The gem #{name} has been deleted. Gemspec information is still available though:\n#{gem_info}"
@@ -81,5 +82,13 @@ module Bundler
81
82
 
82
83
  Bundler.ui.info gem_info
83
84
  end
85
+
86
+ def gem_dependencies
87
+ @gem_dependencies ||= Bundler.definition.specs.map do |spec|
88
+ dependency = spec.dependencies.find {|dep| dep.name == gem_name }
89
+ next unless dependency
90
+ "#{spec.name} (#{spec.version}) depends on #{gem_name} (#{dependency.requirements_list.join(", ")})"
91
+ end.compact.sort
92
+ end
84
93
  end
85
94
  end
@@ -135,32 +135,13 @@ module Bundler
135
135
  end
136
136
 
137
137
  def normalize_groups
138
- options[:with] &&= options[:with].join(":").tr(" ", ":").split(":")
139
- options[:without] &&= options[:without].join(":").tr(" ", ":").split(":")
140
-
141
138
  check_for_group_conflicts_in_cli_options
142
139
 
143
- Bundler.settings.set_command_option :with, nil if options[:with] == []
144
- Bundler.settings.set_command_option :without, nil if options[:without] == []
145
-
146
- with = options.fetch(:with, [])
147
- with |= Bundler.settings[:with].map(&:to_s)
148
- with -= options[:without] if options[:without]
149
-
150
- without = options.fetch(:without, [])
151
- without |= Bundler.settings[:without].map(&:to_s)
152
- without -= options[:with] if options[:with]
153
-
154
- options[:with] = with
155
- options[:without] = without
156
-
157
- unless Bundler.settings[:without] == options[:without] && Bundler.settings[:with] == options[:with]
158
- # need to nil them out first to get around validation for backwards compatibility
159
- Bundler.settings.set_command_option :without, nil
160
- Bundler.settings.set_command_option :with, nil
161
- Bundler.settings.set_command_option :without, options[:without] - options[:with]
162
- Bundler.settings.set_command_option :with, options[:with]
163
- end
140
+ # need to nil them out first to get around validation for backwards compatibility
141
+ Bundler.settings.set_command_option :without, nil
142
+ Bundler.settings.set_command_option :with, nil
143
+ Bundler.settings.set_command_option :without, options[:without]
144
+ Bundler.settings.set_command_option :with, options[:with]
164
145
  end
165
146
 
166
147
  def normalize_settings
@@ -184,7 +165,7 @@ module Bundler
184
165
 
185
166
  Bundler.settings.set_command_option_if_given :clean, options["clean"]
186
167
 
187
- normalize_groups
168
+ normalize_groups if options[:without] || options[:with]
188
169
 
189
170
  options[:force] = options[:redownload]
190
171
  end
data/lib/bundler/cli.rb CHANGED
@@ -391,7 +391,7 @@ module Bundler
391
391
  are up to date, Bundler will exit with a status of 0. Otherwise, it will exit 1.
392
392
 
393
393
  For more information on patch level options (--major, --minor, --patch,
394
- --update-strict) see documentation on the same options on the update command.
394
+ --strict) see documentation on the same options on the update command.
395
395
  D
396
396
  method_option "group", :type => :string, :banner => "List gems from a specific group"
397
397
  method_option "groups", :type => :boolean, :banner => "List gems organized by groups"
@@ -399,10 +399,9 @@ module Bundler
399
399
  "Do not attempt to fetch gems remotely and use the gem cache instead"
400
400
  method_option "pre", :type => :boolean, :banner => "Check for newer pre-release gems"
401
401
  method_option "source", :type => :array, :banner => "Check against a specific source"
402
- strict_is_update = Bundler.feature_flag.forget_cli_options?
403
- method_option "filter-strict", :type => :boolean, :aliases => strict_is_update ? [] : %w[--strict], :banner =>
402
+ method_option "filter-strict", :type => :boolean, :banner =>
404
403
  "Only list newer versions allowed by your Gemfile requirements"
405
- method_option "update-strict", :type => :boolean, :aliases => strict_is_update ? %w[--strict] : [], :banner =>
404
+ method_option "strict", :type => :boolean, :aliases => "--update-strict", :banner =>
406
405
  "Strict conservative resolution, do not allow any gem to be updated past latest --patch | --minor | --major"
407
406
  method_option "minor", :type => :boolean, :banner => "Prefer updating only to next minor version"
408
407
  method_option "major", :type => :boolean, :banner => "Prefer updating to next major version (default)"
@@ -432,7 +432,7 @@ module Bundler
432
432
 
433
433
  raise ProductionError, "Your bundle only supports platforms #{@platforms.map(&:to_s)} " \
434
434
  "but your local platform is #{Bundler.local_platform}. " \
435
- "Add the current platform to the lockfile with `bundle lock --add-platform #{Bundler.local_platform}` and try again."
435
+ "Add the current platform to the lockfile with\n`bundle lock --add-platform #{Bundler.local_platform}` and try again."
436
436
  end
437
437
 
438
438
  def add_platform(platform)
@@ -782,6 +782,7 @@ module Bundler
782
782
  else
783
783
  { :default => Source::RubygemsAggregate.new(sources, source_map) }.merge(source_map.direct_requirements)
784
784
  end
785
+ source_requirements.merge!(source_map.locked_requirements) unless @remote
785
786
  metadata_dependencies.each do |dep|
786
787
  source_requirements[dep.name] = sources.metadata_source
787
788
  end
@@ -828,7 +829,7 @@ module Bundler
828
829
  end
829
830
 
830
831
  def source_map
831
- @source_map ||= SourceMap.new(sources, dependencies)
832
+ @source_map ||= SourceMap.new(sources, dependencies, @locked_specs)
832
833
  end
833
834
  end
834
835
  end
@@ -240,7 +240,7 @@ module Bundler
240
240
  raise SSLError if needs_ssl && !defined?(OpenSSL::SSL)
241
241
 
242
242
  con = PersistentHTTP.new :name => "bundler", :proxy => :ENV
243
- if gem_proxy = Bundler.rubygems.configuration[:http_proxy]
243
+ if gem_proxy = Gem.configuration[:http_proxy]
244
244
  con.proxy = Bundler::URI.parse(gem_proxy) if gem_proxy != :no_proxy
245
245
  end
246
246
 
@@ -251,8 +251,8 @@ module Bundler
251
251
  end
252
252
 
253
253
  ssl_client_cert = Bundler.settings[:ssl_client_cert] ||
254
- (Bundler.rubygems.configuration.ssl_client_cert if
255
- Bundler.rubygems.configuration.respond_to?(:ssl_client_cert))
254
+ (Gem.configuration.ssl_client_cert if
255
+ Gem.configuration.respond_to?(:ssl_client_cert))
256
256
  if ssl_client_cert
257
257
  pem = File.read(ssl_client_cert)
258
258
  con.cert = OpenSSL::X509::Certificate.new(pem)
@@ -283,8 +283,8 @@ module Bundler
283
283
  def bundler_cert_store
284
284
  store = OpenSSL::X509::Store.new
285
285
  ssl_ca_cert = Bundler.settings[:ssl_ca_cert] ||
286
- (Bundler.rubygems.configuration.ssl_ca_cert if
287
- Bundler.rubygems.configuration.respond_to?(:ssl_ca_cert))
286
+ (Gem.configuration.ssl_ca_cert if
287
+ Gem.configuration.respond_to?(:ssl_ca_cert))
288
288
  if ssl_ca_cert
289
289
  if File.directory? ssl_ca_cert
290
290
  store.add_path ssl_ca_cert
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-ADD" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-ADD" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-BINSTUBS" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-BINSTUBS" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-binstubs\fR \- Install the binstubs of the listed gems
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-CACHE" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-CACHE" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-CHECK" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-CHECK" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-CLEAN" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-CLEAN" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-CONFIG" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-CONFIG" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-config\fR \- Set bundler configuration options
@@ -83,7 +83,7 @@ A space\-separated list of groups referencing gems to skip during installation\.
83
83
  .
84
84
  .TP
85
85
  \fBwith\fR
86
- A space\-separated list of groups referencing gems to include during installation\.
86
+ A space\-separated list of \fBoptional\fR groups referencing gems to include during installation\.
87
87
  .
88
88
  .SH "BUILD OPTIONS"
89
89
  You can use \fBbundle config\fR to give Bundler the flags to pass to the gem installer every time bundler tries to install a particular gem\.
@@ -83,7 +83,7 @@ The options that can be configured are:
83
83
  A space-separated list of groups referencing gems to skip during installation.
84
84
 
85
85
  * `with`:
86
- A space-separated list of groups referencing gems to include during installation.
86
+ A space-separated list of **optional** groups referencing gems to include during installation.
87
87
 
88
88
  ## BUILD OPTIONS
89
89
 
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-DOCTOR" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-DOCTOR" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-doctor\fR \- Checks the bundle for common problems
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-EXEC" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-EXEC" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-exec\fR \- Execute a command in the context of the bundle
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-GEM" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-GEM" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-INFO" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-INFO" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-info\fR \- Show information for the given gem in your bundle
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-INIT" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-INIT" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-init\fR \- Generates a Gemfile into the current working directory
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-INJECT" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-INJECT" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-inject\fR \- Add named gem(s) with version requirements to Gemfile
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-INSTALL" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-INSTALL" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-install\fR \- Install the dependencies specified in your Gemfile
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-LIST" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-LIST" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-list\fR \- List all the gems in the bundle
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-LOCK" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-LOCK" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-lock\fR \- Creates / Updates a lockfile without installing
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-OPEN" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-OPEN" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-open\fR \- Opens the source directory for a gem in your bundle
@@ -1,13 +1,13 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-OUTDATED" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-OUTDATED" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-outdated\fR \- List installed gems with newer versions available
8
8
  .
9
9
  .SH "SYNOPSIS"
10
- \fBbundle outdated\fR [GEM] [\-\-local] [\-\-pre] [\-\-source] [\-\-strict] [\-\-parseable | \-\-porcelain] [\-\-group=GROUP] [\-\-groups] [\-\-update\-strict] [\-\-patch|\-\-minor|\-\-major] [\-\-filter\-major] [\-\-filter\-minor] [\-\-filter\-patch] [\-\-only\-explicit]
10
+ \fBbundle outdated\fR [GEM] [\-\-local] [\-\-pre] [\-\-source] [\-\-strict] [\-\-parseable | \-\-porcelain] [\-\-group=GROUP] [\-\-groups] [\-\-patch|\-\-minor|\-\-major] [\-\-filter\-major] [\-\-filter\-minor] [\-\-filter\-patch] [\-\-only\-explicit]
11
11
  .
12
12
  .SH "DESCRIPTION"
13
13
  Outdated lists the names and versions of gems that have a newer version available in the given source\. Calling outdated with [GEM [GEM]] will only check for newer versions of the given gems\. Prerelease gems are ignored by default\. If your gems are up to date, Bundler will exit with a status of 0\. Otherwise, it will exit 1\.
@@ -28,7 +28,7 @@ Check against a specific source\.
28
28
  .
29
29
  .TP
30
30
  \fB\-\-strict\fR
31
- Only list newer versions allowed by your Gemfile requirements\.
31
+ Only list newer versions allowed by your Gemfile requirements, also respecting conservative update flags (\-\-patch, \-\-minor, \-\-major)\.
32
32
  .
33
33
  .TP
34
34
  \fB\-\-parseable\fR, \fB\-\-porcelain\fR
@@ -43,10 +43,6 @@ List gems from a specific group\.
43
43
  List gems organized by groups\.
44
44
  .
45
45
  .TP
46
- \fB\-\-update\-strict\fR
47
- Strict conservative resolution, do not allow any gem to be updated past latest \-\-patch | \-\-minor| \-\-major\.
48
- .
49
- .TP
50
46
  \fB\-\-minor\fR
51
47
  Prefer updating only to next minor version\.
52
48
  .
@@ -77,9 +73,6 @@ Only list gems specified in your Gemfile, not their dependencies\.
77
73
  .SH "PATCH LEVEL OPTIONS"
78
74
  See bundle update(1) \fIbundle\-update\.1\.html\fR for details\.
79
75
  .
80
- .P
81
- One difference between the patch level options in \fBbundle update\fR and here is the \fB\-\-strict\fR option\. \fB\-\-strict\fR was already an option on outdated before the patch level options were added\. \fB\-\-strict\fR wasn\'t altered, and the \fB\-\-update\-strict\fR option on \fBoutdated\fR reflects what \fB\-\-strict\fR does on \fBbundle update\fR\.
82
- .
83
76
  .SH "FILTERING OUTPUT"
84
77
  The 3 filtering options do not affect the resolution of versions, merely what versions are shown in the output\.
85
78
  .
@@ -10,7 +10,6 @@ bundle-outdated(1) -- List installed gems with newer versions available
10
10
  [--parseable | --porcelain]
11
11
  [--group=GROUP]
12
12
  [--groups]
13
- [--update-strict]
14
13
  [--patch|--minor|--major]
15
14
  [--filter-major]
16
15
  [--filter-minor]
@@ -36,7 +35,7 @@ are up to date, Bundler will exit with a status of 0. Otherwise, it will exit 1.
36
35
  Check against a specific source.
37
36
 
38
37
  * `--strict`:
39
- Only list newer versions allowed by your Gemfile requirements.
38
+ Only list newer versions allowed by your Gemfile requirements, also respecting conservative update flags (--patch, --minor, --major).
40
39
 
41
40
  * `--parseable`, `--porcelain`:
42
41
  Use minimal formatting for more parseable output.
@@ -47,9 +46,6 @@ are up to date, Bundler will exit with a status of 0. Otherwise, it will exit 1.
47
46
  * `--groups`:
48
47
  List gems organized by groups.
49
48
 
50
- * `--update-strict`:
51
- Strict conservative resolution, do not allow any gem to be updated past latest --patch | --minor| --major.
52
-
53
49
  * `--minor`:
54
50
  Prefer updating only to next minor version.
55
51
 
@@ -75,11 +71,6 @@ are up to date, Bundler will exit with a status of 0. Otherwise, it will exit 1.
75
71
 
76
72
  See [bundle update(1)](bundle-update.1.html) for details.
77
73
 
78
- One difference between the patch level options in `bundle update` and here is the `--strict` option.
79
- `--strict` was already an option on outdated before the patch level options were added. `--strict`
80
- wasn't altered, and the `--update-strict` option on `outdated` reflects what `--strict` does on
81
- `bundle update`.
82
-
83
74
  ## FILTERING OUTPUT
84
75
 
85
76
  The 3 filtering options do not affect the resolution of versions, merely what versions are shown
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-PLATFORM" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-PLATFORM" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-platform\fR \- Displays platform compatibility information
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-PRISTINE" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-PRISTINE" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-pristine\fR \- Restores installed gems to their pristine condition
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-REMOVE" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-REMOVE" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-remove\fR \- Removes gems from the Gemfile
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-SHOW" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-SHOW" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-show\fR \- Shows all the gems in your bundle, or the path to a gem
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-UPDATE" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-UPDATE" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-update\fR \- Update your gems to the latest available versions
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-VIZ" "1" "December 2021" "" ""
4
+ .TH "BUNDLE\-VIZ" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-viz\fR \- Generates a visual dependency graph for your Gemfile
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE" "1" "December 2021" "" ""
4
+ .TH "BUNDLE" "1" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\fR \- Ruby Dependency Management
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "GEMFILE" "5" "December 2021" "" ""
4
+ .TH "GEMFILE" "5" "March 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBGemfile\fR \- A format for describing gem dependencies for Ruby programs
@@ -308,12 +308,6 @@ module Bundler
308
308
  Bundler.root
309
309
  end
310
310
 
311
- # @private
312
- # Returns true
313
- def bundler_plugin_api_source?
314
- true
315
- end
316
-
317
311
  # @private
318
312
  # This API on source might not be stable, and for now we expect plugins
319
313
  # to download all specs in `#specs`, so we implement the method for
@@ -4,14 +4,23 @@ require "pathname"
4
4
 
5
5
  require "rubygems/specification"
6
6
 
7
- # Possible use in Gem::Specification#source below and require
8
- # shouldn't be deferred.
7
+ # We can't let `Gem::Source` be autoloaded in the `Gem::Specification#source`
8
+ # redefinition below, so we need to load it upfront. The reason is that if
9
+ # Bundler monkeypatches are loaded before RubyGems activates an executable (for
10
+ # example, through `ruby -rbundler -S irb`), gem activation might end up calling
11
+ # the redefined `Gem::Specification#source` and triggering the `Gem::Source`
12
+ # autoload. That would result in requiring "rubygems/source" inside another
13
+ # require, which would trigger a monitor error and cause the `autoload` to
14
+ # eventually fail. A better solution is probably to completely avoid autoloading
15
+ # `Gem::Source` from the redefined `Gem::Specification#source`.
9
16
  require "rubygems/source"
10
17
 
11
18
  require_relative "match_platform"
12
19
 
13
20
  module Gem
14
21
  class Specification
22
+ include ::Bundler::MatchPlatform
23
+
15
24
  attr_accessor :remote, :location, :relative_loaded_from
16
25
 
17
26
  remove_method :source
@@ -24,11 +33,7 @@ module Gem
24
33
  alias_method :rg_loaded_from, :loaded_from
25
34
 
26
35
  def full_gem_path
27
- # this cannot check source.is_a?(Bundler::Plugin::API::Source)
28
- # because that _could_ trip the autoload, and if there are unresolved
29
- # gems at that time, this method could be called inside another require,
30
- # thus raising with that constant being undefined. Better to check a method
31
- if source.respond_to?(:path) || (source.respond_to?(:bundler_plugin_api_source?) && source.bundler_plugin_api_source?)
36
+ if source.respond_to?(:root)
32
37
  Pathname.new(loaded_from).dirname.expand_path(source.root).to_s.tap{|x| x.untaint if RUBY_VERSION < "2.7" }
33
38
  else
34
39
  rg_full_gem_path
@@ -81,6 +86,17 @@ module Gem
81
86
  gemfile
82
87
  end
83
88
 
89
+ # Backfill missing YAML require when not defined. Fixed since 3.1.0.pre1.
90
+ module YamlBackfiller
91
+ def to_yaml(opts = {})
92
+ Gem.load_yaml unless defined?(::YAML)
93
+
94
+ super(opts)
95
+ end
96
+ end
97
+
98
+ prepend YamlBackfiller
99
+
84
100
  def nondevelopment_dependencies
85
101
  dependencies - development_dependencies
86
102
  end
@@ -228,9 +244,3 @@ module Gem
228
244
  end
229
245
  end
230
246
  end
231
-
232
- module Gem
233
- class Specification
234
- include ::Bundler::MatchPlatform
235
- end
236
- end
@@ -104,18 +104,6 @@ module Bundler
104
104
  obj.to_s
105
105
  end
106
106
 
107
- def configuration
108
- require_relative "psyched_yaml"
109
- Gem.configuration
110
- rescue Gem::SystemExitException, LoadError => e
111
- Bundler.ui.error "#{e.class}: #{e.message}"
112
- Bundler.ui.trace e
113
- raise
114
- rescue ::Psych::SyntaxError => e
115
- raise YamlSyntaxError.new(e, "Your RubyGems configuration, which is " \
116
- "usually located in ~/.gemrc, contains invalid YAML syntax.")
117
- end
118
-
119
107
  def ruby_engine
120
108
  Gem.ruby_engine
121
109
  end
@@ -217,7 +205,7 @@ module Bundler
217
205
 
218
206
  def spec_from_gem(path, policy = nil)
219
207
  require "rubygems/security"
220
- require_relative "psyched_yaml"
208
+ require "psych"
221
209
  gem_from_path(path, security_policies[policy]).spec
222
210
  rescue Exception, Gem::Exception, Gem::Security::Exception => e # rubocop:disable Lint/RescueException
223
211
  if e.is_a?(Gem::Security::Exception) ||
@@ -522,7 +510,7 @@ module Bundler
522
510
 
523
511
  def gem_remote_fetcher
524
512
  require "rubygems/remote_fetcher"
525
- proxy = configuration[:http_proxy]
513
+ proxy = Gem.configuration[:http_proxy]
526
514
  Gem::RemoteFetcher.new(proxy)
527
515
  end
528
516
 
@@ -367,7 +367,7 @@ module Bundler
367
367
 
368
368
  def to_array(value)
369
369
  return [] unless value
370
- value.split(":").map(&:to_sym)
370
+ value.tr(" ", ":").split(":").map(&:to_sym)
371
371
  end
372
372
 
373
373
  def array_to_s(array)
@@ -141,7 +141,7 @@ module Bundler
141
141
  end
142
142
  return unless multiple_gemfiles
143
143
  message = "Multiple gemfiles (gems.rb and Gemfile) detected. " \
144
- "Make sure you remove Gemfile and Gemfile.lock since bundler is ignoring them in favor of gems.rb and gems.rb.locked."
144
+ "Make sure you remove Gemfile and Gemfile.lock since bundler is ignoring them in favor of gems.rb and gems.locked."
145
145
  Bundler.ui.warn message
146
146
  end
147
147
 
@@ -2,11 +2,12 @@
2
2
 
3
3
  module Bundler
4
4
  class SourceMap
5
- attr_reader :sources, :dependencies
5
+ attr_reader :sources, :dependencies, :locked_specs
6
6
 
7
- def initialize(sources, dependencies)
7
+ def initialize(sources, dependencies, locked_specs)
8
8
  @sources = sources
9
9
  @dependencies = dependencies
10
+ @locked_specs = locked_specs
10
11
  end
11
12
 
12
13
  def pinned_spec_names(skip = nil)
@@ -54,5 +55,17 @@ module Bundler
54
55
  requirements
55
56
  end
56
57
  end
58
+
59
+ def locked_requirements
60
+ @locked_requirements ||= begin
61
+ requirements = {}
62
+ locked_specs.each do |locked_spec|
63
+ source = locked_spec.source
64
+ source.add_dependency_names(locked_spec.name)
65
+ requirements[locked_spec.name] = source
66
+ end
67
+ requirements
68
+ end
69
+ end
57
70
  end
58
71
  end
@@ -6,17 +6,11 @@ TODO: Delete this and the text above, and describe your gem
6
6
 
7
7
  ## Installation
8
8
 
9
- Add this line to your application's Gemfile:
9
+ Install the gem and add to the application's Gemfile by executing:
10
10
 
11
- ```ruby
12
- gem '<%= config[:name] %>'
13
- ```
11
+ $ bundle add <%= config[:name] %>
14
12
 
15
- And then execute:
16
-
17
- $ bundle install
18
-
19
- Or install it yourself as:
13
+ If bundler is not being used to manage dependencies, install the gem by executing:
20
14
 
21
15
  $ gem install <%= config[:name] %>
22
16
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Bundler
4
- VERSION = "2.3.6".freeze
4
+ VERSION = "2.3.9".freeze
5
5
 
6
6
  def self.bundler_major_version
7
7
  @bundler_major_version ||= VERSION.split(".").first.to_i
data/lib/bundler.rb CHANGED
@@ -654,7 +654,7 @@ EOF
654
654
  private
655
655
 
656
656
  def eval_yaml_gemspec(path, contents)
657
- require_relative "bundler/psyched_yaml"
657
+ Kernel.require "psych"
658
658
 
659
659
  Gem::Specification.from_yaml(contents)
660
660
  rescue ::Psych::SyntaxError, ArgumentError, Gem::EndOfYAMLException, Gem::Exception
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bundler
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.6
4
+ version: 2.3.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - André Arko
@@ -22,7 +22,7 @@ authors:
22
22
  autorequire:
23
23
  bindir: exe
24
24
  cert_chain: []
25
- date: 2022-01-26 00:00:00.000000000 Z
25
+ date: 2022-03-09 00:00:00.000000000 Z
26
26
  dependencies: []
27
27
  description: Bundler manages an application's dependencies through its entire life,
28
28
  across many machines, systematically and repeatably
@@ -178,7 +178,6 @@ files:
178
178
  - lib/bundler/plugin/installer/rubygems.rb
179
179
  - lib/bundler/plugin/source_list.rb
180
180
  - lib/bundler/process_lock.rb
181
- - lib/bundler/psyched_yaml.rb
182
181
  - lib/bundler/remote_specification.rb
183
182
  - lib/bundler/resolver.rb
184
183
  - lib/bundler/resolver/spec_group.rb
@@ -370,7 +369,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
370
369
  - !ruby/object:Gem::Version
371
370
  version: 2.5.2
372
371
  requirements: []
373
- rubygems_version: 3.3.6
372
+ rubygems_version: 3.3.9
374
373
  signing_key:
375
374
  specification_version: 4
376
375
  summary: The best way to manage your application's dependencies
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- begin
4
- require "psych"
5
- rescue LoadError
6
- # Apparently Psych wasn't available. Oh well.
7
- end
8
-
9
- # At least load the YAML stdlib, whatever that may be
10
- require "yaml" unless defined?(YAML.dump)