bundler 2.4.13 → 2.4.15

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2f398778d3a6ed24418f66d662473b293f06ac7cf5a8eae216e2bb801fc8511b
4
- data.tar.gz: 16e23bba1bf2d55e0b96c2a36a0407bfe4a2c4d8d858fa717fe491903e2e5e02
3
+ metadata.gz: d86d908aad51054ecd34b5431e5b831aa1290d51b1a0b84bbfa72993479f8bbe
4
+ data.tar.gz: ba67e60139c27838dc8a945f026d7551721b7a83c519631d595ab01a6ad42bf4
5
5
  SHA512:
6
- metadata.gz: d70332cfa48c7c7cb48cbb0eb0003b6b943f29bdb6be3d795f466027aa429069879a67d2a46ca82df7f7e22723f486875b65782c8cce656d10993e1671549ddb
7
- data.tar.gz: a3989657de73245ac7dae1ab62de41f02a2ef3bdcac5f3f66ec74c08e99e64d351b5e2bba483fd0a6bdb26921c0c08694ff1e5454090f4b5e9ec0eee94ef837c
6
+ metadata.gz: 0111c1f28e1069aece178f51b86a7786c335f2942c2df13efdc2c52066ae6ba1ad52eb249092f3e5bcb3729063249f5c2043e2e2d43263d6a029e6dac09c4c7c
7
+ data.tar.gz: 91e31ddab4115b5ae57385cb26e7b2eb66590bc1850ca008f3dd9fade35d7e28d147aac2dcb7a15904e4a2b60d430b5af4b7124d0f8de3a45304b1cd47ab6301
data/CHANGELOG.md CHANGED
@@ -1,3 +1,29 @@
1
+ # 2.4.15 (June 29, 2023)
2
+
3
+ ## Enhancements:
4
+
5
+ - Improve edge case error message [#6733](https://github.com/rubygems/rubygems/pull/6733)
6
+
7
+ ## Bug fixes:
8
+
9
+ - Fix `bundle lock --update --bundler` [#6213](https://github.com/rubygems/rubygems/pull/6213)
10
+
11
+ # 2.4.14 (June 12, 2023)
12
+
13
+ ## Enhancements:
14
+
15
+ - Stop publishing Gemfile in default gem template [#6723](https://github.com/rubygems/rubygems/pull/6723)
16
+ - Avoid infinite loops when hitting resolution bugs [#6722](https://github.com/rubygems/rubygems/pull/6722)
17
+ - Make `LockfileParser` usable with just a lockfile [#6694](https://github.com/rubygems/rubygems/pull/6694)
18
+ - Always rely on `$LOAD_PATH` when jumping from `exe/` to `lib/` [#6702](https://github.com/rubygems/rubygems/pull/6702)
19
+ - Make `frozen` setting take precedence over `deployment` setting [#6685](https://github.com/rubygems/rubygems/pull/6685)
20
+ - Show an error when trying to update bundler in frozen mode [#6684](https://github.com/rubygems/rubygems/pull/6684)
21
+
22
+ ## Bug fixes:
23
+
24
+ - Fix `deployment` vs `path` precedence [#6703](https://github.com/rubygems/rubygems/pull/6703)
25
+ - Fix inline mode with multiple sources [#6699](https://github.com/rubygems/rubygems/pull/6699)
26
+
1
27
  # 2.4.13 (May 9, 2023)
2
28
 
3
29
  ## Bug fixes:
data/exe/bundle CHANGED
@@ -10,11 +10,11 @@ end
10
10
  base_path = File.expand_path("../lib", __dir__)
11
11
 
12
12
  if File.exist?(base_path)
13
- require_relative "../lib/bundler"
14
- else
15
- require "bundler"
13
+ $LOAD_PATH.unshift(base_path)
16
14
  end
17
15
 
16
+ require "bundler"
17
+
18
18
  if Gem.rubygems_version < Gem::Version.new("3.2.3") && Gem.ruby_version < Gem::Version.new("2.7.a") && !ENV["BUNDLER_NO_OLD_RUBYGEMS_WARNING"]
19
19
  Bundler.ui.warn \
20
20
  "Your RubyGems version (#{Gem::VERSION}) has a bug that prevents " \
@@ -24,18 +24,10 @@ if Gem.rubygems_version < Gem::Version.new("3.2.3") && Gem.ruby_version < Gem::V
24
24
  "and silence this warning by running `gem update --system 3.2.3`"
25
25
  end
26
26
 
27
- if File.exist?(base_path)
28
- require_relative "../lib/bundler/friendly_errors"
29
- else
30
- require "bundler/friendly_errors"
31
- end
27
+ require "bundler/friendly_errors"
32
28
 
33
29
  Bundler.with_friendly_errors do
34
- if File.exist?(base_path)
35
- require_relative "../lib/bundler/cli"
36
- else
37
- require "bundler/cli"
38
- end
30
+ require "bundler/cli"
39
31
 
40
32
  # Allow any command to use --help flag to show help for that command
41
33
  help_flags = %w[--help -h]
@@ -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 = "2023-05-10".freeze
8
- @git_commit_sha = "26eb456c6c".freeze
7
+ @built_at = "2023-06-29".freeze
8
+ @git_commit_sha = "702f922bf2".freeze
9
9
  @release = true
10
10
  # end ivars
11
11
 
@@ -76,8 +76,11 @@ module Bundler
76
76
 
77
77
  @lockfile = lockfile
78
78
  @lockfile_contents = String.new
79
+
79
80
  @locked_bundler_version = nil
80
- @locked_ruby_version = nil
81
+ @resolved_bundler_version = nil
82
+
83
+ @locked_ruby_version = nil
81
84
  @new_platform = nil
82
85
  @removed_platform = nil
83
86
 
@@ -146,7 +149,7 @@ module Bundler
146
149
  @dependency_changes = converge_dependencies
147
150
  @local_changes = converge_locals
148
151
 
149
- @incomplete_lockfile = check_missing_lockfile_specs
152
+ @missing_lockfile_dep = check_missing_lockfile_dep
150
153
  end
151
154
 
152
155
  def gem_version_promoter
@@ -217,6 +220,7 @@ module Bundler
217
220
  rescue BundlerError => e
218
221
  @resolve = nil
219
222
  @resolver = nil
223
+ @resolution_packages = nil
220
224
  @specs = nil
221
225
  @gem_version_promoter = nil
222
226
 
@@ -233,6 +237,14 @@ module Bundler
233
237
  end
234
238
 
235
239
  def current_dependencies
240
+ filter_relevant(dependencies)
241
+ end
242
+
243
+ def current_locked_dependencies
244
+ filter_relevant(locked_dependencies)
245
+ end
246
+
247
+ def filter_relevant(dependencies)
236
248
  dependencies.select do |d|
237
249
  d.should_include? && !d.gem_platforms([generic_local_platform]).empty?
238
250
  end
@@ -272,7 +284,7 @@ module Bundler
272
284
  @resolve ||= if Bundler.frozen_bundle?
273
285
  Bundler.ui.debug "Frozen, using resolution from the lockfile"
274
286
  @locked_specs
275
- elsif !unlocking? && nothing_changed?
287
+ elsif no_resolve_needed?
276
288
  if deleted_deps.any?
277
289
  Bundler.ui.debug "Some dependencies were deleted, using a subset of the resolution from the lockfile"
278
290
  SpecSet.new(filter_specs(@locked_specs, @dependencies - deleted_deps))
@@ -309,7 +321,7 @@ module Bundler
309
321
 
310
322
  if @locked_bundler_version
311
323
  locked_major = @locked_bundler_version.segments.first
312
- current_major = Bundler.gem_version.segments.first
324
+ current_major = bundler_version_to_lock.segments.first
313
325
 
314
326
  updating_major = locked_major < current_major
315
327
  end
@@ -349,27 +361,16 @@ module Bundler
349
361
  end
350
362
  end
351
363
 
364
+ def bundler_version_to_lock
365
+ @resolved_bundler_version || Bundler.gem_version
366
+ end
367
+
352
368
  def to_lock
353
369
  require_relative "lockfile_generator"
354
370
  LockfileGenerator.generate(self)
355
371
  end
356
372
 
357
373
  def ensure_equivalent_gemfile_and_lockfile(explicit_flag = false)
358
- msg = String.new
359
- msg << "You are trying to install in deployment mode after changing\n" \
360
- "your Gemfile. Run `bundle install` elsewhere and add the\n" \
361
- "updated #{Bundler.default_lockfile.relative_path_from(SharedHelpers.pwd)} to version control."
362
-
363
- unless explicit_flag
364
- suggested_command = if Bundler.settings.locations("frozen").keys.&([:global, :local]).any?
365
- "bundle config unset frozen"
366
- elsif Bundler.settings.locations("deployment").keys.&([:global, :local]).any?
367
- "bundle config unset deployment"
368
- end
369
- msg << "\n\nIf this is a development machine, remove the #{Bundler.default_gemfile} " \
370
- "freeze \nby running `#{suggested_command}`." if suggested_command
371
- end
372
-
373
374
  added = []
374
375
  deleted = []
375
376
  changed = []
@@ -383,13 +384,8 @@ module Bundler
383
384
  deleted.concat deleted_deps.map {|d| "* #{pretty_dep(d)}" } if deleted_deps.any?
384
385
 
385
386
  both_sources = Hash.new {|h, k| h[k] = [] }
386
- @dependencies.each {|d| both_sources[d.name][0] = d }
387
-
388
- locked_dependencies.each do |d|
389
- next if !Bundler.feature_flag.bundler_3_mode? && @locked_specs[d.name].empty?
390
-
391
- both_sources[d.name][1] = d
392
- end
387
+ current_dependencies.each {|d| both_sources[d.name][0] = d }
388
+ current_locked_dependencies.each {|d| both_sources[d.name][1] = d }
393
389
 
394
390
  both_sources.each do |name, (dep, lock_dep)|
395
391
  next if dep.nil? || lock_dep.nil?
@@ -404,11 +400,20 @@ module Bundler
404
400
  end
405
401
 
406
402
  reason = change_reason
407
- msg << "\n\n#{reason.split(", ").map(&:capitalize).join("\n")}" unless reason.strip.empty?
403
+ msg = String.new
404
+ msg << "#{reason.capitalize.strip}, but the lockfile can't be updated because frozen mode is set"
408
405
  msg << "\n\nYou have added to the Gemfile:\n" << added.join("\n") if added.any?
409
406
  msg << "\n\nYou have deleted from the Gemfile:\n" << deleted.join("\n") if deleted.any?
410
407
  msg << "\n\nYou have changed in the Gemfile:\n" << changed.join("\n") if changed.any?
411
- msg << "\n"
408
+ msg << "\n\nRun `bundle install` elsewhere and add the updated #{Bundler.default_lockfile.relative_path_from(SharedHelpers.pwd)} to version control.\n"
409
+
410
+ unless explicit_flag
411
+ suggested_command = unless Bundler.settings.locations("frozen").keys.include?(:env)
412
+ "bundle config set frozen false"
413
+ end
414
+ msg << "If this is a development machine, remove the #{Bundler.default_gemfile.relative_path_from(SharedHelpers.pwd)} " \
415
+ "freeze by running `#{suggested_command}`." if suggested_command
416
+ end
412
417
 
413
418
  raise ProductionError, msg if added.any? || deleted.any? || changed.any? || !nothing_changed?
414
419
  end
@@ -473,7 +478,11 @@ module Bundler
473
478
  private :sources
474
479
 
475
480
  def nothing_changed?
476
- !@source_changes && !@dependency_changes && !@new_platform && !@path_changes && !@local_changes && !@incomplete_lockfile
481
+ !@source_changes && !@dependency_changes && !@new_platform && !@path_changes && !@local_changes && !@missing_lockfile_dep && !@unlocking_bundler
482
+ end
483
+
484
+ def no_resolve_needed?
485
+ !unlocking? && nothing_changed?
477
486
  end
478
487
 
479
488
  def unlocking?
@@ -487,7 +496,14 @@ module Bundler
487
496
  end
488
497
 
489
498
  def expanded_dependencies
490
- dependencies + metadata_dependencies
499
+ dependencies_with_bundler + metadata_dependencies
500
+ end
501
+
502
+ def dependencies_with_bundler
503
+ return dependencies unless @unlocking_bundler
504
+ return dependencies if dependencies.map(&:name).include?("bundler")
505
+
506
+ [Dependency.new("bundler", @unlocking_bundler)] + dependencies
491
507
  end
492
508
 
493
509
  def resolution_packages
@@ -553,6 +569,8 @@ module Bundler
553
569
  def start_resolution
554
570
  result = resolver.start
555
571
 
572
+ @resolved_bundler_version = result.find {|spec| spec.name == "bundler" }&.version
573
+
556
574
  SpecSet.new(SpecSet.new(result).for(dependencies, false, @platforms))
557
575
  end
558
576
 
@@ -610,7 +628,8 @@ module Bundler
610
628
  [@new_platform, "you added a new platform to your gemfile"],
611
629
  [@path_changes, "the gemspecs for path gems changed"],
612
630
  [@local_changes, "the gemspecs for git local gems changed"],
613
- [@incomplete_lockfile, "your lock file is missing some gems"],
631
+ [@missing_lockfile_dep, "your lock file is missing \"#{@missing_lockfile_dep}\""],
632
+ [@unlocking_bundler, "an update to the version of Bundler itself was requested"],
614
633
  ].select(&:first).map(&:last).join(", ")
615
634
  end
616
635
 
@@ -665,7 +684,7 @@ module Bundler
665
684
  !sources_with_changes.each {|source| @unlock[:sources] << source.name }.empty?
666
685
  end
667
686
 
668
- def check_missing_lockfile_specs
687
+ def check_missing_lockfile_dep
669
688
  all_locked_specs = @locked_specs.map(&:name) << "bundler"
670
689
 
671
690
  missing = @locked_specs.select do |s|
@@ -675,10 +694,14 @@ module Bundler
675
694
  if missing.any?
676
695
  @locked_specs.delete(missing)
677
696
 
678
- true
679
- else
680
- false
697
+ return missing.first.name
681
698
  end
699
+
700
+ return if @dependency_changes
701
+
702
+ current_dependencies.find do |d|
703
+ @locked_specs[d.name].empty?
704
+ end&.name
682
705
  end
683
706
 
684
707
  def converge_paths
@@ -862,8 +885,16 @@ module Bundler
862
885
  metadata_dependencies.each do |dep|
863
886
  source_requirements[dep.name] = sources.metadata_source
864
887
  end
865
- source_requirements[:default_bundler] = source_requirements["bundler"] || sources.default_source
866
- source_requirements["bundler"] = sources.metadata_source # needs to come last to override
888
+
889
+ default_bundler_source = source_requirements["bundler"] || sources.default_source
890
+
891
+ if @unlocking_bundler
892
+ default_bundler_source.add_dependency_names("bundler")
893
+ else
894
+ source_requirements[:default_bundler] = default_bundler_source
895
+ source_requirements["bundler"] = sources.metadata_source # needs to come last to override
896
+ end
897
+
867
898
  verify_changed_sources!
868
899
  source_requirements
869
900
  end
@@ -886,7 +917,8 @@ module Bundler
886
917
  if preserve_unknown_sections
887
918
  sections_to_ignore = LockfileParser.sections_to_ignore(@locked_bundler_version)
888
919
  sections_to_ignore += LockfileParser.unknown_sections_in_lockfile(current)
889
- sections_to_ignore += LockfileParser::ENVIRONMENT_VERSION_SECTIONS
920
+ sections_to_ignore << LockfileParser::RUBY
921
+ sections_to_ignore << LockfileParser::BUNDLED unless @unlocking_bundler
890
922
  pattern = /#{Regexp.union(sections_to_ignore)}\n(\s{2,}.*\n)+/
891
923
  whitespace_cleanup = /\n{2,}/
892
924
  current = current.gsub(pattern, "\n").gsub(whitespace_cleanup, "\n\n").strip
@@ -90,7 +90,7 @@ module Bundler
90
90
 
91
91
  Gem::Specification.reset # invalidate gem specification cache so that installed gems are immediately available
92
92
 
93
- lock unless Bundler.frozen_bundle?
93
+ lock
94
94
  Standalone.new(options[:standalone], @definition).generate if options[:standalone]
95
95
  end
96
96
  end
@@ -71,7 +71,7 @@ module Bundler
71
71
  end
72
72
 
73
73
  def add_bundled_with
74
- add_section("BUNDLED WITH", Bundler::VERSION)
74
+ add_section("BUNDLED WITH", definition.bundler_version_to_lock.to_s)
75
75
  end
76
76
 
77
77
  def add_section(name, value)
@@ -26,6 +26,7 @@ module Bundler
26
26
  KNOWN_SECTIONS = SECTIONS_BY_VERSION_INTRODUCED.values.flatten.freeze
27
27
 
28
28
  ENVIRONMENT_VERSION_SECTIONS = [BUNDLED, RUBY].freeze
29
+ deprecate_constant(:ENVIRONMENT_VERSION_SECTIONS)
29
30
 
30
31
  def self.sections_in_lockfile(lockfile_contents)
31
32
  lockfile_contents.scan(/^\w[\w ]*$/).uniq
@@ -160,7 +160,7 @@ module Bundler
160
160
  constraint_string = constraint.constraint_string
161
161
  requirements = constraint_string.split(" OR ").map {|req| Gem::Requirement.new(req.split(",")) }
162
162
 
163
- if name == "bundler"
163
+ if name == "bundler" && bundler_pinned_to_current_version?
164
164
  custom_explanation = "the current Bundler version (#{Bundler::VERSION}) does not satisfy #{constraint}"
165
165
  extended_explanation = bundler_not_found_message(requirements)
166
166
  else
@@ -230,6 +230,12 @@ module Bundler
230
230
  def all_versions_for(package)
231
231
  name = package.name
232
232
  results = (@base[name] + filter_prereleases(@all_specs[name], package)).uniq {|spec| [spec.version.hash, spec.platform] }
233
+
234
+ if name == "bundler" && !bundler_pinned_to_current_version?
235
+ bundler_spec = Gem.loaded_specs["bundler"]
236
+ results << bundler_spec if bundler_spec
237
+ end
238
+
233
239
  locked_requirement = base_requirements[name]
234
240
  results = filter_matching_specs(results, locked_requirement) if locked_requirement
235
241
 
@@ -254,6 +260,14 @@ module Bundler
254
260
  @source_requirements[name] || @source_requirements[:default]
255
261
  end
256
262
 
263
+ def default_bundler_source
264
+ @source_requirements[:default_bundler]
265
+ end
266
+
267
+ def bundler_pinned_to_current_version?
268
+ !default_bundler_source.nil?
269
+ end
270
+
257
271
  def name_for_explicit_dependency_source
258
272
  Bundler.default_gemfile.basename.to_s
259
273
  rescue StandardError
@@ -398,7 +412,7 @@ module Bundler
398
412
  end
399
413
 
400
414
  def bundler_not_found_message(conflict_dependencies)
401
- candidate_specs = filter_matching_specs(source_for(:default_bundler).specs.search("bundler"), conflict_dependencies)
415
+ candidate_specs = filter_matching_specs(default_bundler_source.specs.search("bundler"), conflict_dependencies)
402
416
 
403
417
  if candidate_specs.any?
404
418
  target_version = candidate_specs.last.version
@@ -94,7 +94,7 @@ module Bundler
94
94
  definition_method :requires
95
95
 
96
96
  def lock(opts = {})
97
- return if @definition.nothing_changed? && !@definition.unlocking?
97
+ return if @definition.no_resolve_needed?
98
98
  @definition.lock(Bundler.default_lockfile, opts[:preserve_unknown_sections])
99
99
  end
100
100
 
@@ -219,7 +219,6 @@ module Bundler
219
219
  def path
220
220
  configs.each do |_level, settings|
221
221
  path = value_for("path", settings)
222
- path = "vendor/bundle" if value_for("deployment", settings) && path.nil?
223
222
  path_system = value_for("path.system", settings)
224
223
  disabled_shared_gems = value_for("disable_shared_gems", settings)
225
224
  next if path.nil? && path_system.nil? && disabled_shared_gems.nil?
@@ -227,7 +226,9 @@ module Bundler
227
226
  return Path.new(path, system_path)
228
227
  end
229
228
 
230
- Path.new(nil, false)
229
+ path = "vendor/bundle" if self[:deployment]
230
+
231
+ Path.new(path, false)
231
232
  end
232
233
 
233
234
  Path = Struct.new(:explicit_path, :system_path) do
@@ -10,7 +10,7 @@ module Bundler
10
10
  # Ask for X gems per API request
11
11
  API_REQUEST_SIZE = 50
12
12
 
13
- attr_reader :remotes, :caches
13
+ attr_reader :remotes
14
14
 
15
15
  def initialize(options = {})
16
16
  @options = options
@@ -19,11 +19,14 @@ module Bundler
19
19
  @allow_remote = false
20
20
  @allow_cached = false
21
21
  @allow_local = options["allow_local"] || false
22
- @caches = [cache_path, *Bundler.rubygems.gem_cache]
23
22
 
24
23
  Array(options["remotes"]).reverse_each {|r| add_remote(r) }
25
24
  end
26
25
 
26
+ def caches
27
+ @caches ||= [cache_path, *Bundler.rubygems.gem_cache]
28
+ end
29
+
27
30
  def local_only!
28
31
  @specs = nil
29
32
  @allow_local = true
@@ -324,9 +327,9 @@ module Bundler
324
327
 
325
328
  def cached_path(spec)
326
329
  global_cache_path = download_cache_path(spec)
327
- @caches << global_cache_path if global_cache_path
330
+ caches << global_cache_path if global_cache_path
328
331
 
329
- possibilities = @caches.map {|p| package_path(p, spec) }
332
+ possibilities = caches.map {|p| package_path(p, spec) }
330
333
  possibilities.find {|p| File.exist?(p) }
331
334
  end
332
335
 
@@ -378,7 +381,6 @@ module Bundler
378
381
  idx = @allow_local ? installed_specs.dup : Index.new
379
382
 
380
383
  Dir["#{cache_path}/*.gem"].each do |gemfile|
381
- next if /^bundler\-[\d\.]+?\.gem/.match?(gemfile)
382
384
  s ||= Bundler.rubygems.spec_from_gem(gemfile)
383
385
  s.source = self
384
386
  idx << s
@@ -29,7 +29,8 @@ Gem::Specification.new do |spec|
29
29
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
30
30
  spec.files = Dir.chdir(__dir__) do
31
31
  `git ls-files -z`.split("\x0").reject do |f|
32
- (File.expand_path(f) == __FILE__) || f.start_with?(*%w[bin/ test/ spec/ features/ .git .circleci appveyor])
32
+ (File.expand_path(f) == __FILE__) ||
33
+ f.start_with?(*%w[bin/ test/ spec/ features/ .git .circleci appveyor Gemfile])
33
34
  end
34
35
  end
35
36
  spec.bindir = "exe"
@@ -162,7 +162,7 @@ module Bundler::PubGrub
162
162
  def resolve_conflict(incompatibility)
163
163
  logger.info { "conflict: #{incompatibility}" }
164
164
 
165
- new_incompatibility = false
165
+ new_incompatibility = nil
166
166
 
167
167
  while !incompatibility.failure?
168
168
  most_recent_term = nil
@@ -204,7 +204,7 @@ module Bundler::PubGrub
204
204
  solution.backtrack(previous_level)
205
205
 
206
206
  if new_incompatibility
207
- add_incompatibility(incompatibility)
207
+ add_incompatibility(new_incompatibility)
208
208
  end
209
209
 
210
210
  return incompatibility
@@ -219,9 +219,14 @@ module Bundler::PubGrub
219
219
  new_terms << difference.invert
220
220
  end
221
221
 
222
- incompatibility = Incompatibility.new(new_terms, cause: Incompatibility::ConflictCause.new(incompatibility, most_recent_satisfier.cause))
222
+ new_incompatibility = Incompatibility.new(new_terms, cause: Incompatibility::ConflictCause.new(incompatibility, most_recent_satisfier.cause))
223
223
 
224
- new_incompatibility = true
224
+ if incompatibility.to_s == new_incompatibility.to_s
225
+ logger.info { "!! failed to resolve conflicts, this shouldn't have happened" }
226
+ break
227
+ end
228
+
229
+ incompatibility = new_incompatibility
225
230
 
226
231
  partially = difference ? " partially" : ""
227
232
  logger.info { "! #{most_recent_term} is#{partially} satisfied by #{most_recent_satisfier.term}" }
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Bundler
4
- VERSION = "2.4.13".freeze
4
+ VERSION = "2.4.15".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
@@ -210,9 +210,10 @@ module Bundler
210
210
  end
211
211
 
212
212
  def frozen_bundle?
213
- frozen = settings[:deployment]
214
- frozen ||= settings[:frozen]
215
- frozen
213
+ frozen = settings[:frozen]
214
+ return frozen unless frozen.nil?
215
+
216
+ settings[:deployment]
216
217
  end
217
218
 
218
219
  def locked_gems
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.4.13
4
+ version: 2.4.15
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: 2023-05-10 00:00:00.000000000 Z
25
+ date: 2023-06-29 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
@@ -381,7 +381,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
381
381
  - !ruby/object:Gem::Version
382
382
  version: 3.0.1
383
383
  requirements: []
384
- rubygems_version: 3.4.13
384
+ rubygems_version: 3.4.15
385
385
  signing_key:
386
386
  specification_version: 4
387
387
  summary: The best way to manage your application's dependencies