Skip to content

Commit c3d4149

Browse files
deivid-rodriguezhsbt
authored andcommitted
[rubygems/rubygems] Avoid more warnings when using RubyGems with old Bundler
We were only avoiding them when the RUBYGEMS_GEMDEPS variable is used. Avoid the warnings in general, whenever the entrypoint to Bundler is `require`. ruby/rubygems@8683faef36
1 parent a93c684 commit c3d4149

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

lib/rubygems.rb

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -640,9 +640,8 @@ def self.load_safe_marshal
640640
# Load Bundler extensions to RubyGems, making sure to avoid redefinition
641641
# warnings in platform constants
642642

643-
def self.load_bundler_extensions
644-
require "bundler/version"
645-
return if Bundler::VERSION >= "2.6.9"
643+
def self.load_bundler_extensions(version)
644+
return unless version <= "2.6.9"
646645

647646
previous_platforms = {}
648647

@@ -1169,7 +1168,6 @@ def self.use_gemdeps(path = nil)
11691168

11701169
ENV["BUNDLE_GEMFILE"] ||= File.expand_path(path)
11711170
require_relative "rubygems/user_interaction"
1172-
Gem.load_bundler_extensions
11731171
require "bundler"
11741172
begin
11751173
Gem::DefaultUserInteraction.use_ui(ui) do

lib/rubygems/core_ext/kernel_require.rb

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,11 @@ def require(path) # :doc:
6464
rp
6565
end
6666

67-
Kernel.send(:gem, name, Gem::Requirement.default_prerelease) unless
68-
resolved_path
67+
next if resolved_path
68+
69+
Kernel.send(:gem, name, Gem::Requirement.default_prerelease)
70+
71+
Gem.load_bundler_extensions(Gem.loaded_specs[name].version) if name == "bundler"
6972

7073
next
7174
end

0 commit comments

Comments
 (0)