diff options
| author | David RodrÃguez <deivid.rodriguez@riseup.net> | 2024-08-02 20:59:31 +0200 |
|---|---|---|
| committer | git <svn-admin@ruby-lang.org> | 2024-08-05 17:27:11 +0000 |
| commit | 540bcf524850854fdf199096da1e0e829e1dfbe9 (patch) | |
| tree | d8b56d924f67b17f5ec08678a32c3c8b97ab9591 /lib | |
| parent | dc804bd83c79d39eac71ca1a369061a8ba1b4ace (diff) | |
[rubygems/rubygems] Fix locked source not getting respected when `bundle update <specific_gem>` is run
https://github.com/rubygems/rubygems/commit/eec6830c04
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/bundler/definition.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb index 31b9517693..d2cab437a0 100644 --- a/lib/bundler/definition.rb +++ b/lib/bundler/definition.rb @@ -214,6 +214,7 @@ module Bundler @resolve = nil @resolver = nil @resolution_packages = nil + @source_requirements = nil @specs = nil Bundler.ui.debug "The definition is missing dependencies, failed to resolve & materialize locally (#{e})" @@ -499,6 +500,8 @@ module Bundler @unlocking end + attr_writer :source_requirements + private attr_reader :sources @@ -971,6 +974,10 @@ module Bundler end def source_requirements + @source_requirements ||= find_source_requirements + end + + def find_source_requirements # Record the specs available in each gem's source, so that those # specs will be available later when the resolver knows where to # look for that gemspec (or its dependencies) @@ -1052,6 +1059,7 @@ module Bundler def dup_for_full_unlock unlocked_definition = self.class.new(@lockfile, @dependencies, @sources, true, @ruby_version, @optional_groups, @gemfiles) + unlocked_definition.source_requirements = source_requirements unlocked_definition.gem_version_promoter.tap do |gvp| gvp.level = gem_version_promoter.level gvp.strict = gem_version_promoter.strict |
