Reading time: 1 – 2 minutes
Working on os x with Spaces means I want to read something on another space instead of waiting idly for a 50 second build. But, I don’t want to get distracted. So, I use Growl and growlnotify for notifications of the build’s completion.
#!/bin/sh # this file is called: mvn (and is executable, and added to path before actual mvn command) # capture all args passed in to forward to real mvn ARGS=$* # We need the client's specific settings.xml, so always specify it now /usr/bin/mvn -s /Volumes/TrueCryptClient/opt/maven/conf/settings.xml $ARGS # when you have growlnotify installed and on your path, this will pop it up # when the build is done growlnotify -m "DONE: maven $ARGS"
Note: if you get this error from growlnotify: could not find local GrowlApplicationBridgePathway, falling back to NSDNC, it probably means growl is not started. Start up growl in your System Preferences.
Update: Thanks Cosmin, for the enhancement. Use this snipped in the script. Have an environmental variable for what the notify command is. And say what the build status is in the growl notify.:
if [[ -n $NOTIFY ]]; then ($command && $NOTIFY "Build Complete" && exit 0) || ($NOTIFY "Build Failed" && exit 127) else $command fi