4

2つのターゲットを持つガントスクリプトAがあります

t1-デフォルトのターゲットt2-別のターゲット

走っても

grails A t2

デフォルトのターゲットは実行されますか?デフォルト以外のターゲットを実行するにはどうすればよいですか?grails A --target ='t2'などを試しましたが、機能しません。

4

3 に答える 3

3

適切な方法があるかどうかはわかりませんが、これをロードしてそのターゲットをデフォルトとして設定する2番目のスクリプト( "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 に答える