将参数传递给gradle Exec任务

时间:2014-05-08 11:39:58

标签: android gradle

我已经定义了一个类型为Exec的简单Gradle任务,并且我试图在从另一个任务调用该任务时将参数传递给该任务。

如何做到这一点?

2 个答案:

答案 0 :(得分:1)

无法从其他任务调用任务。相反,声明两个任务并使一个依赖于另一个。 (不支持调用内部task.execute()方法,并且其行为未定义。)对于第二项任务不可行的情况,有一个project.exec {} 方法,与任务具有完全相同的API。

答案 1 :(得分:1)

正如已经指出的那样,我最初的方法是有缺陷的,而不是“gradle方式”。因此,在仔细重新思考问题后,我将所有内容颠倒过来,现在我“只是”遍历我的参数,然后执行每个参数的代码。

这里的案例是一个语言列表,每个语言都将用作命令行中的参数。

task multiCommands << {
  def lang = languages.split()
  lang.each { locale -> 
    def output = exec {
      commandLine "my command that takes an argument", locale
    }
  }
}