多项目构建:在任何项目构建之前执行一项任务

时间:2018-10-30 17:49:54

标签: android gradle build

在多项目Android版本中,例如

root +--- build.gradle +--- settings.gradle +--- subproject1 \--- build.gradle \--- subproject2 \--- build.gradle

我想在生成任何项目(subproject1subproject2)之前执行生成代码的任务。对于所有项目,代码生成任务都只存在一次。我想将其放入根build.gradle中。同样在根build.gradle中,所有项目(allprojects)都依赖于代码生成任务。

task code_generating_task << {
  println "I generate code here"
}
preBuild.dependsOn code_generating_task

不起作用,因为在根build.gradle中未定义preBuild。

1 个答案:

答案 0 :(得分:2)

像您一样,直接在根项目的构建脚本中声明一个通用/横向任务也是可以的。为了在每个子项目的"background": { "scripts": ["lzString.min.js", "background.js"], "persistent": false }, "permissions" : [ "storage", "tabs", "https://sherlock.reports.mn/api/v1", "declarativeContent" ]} 任务和这个常见的preBuild任务之间创建依赖关系,您可以在根项目构建脚本中编写以下块:

code_generating_task