An Immutant Plugin For Boot Redux
Last year, we released a Boot plugin for building Immutant WAR archives for deploying to the WildFly application server. This initial version was basically a port of the lein-immutant plugin and didn't really behave as a proper Boot plugin should (mainly by writing outside of and ignoring files in the fileset).
This made it difficult to use the plugin for anything other than a vanilla project, so we rewrote the plugin to be a better Boot citizen.
The new plugin provides two tasks: boot.immutant/gird
and
boot.immutant/test-in-container
. The gird
task adds the files
needed to activate an Immutant application in WildFly to the fileset,
allowing you to use standard Boot tasks to assemble the other contents
and actually create the war:
(require '[boot.immutant :refer :all]) (deftask build-war [] (comp (uber :as-jars true) (aot :all true) (gird :init-fn 'my-app.core/init) (war) (target)))
For more details on the gird
task, see the deployment guide.
The test-in-container
task will take an Immutant WAR, spin up a
WildFly container, deploy the WAR, run your tests, and shut it
down. To build on the above example:
(deftask run-tests [] (comp (build-dev-war) (test-in-container)))
For more details on the test-in-container
task, see the
testing guide.
If you're a Boot + Immutant + WildFly user, please see the README for installation instructions, give it a try and let us know if you run in to any issues, either through the usual channels or by filing an issue.