26

在我的 gradle 文件中,我定义了以下任务:

task text_example <<
{
   //?!? commandLine ''
   println 'Fam Flinstone'
}

我想在这个任务里面放一些命令行。我怎样才能做到这一点 ?

我正在使用库自动在 google play 中发布。我的项目基于产品风味,我需要为我的每一种风味逐个命令行传递终端命令行。所以我想在test_example任务中传递所有命令行。

4

1 回答 1

46

您基本上有两个主要的方便选择:

  1. 使用 Gradle Exec任务类型

     task fooExec(type: Exec) {
         workingDir "${buildDir}/foo"
         commandLine 'echo', 'Hello world!'
         doLast {
             println "Executed!"
         }
     }
    
  2. 使用 Gradle Project.exec方法

     task execFoo {
         doLast {
             exec {
                 workingDir "${buildDir}/foo"
                 executable 'echo'
                 args 'Hello world!'
             }
             println "Executed!"
         }
     }
    

在闭包内的这两种情况下,您都可以使用ExecSpec的方法指定执行参数。执行命令的标准输出和错误输出将被重定向到 gradle 进程的 stdout 和 stderr。

于 2016-07-08T18:26:41.607 回答