diff options
-rw-r--r-- | lib/bundler/environment_preserver.rb | 1 | ||||
-rw-r--r-- | lib/bundler/shared_helpers.rb | 1 | ||||
-rw-r--r-- | lib/rubygems.rb | 2 | ||||
-rw-r--r-- | spec/bundler/bundler/shared_helpers_spec.rb | 7 |
4 files changed, 11 insertions, 0 deletions
diff --git a/lib/bundler/environment_preserver.rb b/lib/bundler/environment_preserver.rb index 0f08e049d8..70967522af 100644 --- a/lib/bundler/environment_preserver.rb +++ b/lib/bundler/environment_preserver.rb @@ -7,6 +7,7 @@ module Bundler BUNDLE_BIN_PATH BUNDLE_GEMFILE BUNDLER_VERSION + BUNDLER_SETUP GEM_HOME GEM_PATH MANPATH diff --git a/lib/bundler/shared_helpers.rb b/lib/bundler/shared_helpers.rb index 899eb68e0a..0a6afe0e5a 100644 --- a/lib/bundler/shared_helpers.rb +++ b/lib/bundler/shared_helpers.rb @@ -284,6 +284,7 @@ module Bundler Bundler::SharedHelpers.set_env "BUNDLE_BIN_PATH", exe_file Bundler::SharedHelpers.set_env "BUNDLE_GEMFILE", find_gemfile.to_s Bundler::SharedHelpers.set_env "BUNDLER_VERSION", Bundler::VERSION + Bundler::SharedHelpers.set_env "BUNDLER_SETUP", File.expand_path("setup", __dir__) end def set_path diff --git a/lib/rubygems.rb b/lib/rubygems.rb index 915a899f38..43b1c45288 100644 --- a/lib/rubygems.rb +++ b/lib/rubygems.rb @@ -1348,3 +1348,5 @@ Gem::Specification.load_defaults require_relative "rubygems/core_ext/kernel_gem" require_relative "rubygems/core_ext/kernel_require" require_relative "rubygems/core_ext/kernel_warn" + +require ENV["BUNDLER_SETUP"] if ENV["BUNDLER_SETUP"] diff --git a/spec/bundler/bundler/shared_helpers_spec.rb b/spec/bundler/bundler/shared_helpers_spec.rb index 68a24be31c..569d6ed9cd 100644 --- a/spec/bundler/bundler/shared_helpers_spec.rb +++ b/spec/bundler/bundler/shared_helpers_spec.rb @@ -246,6 +246,13 @@ RSpec.describe Bundler::SharedHelpers do end end + shared_examples_for "ENV['BUNDLER_SETUP'] gets set correctly" do + it "ensures bundler/setup is set in ENV['BUNDLE_SETUP']" do + subject.set_bundle_environment + expect(ENV["BUNDLER_SETUP"]).to eq("#{source_lib_dir}/bundler/setup") + end + end + shared_examples_for "ENV['RUBYLIB'] gets set correctly" do let(:ruby_lib_path) { "stubbed_ruby_lib_dir" } |