#100: fix winstone URL
Add config.webserver to give choices for which lightweight Java webserver is used in an executable war.
Add jenkins-ci.winstone and jetty as embeddable servers
#76, #81: fix rubyzip “can’t modify frozen string” issue
#77, #78: Handle the case when multiple gems exists in a git path (Patrick Cheng)
#66: On Windows, File#unlink does not delete the file like it does on POSIX (Greg Mefford)
Check config/environment.rb in addition to production.rb for threadsafe (Joe Kutner)
#37, #64: Fix issues with Bundler and recent Rubygems/Rails
Note: 1.3.3 was YANKED due to #62
Move all jars to WEB-INF/lib, and leave an empty jar in the original place
Deal with private Kernel#gem method in recent RubyGems
Deal with Gem::Specification#full_gem_path changes in RG 1.8.x
GH #42: Tricks to allow Bundler to find git repo gems even when they are excluded form production
Compatibility with rake 0.9.x, avoid deprecation warnings and deal with new FileList exclusion behavior
Exclude config.bundle_without groups properly
Pin rake version to ~> 0.8.7 for now. Rake 0.9.0 compatibility will follow in a future release.
Warbler can now package regular Ruby projects as executable jar files. See the README.rdoc file for details.
WARBLER-18: Heed BUNDLE_GEMFILE in environment
WARBLER-17: Allow config.excludes to work for files in public/
GH#3, #12, #17: Properly bundle when BUNDLE_PATH is set or –deployment flag is used
JRUBY-5077, WARBLER-24: Gems from git repositories are now packaged correctly
GH#20: Ruby 1.9.2 support
GH#8: Clean up compiled .class files after building war
GH#15: Simplify detection of thread-safe Rails
Add –directoryListings=false to Winstone launch by default. In some cases (sinatra) Winstone’s directory listing masks application content. (Fletcher Nichol)
Build and add META-INF/init.rb file into the war file. This is recognized and loaded by JRuby-Rack 1.0.3 as a new way to do extra environment initialization before the web framework is loaded. See config.init_contents in Warbler::Config for details.
Drop compatibility with earlier versions of Bundler – Bundler has changed a lot in a short period of time, so I’m expecting the number of people depending on 0.8 or 0.9 to be small. Please use Warbler 1.2.0 with applications that depend on Bundler 1.0 or higher.
Support for Bundler groups. The ‘development’ and ‘test’ groups are excluded by default.
Add ‘compiled’ feature: With this feature added to config.features Warbler will pre-compile all Ruby files and will not ship the original Ruby source in your war file.
warble.rb: Add config.bundle_without that controls Bundler groups to be skipped, like ‘Bundler.settings.without’.
warble.rb: Add config.compiled_ruby_files to specify which Ruby files to compile when using the “compiled” feature. Defaults to compiling all Ruby files.
warble.rb: Add config.gem_excludes which allows exclusion of some gem files from the war. Default assumes no exclusions.
Exclude ‘tmp/war’ directory so that people upgrading from 0.9 won’t accidentally include it in their war file.
Add concept of “features” – small Rake tasks that run before the creation of the war file and make manipulations to the war file structure.
Add ‘gemjar’ feature: Bundle all gems into a gems.jar to reduce the number of files in the archive (mostly useful for Google AppEngine). Usage: run “warble gemjar war” or set config.features = %w(gemjar) in warble.rb to use this feature.
Add ‘executable’ feature: Bundle an embedded web server in the war file so that the entire application can be run as ‘java -jar myapp.war’. Usage: run “warble executable war” or set config.features = %w(executable) in warble.rb to use this feature. To see embedded webserver options, add ‘–help’ to the ‘java -jar’ command line.
No longer embed config.ru in web.xml as ‘rackup’ parameter by default. Instead, config.ru is included in the war file.
Bump jruby-rack version requirement to 0.9.8.
Tracking recent Bundler changes - handle locked Gemfiles differently than unlocked ones
Handle file-based symlinks, and warn about inoperational directory symlinks under non-JRuby versions of Ruby.
Add ‘warble pluginize’ task back. This task now just creates a vendor/plugins/warbler/tasks/warbler.rake file. There’s no need to “vendor” all of Warbler into your application anymore.
Fix careless bug where Warbler doesn’t work with JRuby 1.4
Warbler hits 1.0! There are enough structural changes in Warbler that I feel it’s time to roll the major version over to 1.0.
Add support for Bundler. Detect Gemfiles, make sure gems are included in the war file and rewrite .bundle/environment.rb inside the war file.
Warbler now uses RubyZip to create the war file in-place, without copying files to a tmp/war staging area. When run in JRuby it uses a Java ZipOutputStream for a modest performance boost.
Add config option to allow override of gem_home (Daniel Harrington).
Stop bundling jruby-rack, as promised.
WARBLER-3: don’t add from Rails config.gems if they are frozen
WARBLER-7: Add config.webinf_files option with more support for custom web.xml files
So, jruby-rack is bundled for one more release. 1.0 will not contain any jar files, I promise!
Upgraded jruby-rack to 0.9.5.
Unbundled jruby-complete jar in favor of new jruby-jars gem, which can be upgraded separately.
Skip gems which have no loaded_from attribute set (this happened with the Authlogic gem on Edge Rails) (thanks Laszlo Bacsi)
RailsConf 2009 edition.
Only bundled JRuby and JRuby-Rack upgrades. Bug fixes will have to come in 0.9.14.
This should also be the last release with bundled JRuby and JRuby-Rack.
Upgrade to JRuby 1.3.0RC1 and JRuby-Rack 0.9.4. The latter allows Rails 2.3 to work with Warbler.
Allow framework auto-detection to be disabled. Set `Warbler.framework_detection = false’ at the top of config/warble.rb or uncomment the line from a newly generated config.
Add configuration option to set manifest file (thanks Tommy McGuire)
Mitigate RubyGems 1.3 compatibility issue (thanks Jens Norrgrann)
Add experimental `war:exploded` task. This allows you to deploy your application in an exploded mode, thus allowing continual development without re-warring and re-deploying. Feedback is appreciated if you try this feature; it may not work in all application servers and for applications other than Rails.
Handle Rails gem dependencies better (thanks Laszlo Bacsi)
Auto-detect Merb dependencies (Merb >= 1.0 only). Please give feedback if you try Warbler with a Merb 1.0 app.
Ignore gem development dependencies
Upgrade to JRuby 1.1.6 and JRuby-Rack 0.9.3
Auto-detect Rails and Merb and configure appropriately
For Rails, set rails booter, determine max runtimes based on Rails.configuration.threadsafe!, add Rails gem, detect Rails version, set gems to be packaged based on Rails.configuration.gems if available
Rails gems only added if Rails application detected
For Merb, set merb booter automatically
Auto-detect config.ru rackup script and pass it into config.webxml.rackup
rails.env now commented by default in config/warble.rb and internally default the value to ‘production’
Default directories in config.dirs to only those that are found to be present
Allow config.gems array to contain regexps and Gem::Dependency objects as well
(assist from Jani Soila)
Fix bug ensuring you can += and -= for config.gems
Upgrade to JRuby 1.1.4 and JRuby-Rack 0.9.2
add [] as a way to specify non-identifier keys, example: config.webxml = ‘haha’
Upgraded to JRuby-Rack 0.9.1. Fixes JRUBY-2620, JRUBY-2594, JRUBY-2507.
Now verified to work with Camping and Sinatra. See github.com/nicksieger/jruby-rack/tree/master/examples for examples of how to configure Warbler to package your Camping and Sinatra apps.
Upgraded to JRuby 1.1.3.
Log files are no longer packaged in the .war file.
Fix #<Warbler::WebxmlOpenStruct …> appearing in web.xml and document workarounds.
Add config.autodeploy_dir that, when specified, will create the war there.
Now shipping with JRuby-Rack 0.9!
Upgrade to JRuby 1.1.1
warble.rb and web.xml.erb have changed as a result of the change to JRuby-Rack – we recommend comparing the new base copies with any existing configuration you have to make sure you pick up the differences.
Config changes:
– config.webxml.booter chooses what kind of application to use (:rails, :merb or plain :rack). – config.webxml.pool.* have been replaced by config.webxml.jruby.(min|max).runtimes – config.webxml.standalone and config.webxml.jruby_home no longer have any effect.
Fix bug in plugin warbler.rake task file that would favor loading warbler from gems before the version installed as a plugin
Upgrade to JRuby 1.1 final and Goldspike 1.6.1
Update bundled JRuby to 1.1RC3 and Goldspike to 1.6.
Fix inclusion of gems with platform-specific bits (e.g., Hpricot)
Update bundled JRuby to 1.1RC2, and Goldspike to 1.5.
The bundled JRuby and Goldspike now require JDK 5 or greater. If you wish to use JDK 1.4, use Warbler 0.9.2.
Update bundled JRuby to version 1.0.3 and Goldspike 1.4.
Add config.java_classes to allow you to copy loose Java classes into WEB-INF/classes.
Make jar command a single command string so that jar creation doesn’t fail (works around bug in JRuby 1.0.2)
Use File.join to form staging directory, should produce the proper jar-command path in Windows
Add rake >= 0.7.3 as a dependency in the gem specification.
Add debug tasks: war:debug, war:debug:gems, war:debug:public, war:debug:app, war:debug:includes, war:debug:excludes, war:debug:java_libs gives you a breakdown of what Warbler expects to package.
Birthday! Warbler is a gem to make a .war file out of a Rails project. The intent is to provide a minimal, flexible, ruby-like way to bundle up all of your application files for deployment to a Java application server.
Bundled versions: goldspike-1.4-SNAPSHOT and jruby-complete-1.0.1
Works as both a gem (rake application) or a plugin
Generated with the Darkfish Rdoc Generator 2.