0

我正在使用 Grails 2.5.0。

给定一个非常简单的 Gant 脚本,如下所示,我将其放入grails-app/scripts/TestScript.groovy

includeTargets << grailsScript("_GrailsInit")

target(test: "The description of the script goes here!") {
    ant.input(addProperty: 'name', message: "What's your name ? ", defaultvalue: 'anonymous')
    println "Hello ${ant.antProject.properties.name}"
}

setDefaultTarget(test)

如何使其与 --non-interactive 命令行标志一起使用?

我尝试运行它grails test-scriptgrails test-script --non-interactive两个版本都提示我输入用户输入。

根据文档,设置 --non-interactive 应该足以使其接受默认值(在这种情况下是匿名的),但事实并非如此。

4

1 回答 1

0

好吧,在看到这个源代码后,我想出了这个解决方案:

includeTargets << grailsScript("_GrailsInit")


target(test: "The description of the script goes here!") {
    def name = "anonymous"
    if (isInteractive) {
        ant.input(addProperty: 'name', message: "What's your name ? ", defaultvalue: name)
        name = ant.antProject.properties.name
    }
    println "Hello ${name}"
}

setDefaultTarget(test)

如果有更好的方法,我仍然愿意接受建议......

于 2015-05-18T21:04:55.693 回答