2011-11-28 65 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上測試)。