我需要使用grails事件腳本中的參數調用插件。我該怎麼做呢?從grails事件調用grails命令?
具體而言,我試圖掛入eventCompile
撥打generate-dto --all
,發送y
STDIN。
我需要使用grails事件腳本中的參數調用插件。我該怎麼做呢?從grails事件調用grails命令?
具體而言,我試圖掛入eventCompile
撥打generate-dto --all
,發送y
STDIN。
最簡單(也可能是最慢)的方法是在事件處理函數中調用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()
}
}
嘗試使用--non-interactive argument
運行整個編譯。我告訴Grails跳過用戶的所有問題和輸入,例如。如果在詹金斯(哈德森)工作。我不確定它是否會有所幫助,但您可以嘗試。我在Hudson上使用這個參數來測試我的應用程序,並跳過關於更新插件的問題。
愛,更有趣的命令執行。我需要這個在Windows,Linux和Mac開發環境中運行,但我想我可以用cmd/c來解決問題。 – 2011-04-13 00:23:55