Come eseguire gli obiettivi Gant dall'interno di un controller Grails?
Domanda
Supponiamo che io sono un blocco di codice Gant:
target(echo:"test"){
ant.echo(message:"hi")
}
setDefaultTarget("echo")
Questo è di solito eseguito da una riga di comando.
Come potrei posizionare il blocco in un controllore Grails ed eseguirlo da lì?
Soluzione
È possibile utilizzare AntBuilder per questo:
class FooController {
def index = {
def ant = new AntBuilder()
ant.echo(message:"hi")
}
}
Altri suggerimenti
È possibile creare un dire DynaScript_.groovy script di groove che contiene il codice di Gant e inserire questo file di script in {} grailsHome / cartella Script.
E poi si può richiamare il file di script dal vostro controller in questo modo:
class FooController {
def index = {
def process = "cmd /c grails dyna-script".execute()
def out = new StringBuilder()
process.waitForProcessOutput(out, new StringBuilder())
println "$out"
}
}
E 'importante che il nome script termina con un carattere di sottolineatura.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow