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両方のバージョンでユーザー入力を求められました。

documentationによると、--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 に答える