Use Gem::BUNDLED_GEMS::SINCE

This commit is contained in:
Hiroshi SHIBATA 2023-07-27 15:17:48 +09:00
parent 989f3add62
commit 35517baae5
Notes: git 2023-07-28 05:57:32 +00:00
2 changed files with 15 additions and 19 deletions

View File

@ -1,10 +1,6 @@
# frozen_string_literal: true
require "rubygems" unless defined?(Gem)
begin
require "bundled_gems" unless defined?(Gem::BUNDLED_GEMS)
rescue LoadError
end
module Bundler
class RubygemsIntegration
@ -250,14 +246,14 @@ module Bundler
kernel_class.send(:alias_method, :no_warning_require, :require)
kernel_class.send(:define_method, :require) do |file|
name = file.to_s.tr("/", "-")
if (::Gem::BUNDLED_GEMS.keys - specs.to_a.map(&:name)).include?(name)
if (::Gem::BUNDLED_GEMS::SINCE.keys - specs.to_a.map(&:name)).include?(name)
unless $LOADED_FEATURES.any? {|f| f.end_with?("#{name}.rb", "#{name}.#{RbConfig::CONFIG["DLEXT"]}") }
target_file = begin
Bundler.default_gemfile.basename
rescue GemfileNotFound
"inline Gemfile"
end
warn "#{name} is not part of the default gems since Ruby #{::Gem::BUNDLED_GEMS[file]}." \
warn "#{name} is not part of the default gems since Ruby #{::Gem::BUNDLED_GEMS::SINCE[file]}." \
" Add it to your #{target_file}."
end
end
@ -388,7 +384,7 @@ module Bundler
def replace_entrypoints(specs)
specs_by_name = add_default_gems_to(specs)
if defined?(::Gem::BUNDLED_GEMS)
if defined?(::Gem::BUNDLED_GEMS::SINCE)
replace_require(specs)
else
reverse_rubygems_kernel_mixin

View File

@ -1567,9 +1567,9 @@ end
G
ruby <<-R
module Gem
remove_const :BUNDLED_GEMS if defined?(BUNDLED_GEMS)
BUNDLED_GEMS = { "csv" => "1.0.0" }
Gem.send(:remove_const, :BUNDLED_GEMS) if defined?(Gem::BUNDLED_GEMS)
module Gem::BUNDLED_GEMS
SINCE = { "csv" => "1.0.0" }
end
require 'bundler/setup'
require 'csv'
@ -1589,9 +1589,9 @@ end
G
ruby <<-R
module Gem
remove_const :BUNDLED_GEMS if defined?(BUNDLED_GEMS)
BUNDLED_GEMS = { "csv" => "1.0.0" }
Gem.send(:remove_const, :BUNDLED_GEMS) if defined?(Gem::BUNDLED_GEMS)
module Gem::BUNDLED_GEMS
SINCE = { "csv" => "1.0.0" }
end
require 'csv'
require 'bundler/setup'
@ -1612,9 +1612,9 @@ end
G
ruby <<-R
module Gem
remove_const :BUNDLED_GEMS if defined?(BUNDLED_GEMS)
BUNDLED_GEMS = { "csv" => "1.0.0" }
Gem.send(:remove_const, :BUNDLED_GEMS) if defined?(Gem::BUNDLED_GEMS)
module Gem::BUNDLED_GEMS
SINCE = { "csv" => "1.0.0" }
end
require 'bundler/setup'
require 'csv'
@ -1637,9 +1637,9 @@ end
G
ruby <<-R
module Gem
remove_const :BUNDLED_GEMS if defined?(BUNDLED_GEMS)
BUNDLED_GEMS = { "csv" => "1.0.0", "net-imap" => "0.0.1" }
Gem.send(:remove_const, :BUNDLED_GEMS) if defined?(Gem::BUNDLED_GEMS)
module Gem::BUNDLED_GEMS
SINCE = { "csv" => "1.0.0", "net-imap" => "0.0.1" }
end
require 'bundler/setup'
begin