2011-11-28 126 views
4

我正在将我们的Capistrano部署应用程序切换到Gradle。在执行Gradle任务之前获取用户选择

这里要求脚本用户交互。

我坚持在任务之间提供用户输入。

task('hello') << { 
    println "hello" } 

task('copy', type: Copy) { 
    some_user_input = prompt("Are you sure to copy this file. ") ... // Here wants something like that 
    if(some_user_input==true){ 
     from(file('srcDir')) 
     into(buildDir) 
    } } 

我在寻找这样的问题的解决方案。如果你知道这种方式比请让我知道。

在此先感谢。

回答

1

您是否尝试过使用控制台?例如:

if (System.console().readLine().toLowerCase() == 'y') ... 
10

Gradle允许您在构建脚本中使用现有的Ant任务。您可以使用[蚂蚁输入任务] [1]来实现这一点:

ant.input(message: 'Are you sure to copy this file?', validargs: 'y,n', addproperty: 'doDeleteFile') 

if(ant.doDeleteFile == 'y') { 
    // Call copy task 
} 

注意,不像System.console()这还与摇篮守护进程(在Linux上测试)。

相关问题