Получить выбор пользователя перед выполнением задачи Gradle - PullRequest
4 голосов
/ 28 ноября 2011

Я переключаю наше приложение для развертывания Capistrano на 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)
    } }

Я ищу решение такой проблемы.Если вы знаете о таком способе, чем, пожалуйста, дайте мне знать.

Заранее спасибо.

Ответы [ 2 ]

16 голосов
/ 28 ноября 2011

Gradle позволяет использовать существующие задачи Ant в вашем скрипте сборки. Вы можете использовать [Задача ввода 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() это также работает с Gradle Daemon (протестировано в Linux).

0 голосов
/ 28 ноября 2011

Вы пытались использовать консоль?Как то так:

if (System.console().readLine().toLowerCase() == 'y') ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...