首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在grails gant脚本中调用非默认目标

如何在grails gant脚本中调用非默认目标
EN

Stack Overflow用户
提问于 2010-06-26 00:30:28
回答 3查看 1.6K关注 0票数 4

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

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

即使我跑步的时候

grails A t2

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-26 01:55:54

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

代码语言:javascript
复制
includeTargets << new File("path/to/YourScript")

setDefaultTarget("t2")
票数 3
EN

Stack Overflow用户

发布于 2011-12-02 03:25:21

对argsParsing方法的一种调整是遍历argsMap中的元素并迭代地依赖它们。因此,您可以将脚本命名为类似于:

grails myScript do-this do-that do-the-other

代码语言:javascript
复制
scriptName = 'myScriptName'    
includeTargets << grailsScript("_GrailsArgParsing")

剪辑

代码语言:javascript
复制
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)
    }
  }
}

剪辑

代码语言:javascript
复制
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   
}
票数 3
EN

Stack Overflow用户

发布于 2011-10-20 04:59:13

这是我采取的另一种方法

代码语言:javascript
复制
includeTargets << grailsScript("_GrailsArgParsing")

剪辑

代码语言:javascript
复制
target(main: "a script") { 
    if(!argsMap.target)
        throw new IllegalArgumentException("please specify target name with --target option")

   depends(argsMap.target)
}

setDefaultTarget(main)

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3119718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档