diff options
| -rw-r--r-- | lib/bundled_gems.rb | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/bundled_gems.rb b/lib/bundled_gems.rb index 0b6ae60b5f..429b34bef0 100644 --- a/lib/bundled_gems.rb +++ b/lib/bundled_gems.rb @@ -209,13 +209,24 @@ module Gem::BUNDLED_GEMS # :nodoc: builder = Bundler::Dsl.new + lockfile = nil if Bundler::SharedHelpers.in_bundle? && Bundler.definition.gemfiles.size > 0 Bundler.definition.gemfiles.each {|gemfile| builder.eval_gemfile(gemfile) } + lockfile = begin + Bundler.default_lockfile + rescue Bundler::GemfileNotFound + nil + end + else + # Fake BUNDLE_GEMFILE and BUNDLE_LOCKFILE to let checks pass + orig_gemfile = ENV["BUNDLE_GEMFILE"] + orig_lockfile = ENV["BUNDLE_LOCKFILE"] + Bundler::SharedHelpers.set_env "BUNDLE_GEMFILE", "Gemfile" + Bundler::SharedHelpers.set_env "BUNDLE_LOCKFILE", "Gemfile.lock" end builder.gem gem - lockfile = Bundler.default_lockfile definition = builder.to_definition(lockfile, nil) definition.validate_runtime! @@ -232,6 +243,8 @@ module Gem::BUNDLED_GEMS # :nodoc: rescue Bundler::GemNotFound warn "Failed to activate #{gem}, please install it with 'gem install #{gem}'" ensure + ENV['BUNDLE_GEMFILE'] = orig_gemfile if orig_gemfile + ENV['BUNDLE_LOCKFILE'] = orig_lockfile if orig_lockfile Bundler.ui = orig_ui Bundler::Definition.no_lock = orig_no_lock end |
