I’m using warbler with rails 3.03 and bundler. It’s working fine so
far, but I ran into something last night that has me confused.
Warble does not seem to package all the dependencies of the gems
listed in Gemfile. If I look in WEB-INF/gems/gems some are missing.
The strange thing is it’s not missing gems that the app actually needs
to run. Not sure if I’m just missing something here, if it’s a bug,
or what.
I ran found out these were missing when I was playing around with
using jruby-complete.jar and setting GEM_PAT to WEB-INF/gems. That
doesn’t work and complains about the missing gems.
Chris
So I tracked this down. Warbler::Config.detect_bundler_gems doesn’t
package gem dependencies, only gems specifically listed in Gemfile.
This is different from what bundler itself does when it packages gems
in vendor/bundle. Bundler does include all dependencies.
Chris
So the simplest way I found to get warbler in sync with bundler was to
do this in warble.rb
require ‘bundler’
config.bundler = false
specs = Bundler.load.specs
specs.each do |spec|
print “Adding #{spec.name} to config.gems\n”
config.gems << spec
end
This should be a bug. Can you file a bug (either 1 or 2) with a
Gemfile where Warbler doesn’t pick up dependencies?
Thanks,
/Nick