Another quick script that I find quite useful, particularly on continuous integration servers is my Prepare.groovy script. It solves a couple of problems
Some plugins are not as well behaved as others on installation, for example the Functional Testing plugin automatically installs when
run-appis installed but will then immediately crash with a
ClassNotFoundExceptionbecause the libraries it depends on are not on the classpath yet. Re-running the command will then work but if the commands are part of a CI build it’s probably already bombed out and reported a broken build.
The Ivy plugin is great but
run-appwon’t invoke its
get-dependenciestarget to pull down libraries the way they will automatically install plugins.
Sometimes the grails command you want the build to execute is supplied by a plugin so there’s no convenient way to run it directly from a brand new workspace because the plugin isn’t installed yet.
The script simply ensures all plugins are installed and then invokes the Ivy plugin’s
get-dependencies target (only if the Ivy plugin is installed - it won’t blow up on you if you don’t use Ivy). At that point you should have a fully workable workspace and be able to run any grails command you like without your app complaining that some library or other isn’t present.