Gradle:如何获得用户输入

时间:2013-06-18 12:42:10

标签: groovy gradle

我目前正在使用Gradle Plugin for Eclipse(STS)。我正在尝试获取一些用户输入来配置任务。使用守护程序时,读取用户输入存在问题。所以,我尝试使用Groovy Pop up。

我有一个任务是调用构建并显示弹出窗口。

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继续执行部署任务而不等待我的输入。

如何在执行其他任务之前修复此问题以阅读用户输入?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这真是一个Swing问题,即如何创建模态对话框。 Getting the User's Input from a Dialog有一个例子。