Подход к 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
Извините, я не мог понять это. Это было давно, поэтому я не помню точно, что я сделал. Но, насколько я помню, я следил за советом Берт о создании другого сценария. – Paras