Android 将参数传递给gradle Exec任务

Android 将参数传递给gradle Exec任务,android,gradle,Android,Gradle,我已经定义了一个简单的Exec类型的Gradle任务,当从另一个任务调用它时,我试图向该任务传递一个参数 如何做到这一点?不可能从另一个任务调用任务。相反,声明两个任务并使其中一个任务依赖于另一个任务。(调用内部task.execute()方法是不受支持的,其行为是未定义的。)对于第二个任务不可行的情况,有一个project.exec{}方法,它与任务具有完全相同的API。正如已经指出的那样,我最初的方法是有缺陷的,而不是“渐变方式”。因此,在仔细思考这个问题之后,我把一切都颠倒过来,现在我“只

我已经定义了一个简单的Exec类型的Gradle任务,当从另一个任务调用它时,我试图向该任务传递一个参数


如何做到这一点?

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

正如已经指出的那样,我最初的方法是有缺陷的,而不是“渐变方式”。因此,在仔细思考这个问题之后,我把一切都颠倒过来,现在我“只是”循环我的参数,然后依次执行每个参数的代码

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

task multiCommands << {
  def lang = languages.split()
  lang.each { locale -> 
    def output = exec {
      commandLine "my command that takes an argument", locale
    }
  }
}
任务多命令
def输出=执行{
命令行“接受参数的我的命令”,语言环境
}
}
}

好的,我可以理解。假设我添加任务B,使其取决于任务A-我如何将参数传递给任务B?您不会将参数传递给任务。也许试着描述一下您试图解决的更大的问题,而不是您实现它的想法。我最初的目标是创建一个Exec类型的任务,该任务将根据输入参数处理不同的文件。但是我现在已经把整个过程颠倒过来了,只需在我的文件上做一个循环,并为每个文件触发我的代码。因此,在某种程度上,我想我解决了自己的问题:/a任务有固定的配置。如果一个任务在同一个构建中似乎需要多次使用不同的参数,可以声明多个任务,也可以不使用任务解决问题。