I don’t know if this is the correct place for this feedback, please
let me know if not.
We’ve recently released a Rails apps running under JRuby, and I’ve
some feedback stemming from our experience using Warbler for
deployment packaging. These are probably edge cases, but may be
worthwhile to someone. We also had some unusual demands, such as we
wanted to run the same app under Mongrel and Tomcat, Mongrel locally
and Tomcat in production, so I imagine someone using JRuby exclusively
may not have these issues.
When installing warbler as a plugin, it uses the native (MRI) rake,
which causes problems when non-native gems are used (e.g. hpricot) as
they will be pulled in rather than the JRuby/Java version. You could
pull in the appropriate JRuby gem into vendor, but then you’re stuck
running under jruby and things won’t work under mongrel (not optimal
for local development). The workaround is to install warbler as a gem
under JRuby, install the required gems under MRI and JRuby, and build
the war file under JRuby. This isn’t ideal as you’d like to pull all
dependencies into vendor if possible.
Overriding the libs by placing them into lib/java/ and setting
config.java_libs = FileList[“lib/java/*.jar”], then bundles the JARs
twice, once as you set them explicitly, then again as it bundles
everything under lib. Warbler should exclude these if they’re already
Log files (log/*) are included by default, they should be excluded.
This caused us quite a bit of grief as our ops guys were looking at
old (developer) log files, thinking they were local to the staging
machine. Solution is to explicitly exclude log files.
Rspec and testing plugins are included by default, not sure what to
do about this as there may be a time when you’d want them included at
runtime. Maybe documenting this explicitly would be fine. Workaround
is to explicitly include them.
Using warbler as a plugin, and building a war with rake pulls in a
bunch of gems even when they aren’t required, such as rake. Solution
is to remove the plugin and go back to the gem.
Hope this is helpful to someone.
To unsubscribe from this list, please visit: