blob: 68dd250688a115894331baafdcc2be8656edb8f6 [file] [log] [blame]
// start from inside samples dir
// consts in binding
CMD = 'cmd /c ' // todo: make this os-aware
APP_NAME = 'myapp'
BO_NAME = 'mydomain'
ANT = new AntBuilder()
ANT.delete(dir:APP_NAME, quiet:true)
console('grails create-app', APP_NAME)
appConsole('grails create-domain-class', BO_NAME)
// do something to domain class here...
appConsole('grails generate-all', BO_NAME)
// unit testing, building etc. here?
appConsole('grails create-webtest', '')
appConsole('grails generate-webtest', BO_NAME)
// start the jetty server as external process
// or rely on tomcat hot deployment
appConsole('grails run-webtest', BO_NAME)
// --------- implementation methods -----------
void appConsole(String command, String input){
console "cd $APP_NAME && " + command , input
}
void console(String command, String input) {
def proc = (CMD + command).execute()
Thread.start { System.out << proc.in }
Thread.start { System.err << proc.err }
proc << input + "\n"
proc.out.close()
proc.waitForOrKill(0)
}