我有兩個目標如何調用非默認的目標Grails的Gant腳本文件
T1一個GANT腳本A - 默認目標 T2 - 另一個目標
即使當我運行
Grails的A T2
默認目標是否運行?我如何運行非默認目標? 我試過grails A --target ='t2'等,但不起作用。
我有兩個目標如何調用非默認的目標Grails的Gant腳本文件
T1一個GANT腳本A - 默認目標 T2 - 另一個目標
即使當我運行
Grails的A T2
默認目標是否運行?我如何運行非默認目標? 我試過grails A --target ='t2'等,但不起作用。
我不確定是否有合適的方法來完成此操作,但您可以編寫第二個腳本(「T2.groovy」)加載此腳本並將該目標設置爲其默認值,例如,
includeTargets << new File("path/to/YourScript")
setDefaultTarget("t2")
謝謝伯特。這就是我現在所做的。我創建了兩個腳本T1.groovy和T2.groovy – Paras 2010-06-28 02:51:40
這是另一種方法,我把
includeTargets << grailsScript("_GrailsArgParsing")
剪斷
target(main: "a script") {
if(!argsMap.target)
throw new IllegalArgumentException("please specify target name with --target option")
depends(argsMap.target)
}
setDefaultTarget(main)
您運行帶參數的腳本。該參數是要運行的方法的名稱:)然後執行該方法。
對argsParsing方法的一個調整是運行argsMap中的元素並迭代地依賴它們。所以,你可以打電話給你的腳本是這樣的:
grails myScript do-this do-that do-the-other
scriptName = 'myScriptName'
includeTargets << grailsScript("_GrailsArgParsing")
剪斷
target(main: "Default Target") {
depends(parseArguments)
if(argsMap?.size() == 0) {
depends(scriptError)
}
argsMap.each() {
if (it.value) {
println "${scriptName} building: ${it.value}"
depends(it.value)
}
else {
depends(scriptError)
}
}
}
剪斷
target(help: "Print a help message") {
println "${scriptName}: possible targets are..."
println "\thelp - print this help message"
}
target(scriptError: "Print an error and die") {
println "${scriptName}: Please specify at least one target name"
depends(help)
exit 1
}
你曾經想出解決辦法?我正嘗試擁有一個腳本文件並能夠運行多個不同的目標 – chrislovecnm 2011-10-10 18:49:32
對不起,我無法弄清楚。很久以前,我不記得我做了什麼。但據我記得,我遵循伯特關於創建另一個劇本的建議。 – Paras 2011-10-18 17:42:38