Wie läuft Gant Ziele innerhalb eines Grails-Controller?
Frage
Angenommen, ich einen Block von Gant-Code haben:
target(echo:"test"){
ant.echo(message:"hi")
}
setDefaultTarget("echo")
Dies wird in der Regel von einer Befehlszeile ausgeführt werden.
Wie kann ich den Block in einem Grails-Controller legen und von dort ausführen?
Lösung
Sie können AntBuilder für diese verwenden:
class FooController {
def index = {
def ant = new AntBuilder()
ant.echo(message:"hi")
}
}
Andere Tipps
Sie können ein starkes Skript sagen DynaScript_.groovy erstellen, die Gant-Code enthält und legen Sie diese Skriptdatei im {grailsHome} / scripts Ordner.
Und dann können Sie die Skriptdatei aus Ihrem Controller wie folgt aufrufen:
class FooController {
def index = {
def process = "cmd /c grails dyna-script".execute()
def out = new StringBuilder()
process.waitForProcessOutput(out, new StringBuilder())
println "$out"
}
}
Es ist wichtig, dass Ihr Skript Name endet mit einem Unterstrich.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow