gradle - 在执行 Gradle 任务之前获取用户选择

标签 gradle

我正在将我们用于 Capistrano 部署的应用程序切换到 Gradle 。

这里要求使脚本用户交互。

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

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)
    } }

我正在寻找此类问题的解决方案。如果您知道这种方式,请告诉我。

提前致谢 。

最佳答案

Gradle 允许您在构建脚本中使用现有的 Ant 任务。您可以使用 [Ant input task][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 守护程序(在 Linux 上测试)。

关于gradle - 在执行 Gradle 任务之前获取用户选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8297008/

相关文章:

android - 如何为 React Native 定义全局 gradle 路径

android - Android Studio 是如何启动 Gradle Daemon 的?

android - 使用 github 上托管的个人库作为 gradle 依赖项

android - 无法在Android Studio上加载现有项目

java - 无法使用 android studio 3.3 在 Mac 上解析 com.android.tools.build :gradle:3. 2.1

gradle - 如何在没有 jcenter 存储库的情况下使用 greenorg.greenrobot :greendao-gradle-plugin:3. 3.0?

git - Bamboo Gradle 构建失败并显示 "fatal: No names found, cannot describe anything"

android - 我可以在sdk.dir路径之外设置ndk.dir吗,为什么没有自动创建ndk.dir?

gradle - 如何为没有物理根的平面项目进行 Gradle 设置

Android 依赖设置为 compileOnly/provided 不支持