2013-06-18 59 views
0

我目前使用Eclipse(STS)的Gradle插件。我試圖獲得一些用戶輸入來配置任務。使用守護進程,讀取用戶輸入存在問題。所以,我試圖使用Groovy Pop。Gradle:如何獲取用戶輸入

我有一個任務是調用構建並顯示彈出窗口。

task getUserInfo << { 
    def sb = new SwingBuilder() 
    sb.frame(title: 'Info', 
      location: [400, 50], 
      pack: true, 
      show: true, 
      defaultCloseOperation: JFrame.EXIT_ON_CLOSE) { 
     gridLayout(columns: 2, rows: 4) 
     label('First name:') 
     textField(id: 'firstName')  

     label('Last name:') 
     textField(id: 'lastName') 

     button(text: 'Enter', actionPerformed: { 
     myGlobalVariable = "info: ${firstName.text} ${lastName.text}" 
    } 

另外,我創建另一個任務: task deploy(dependsOn: getUserInput) { doLast {...} }。在這個任務中,我嘗試讀取包含用戶輸入結果的全局變量。 但問題是,Gradle繼續執行部署任務,無需等待我的輸入。

如何解決該問題以在執行其他任務之前閱讀用戶輸入?

感謝您的任何幫助。

+0

試試Tim Roes的這個例子。 https://www.timroes.de/2014/01/19/using-password-prompts-with-gradle-build-files/ – Piohen

回答

0

這是一個真正的Swing問題,即如何創建一個模態對話框。 Getting the User's Input from a Dialog有一個例子。

+0

對不起,我遲到的迴應。我將其改爲模態對話框,現在它的作品完美無缺。感謝您的幫助 – naike