4

我有一个带有两个目标的甘特脚本 A

t1 - 默认目标 t2 - 另一个目标

即使我跑步

圣杯A t2

默认目标是运行?如何运行非默认目标?我已经尝试过 grails A --target='t2' 等但不起作用。

4

3 回答 3

3

我不确定是否有正确的方法,但是您可以编写第二个脚本(“T2.groovy”)来加载这个脚本并将该目标设置为其默认值,例如

includeTargets << new File("path/to/YourScript")

setDefaultTarget("t2")
于 2010-06-25T17:55:54.497 回答
3

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   
}
于 2011-12-01T19:25:20.520 回答
1

这是我采取的另一种方法

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)

您使用参数运行脚本。该参数是要运行的方法的名称:) 然后执行该方法。

于 2011-10-19T20:59:12.753 回答