diff options
| author | David RodrÃguez <deivid.rodriguez@riseup.net> | 2023-07-04 16:41:43 +0200 |
|---|---|---|
| committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2023-07-24 15:03:15 +0900 |
| commit | 8c82b3579154f12c19d916bd74c87dbe9818711e (patch) | |
| tree | 6f3bf21073a3da5a23c69fd98a78f09c2da2c756 | |
| parent | 0e7536bf490cf4b26cf075810e918a5840dbb08b (diff) | |
[rubygems/rubygems] Exclude Bundler from missing locked dependencies check
Bundler is special since it's not actually locked in the lockfile as a
regular gem (only via `BUNDLED WITH`). So exclude it from that check.
https://github.com/rubygems/rubygems/commit/9f1756ec47
| -rw-r--r-- | lib/bundler/definition.rb | 2 | ||||
| -rw-r--r-- | spec/bundler/runtime/setup_spec.rb | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb index 1970782d55..e043630c2d 100644 --- a/lib/bundler/definition.rb +++ b/lib/bundler/definition.rb @@ -700,7 +700,7 @@ module Bundler return if @dependency_changes current_dependencies.find do |d| - @locked_specs[d.name].empty? + @locked_specs[d.name].empty? && d.name != "bundler" end&.name end diff --git a/spec/bundler/runtime/setup_spec.rb b/spec/bundler/runtime/setup_spec.rb index 713cab2124..75f2a62868 100644 --- a/spec/bundler/runtime/setup_spec.rb +++ b/spec/bundler/runtime/setup_spec.rb @@ -639,6 +639,16 @@ RSpec.describe "Bundler.setup" do expect(err).to be_empty end + it "doesn't fail in frozen mode when bundler is a Gemfile dependency" do + install_gemfile <<~G + source "#{file_uri_for(gem_repo4)}" + gem "bundler" + G + + bundle "install --verbose", :env => { "BUNDLE_FROZEN" => "true" } + expect(err).to be_empty + end + it "doesn't re-resolve when deleting dependencies" do install_gemfile <<-G source "#{file_uri_for(gem_repo1)}" |
