Grails alias that intelligently uses proper version
Working with multiple versions of grails can sometimes be a hassle.
This bash function and alias will try its hardest to find the proper version of grails to use for the current directory. It will use grails wrapper if available first, but if not it will check the version defined in the application.properties file and use the grails installation for it. Should all else fail,it just falls through to regular grails
and assumes your GRAILS_HOME
is set appropriately.
This is adapted from Ted Naleid's solution, mostly to add support for grailsw
and improve the output a bit.
alias grails="execute_grails_version grails"
alias grails-debug="execute_grails_version grails-debug"
#Put your grails installations here, as 'grails-<version_number>'
GRAILS_LOCATIONS=/usr/share
function execute_grails_version() {
GRAILS_CMD=$1
shift
if [ -f grailsw ]; then
echo "[Found grailsw]"
./grailsw $*
else
if [ -f application.properties ]; then
export OLD_GRAILS_HOME=$GRAILS_HOME
export GRAILS_VERSION=`grep app.grails.version application.properties | sed -E 's/.*=(.*)/\1/'`
export GRAILS_HOME="$GRAILS_LOCATIONS/grails-$GRAILS_VERSION"
if [ ! -d $GRAILS_HOME ]; then
echo "[Unable to find $GRAILS_HOME, using $OLD_GRAILS_HOME]"
export GRAILS_HOME=$OLD_GRAILS_HOME
\grails $*
else
echo "[Found application.properties, using $GRAILS_HOME]"
$GRAILS_HOME/bin/$GRAILS_CMD $*
# Set it back
export GRAILS_HOME=$OLD_GRAILS_HOME
fi
else
\grails $*
fi
fi
}
Written by Rod Hilton
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Groovy
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#