From 32b14d640265fc91d0f5361520d05e36fb726674 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sun, 16 Nov 2014 21:18:19 -0800 Subject: [PATCH 1/3] First, setup Bundler. Then, require it. Per a conversation in https://github.com/bundler/bundler/issues/3252#issuecomment-63208769 --- lib/jekyll/plugin_manager.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/jekyll/plugin_manager.rb b/lib/jekyll/plugin_manager.rb index 61aa68dd..e709b608 100644 --- a/lib/jekyll/plugin_manager.rb +++ b/lib/jekyll/plugin_manager.rb @@ -37,7 +37,8 @@ module Jekyll false else require "bundler" - required_gems = Bundler.require(:jekyll_plugins) + Bundler.setup # puts all groups on the load path + Bundler.require(:jekyll_plugins) # requires the gems in this group only Jekyll.logger.debug("PluginManager:", "Required #{required_gems.map(&:name).join(', ')}") ENV["JEKYLL_NO_BUNDLER_REQUIRE"] = "true" true From 60202782ea9dabc166335d2247e78d120a8e9b74 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sun, 16 Nov 2014 21:21:50 -0800 Subject: [PATCH 2/3] Only try bundler if the Gemfile is there. --- lib/jekyll/plugin_manager.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/jekyll/plugin_manager.rb b/lib/jekyll/plugin_manager.rb index e709b608..b48969fe 100644 --- a/lib/jekyll/plugin_manager.rb +++ b/lib/jekyll/plugin_manager.rb @@ -33,7 +33,7 @@ module Jekyll end def self.require_from_bundler - if ENV["JEKYLL_NO_BUNDLER_REQUIRE"] + if ENV["JEKYLL_NO_BUNDLER_REQUIRE"] || !File.file?("Gemfile") false else require "bundler" From d17b80bf2af42ba034c44ea5ae96399516fe3f43 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sat, 22 Nov 2014 12:38:36 -0800 Subject: [PATCH 3/3] Keep track of the required gems. --- lib/jekyll/plugin_manager.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/jekyll/plugin_manager.rb b/lib/jekyll/plugin_manager.rb index b48969fe..a89908c6 100644 --- a/lib/jekyll/plugin_manager.rb +++ b/lib/jekyll/plugin_manager.rb @@ -38,7 +38,7 @@ module Jekyll else require "bundler" Bundler.setup # puts all groups on the load path - Bundler.require(:jekyll_plugins) # requires the gems in this group only + required_gems = Bundler.require(:jekyll_plugins) # requires the gems in this group only Jekyll.logger.debug("PluginManager:", "Required #{required_gems.map(&:name).join(', ')}") ENV["JEKYLL_NO_BUNDLER_REQUIRE"] = "true" true