Skip to content

Instantly share code, notes, and snippets.

@andykant
Created March 17, 2010 20:47
Show Gist options
  • Save andykant/335707 to your computer and use it in GitHub Desktop.
Save andykant/335707 to your computer and use it in GitHub Desktop.
#!/opt/local/bin/zsh
PROJECT_PATH=$HOME/Projects/project
PROJECT_JAR=$PROJECT_PATH/java-libraries
PROJECT_MAIN=$PROJECT_PATH/main
PROJECT_TEST=$PROJECT_PATH/test
PROJECT_JSAPI=$PROJECT_PATH/docs/jsapi/index.html
PROJECT_SELENIUM=$PROJECT_JAR/selenium
PROJECT_SELENIUM_SERVER=selenium-server-1.0.3.jar
PROJECT_KERBEROS=project@project.com
case "$1" in
start|restart)
ps -ef | grep $PROJECT_PATH | sed -n '/java/{/grep/!p;}' | awk '{print$2}' | xargs kill 1>/dev/null 2>/dev/null
ps -ef | sed -n '/selenium-server/{/grep/!p;}' | awk '{print$2}' | xargs kill 1>/dev/null 2>/dev/null
cd $PROJECT_TEST
ant run 1>/dev/null 2>/dev/null &
cd $PROJECT_MAIN
ant run
;;
stop)
ps -ef | grep $PROJECT_PATH | sed -n '/java/{/grep/!p;}' | awk '{print$2}' | xargs kill 1>/dev/null 2>/dev/null
ps -ef | sed -n '/selenium-server/{/grep/!p;}' | awk '{print$2}' | xargs kill 1>/dev/null 2>/dev/null
echo "Project stopped." >&2
;;
status)
ps -ef | grep $PROJECT_PATH | sed -n '/java/{/grep/!p;}' | awk '{print$2}' | xargs echo "Project status:"
;;
jsdoc)
cd $PROJECT_MAIN
ant jsdoc
echo "Project JSDoc generated." >&2
;;
selenium)
cd $PROJECT_SELENIUM
java -server -jar $PROJECT_SELENIUM_SERVER
;;
test)
cd $PROJECT_SELENIUM
java -server -jar $PROJECT_SELENIUM_SERVER &
sleep 5
cd $PROJECT_MAIN
ant test
ps -ef | sed -n '/selenium-server/{/grep/!p;}' | awk '{print$2}' | xargs kill 1>/dev/null 2>/dev/null
echo "Project tests ran." >&2
;;
api)
open $PROJECT_JSAPI &
;;
auth)
kdestroy 1>/dev/null 2>/dev/null
kinit $PROJECT_KERBEROS
;;
db)
mongo localhost/project
;;
*)
echo "Usage: project [start|restart|stop|status|jsdoc|selenium|test|api|auth|db]" >&2
exit 3
;;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment