我需要使用grails事件脚本中的参数调用插件。我该怎么做?
具体来说,我正试图与eventCompile
挂钩以致电generate-dto --all
,将y
发送给STDIN。
答案 0 :(得分:0)
尝试使用--non-interactive argument
运行整个编译。我告诉Grails跳过用户的所有问题和输入,例如。如果在詹金斯(哈德森)担任工作。我不确定它是否会有所帮助,但你可以试试。我在Hudson上使用这个参数来测试我的应用程序并跳过有关更新插件的问题。
答案 1 :(得分:0)
最简单(也可能是最慢)的方法是在事件处理程序中调用grails。这有点棘手,因为generate-dto
生成了一个编译事件,但是你可以使它以系统属性为条件。第二个问题是所需的输入。按照惯例,grails脚本都应该接受--non-interactive
并且不提示用户,但dto插件似乎不遵循这一点。对于像Linux或MacOS X这样的Posix系统的解决方法是在yes
命令中输入grails输入。
以下是我如何运作:
// scripts/_Events.groovy
eventCompileStart = { args ->
if (Boolean.valueOf(System.getProperty('in.generate', "false"))) {
// skip
} else {
['bash', '-c', 'yes | grails -Din.generate=true generate-dto --all'].execute()
}
}