Fix #4856: Don't rescue LoadError or bundler load errors for Bundler.

When it comes to bundler it's smart enough to know what to require, and in casees it's not, it's smart enough to accept :require.  In most cases when bundler has a LoadError (or otherwise) it's because there is a problem inside of the Gem itself and when this happens, Jekyll will happily let that error slip when it shouldn't, resulting in a badly placed error that is actually wrong. This corrects that so errors can surface properly.
This commit is contained in:
Jordon Bedwell 2016-04-29 06:35:58 -05:00
parent b8e7669228
commit 44cf61d241
No known key found for this signature in database
GPG Key ID: E051B220DFADB075
1 changed files with 4 additions and 4 deletions

View File

@ -30,16 +30,16 @@ module Jekyll
def self.require_from_bundler
if !ENV["JEKYLL_NO_BUNDLER_REQUIRE"] && File.file?("Gemfile")
require "bundler"
Bundler.setup # puts all groups on the load path
required_gems = Bundler.require(:jekyll_plugins) # requires the gems in this group only
Bundler.setup
required_gems = Bundler.require(:jekyll_plugins)
Jekyll.logger.debug("PluginManager:", "Required #{required_gems.map(&:name).join(', ')}")
ENV["JEKYLL_NO_BUNDLER_REQUIRE"] = "true"
true
else
false
end
rescue LoadError, Bundler::GemfileNotFound
false
end
# Check whether a gem plugin is allowed to be used during this build.