diff options
Diffstat (limited to 'spec/bundler/support/hax.rb')
-rw-r--r-- | spec/bundler/support/hax.rb | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/spec/bundler/support/hax.rb b/spec/bundler/support/hax.rb index 4b5c5dd94c..7529dc460a 100644 --- a/spec/bundler/support/hax.rb +++ b/spec/bundler/support/hax.rb @@ -9,13 +9,25 @@ module Gem Gem.ruby = ENV["RUBY"] end - class Platform - @local = new(ENV["BUNDLER_SPEC_PLATFORM"]) if ENV["BUNDLER_SPEC_PLATFORM"] + if ENV["BUNDLER_SPEC_PLATFORM"] + class Platform + @local = new(ENV["BUNDLER_SPEC_PLATFORM"]) + end + @platforms = [Gem::Platform::RUBY, Gem::Platform.local] + + if ENV["BUNDLER_SPEC_PLATFORM"] == "ruby" + class << self + remove_method :finish_resolve + + def finish_resolve + [] + end + end + end end - @platforms = [Gem::Platform::RUBY, Gem::Platform.local] # We only need this hack for rubygems versions without the BundlerVersionFinder - if Gem::Version.new(Gem::VERSION) < Gem::Version.new("2.7.0") || ENV["BUNDLER_SPEC_DISABLE_DEFAULT_BUNDLER_GEM"] + if Gem::Version.new(Gem::VERSION) < Gem::Version.new("2.7.0") @path_to_default_spec_map.delete_if do |_path, spec| spec.name == "bundler" end @@ -24,7 +36,7 @@ end if ENV["BUNDLER_SPEC_WINDOWS"] == "true" require_relative "path" - require "#{Spec::Path.lib_dir}/bundler/constants" + require "bundler/constants" module Bundler remove_const :WINDOWS if defined?(WINDOWS) @@ -34,8 +46,8 @@ end if ENV["BUNDLER_SPEC_API_REQUEST_LIMIT"] require_relative "path" - require "#{Spec::Path.lib_dir}/bundler/source" - require "#{Spec::Path.lib_dir}/bundler/source/rubygems" + require "bundler/source" + require "bundler/source/rubygems" module Bundler class Source |