Choose Grails version and configure GRAILS_HOME automatically
We are using Grails actively to develop web applications. So we ended up with different applications using different versions of framework.
Setting up GRAILS_HOME
variable to point to different Grails release each time I switched to other application was really unpleasant hassle. So I thought about how to resolve this problem. Grails stores application version in application.properties
file, I came out to the following Bash script:
#!/bin/bash
# Get required Grails version
GRAILS_VERSION=`sed -n 's/app.grails.version=\(.*\)$/\1/p' < application.properties`
# Set Grails home using configured prefix and determined version
export GRAILS_HOME=$GRAILS_PREFIX$GRAILS_VERSION
# Run original Grails script
$GRAILS_HOME/bin/grails $@
It just parses the version from the application.properties
file and appends it to GRAILS_PREFIX
environment variable. The resulting value is exported into GRAILS_HOME
variable.
To use the aforementioned script you need to set GRAILS_PREFIX
variable to a value appropriate for your system. And of course your Grails distributions should be installed side-by-side in one common folder.
For example I have it set to /home/vg/tools/grails-
on my Linux box.
You can grab/fork script easily as a Gist on GitHub.
UPD: The script was updated to take some corner cases into account. See updated version of the script.
UPD 2: There is also version for Windows.
Shameless plug
We develop mobile and web apps, you can hire us to work on your next project.