After some great conversations in the ColdBox forums, I got inspired and whipped up our next version of our GroovyLoader project, part of our projects pack that you can find in our extras download.  This version includes several updates like it sports a new interceptor called GroovyStarter that you can configure in your coldbox.xml and the entire groovy environment will wrap itself and become available in any coldbox app.  Not only that, but now you can also add any amount of java library locations and the plugin will java load them at startup into your application.  These libraries can be Spring, Hibernate, Apache Commons, etc.  And to top it off, we also added the ability to groovy load one or more paths to the loader.  Before you had to configure the groovy class path to one single location where groovy scripts/classes could be found.  Now you can do as many as you like and the loader will try to find it in any of those locations.  Pretty Snazzy!! Finally, what good is a project without documentation, so we now have the project fully documented: http://ortus.svnrepository.com/coldbox/trac.cgi/wiki/cbGroovyLoader For those that do not know what you can do with ColdBox's GroovyLoader project, here is a simple list:
  • script in groovy in any part of the coldbox lifecycle using <groovy:script> tags
  • binding of variables between the groovy language and coldbox
  • ability to load groovy scripts
  • ability to load groovy classes with complex relationships
  • ability to load java libraries alongside groovy classes
  • no need to tweak the server or configure the server for operation
  • much more...
Look how hard it is to add groovy language support to a ColdBox App: /${Setting: AppMapping not found}/model/groovy /${Setting: AppMapping not found}/model/lib