究竟是什么"按需配置"在Gradle?

时间:2016-09-28 07:12:21

标签: android android-studio gradle

我最近更改了Gradle中的一些设置以加快其进程,其中一个正在更改org.gradle.configureondemand=true文件中的gradle.properties属性。

我知道你可以从单词"按需配置"中猜出很多,但我想知道这个功能的确切影响吗?如果我将此参数设置为true

,是否必须执行某些操作才能触发配置

如果我将其设为true会出错吗?

究竟是什么配置阶段?

1 个答案:

答案 0 :(得分:10)

此设置仅适用于多个模块项目。基本上,它告诉Gradle配置仅与所请求任务相关的模块,而不是配置所有这些模块,这是默认行为。

更准确地回答您的问题:

  • 不,您不必手动触发配置。
  • 是的,如文档中所述,可能会出现问题。该 功能应该适用于具有的多项目构建 解耦项目。

在“按需配置”模式下,项目配置如下:

  • 始终配置根项目。这样就支持典型的通用配置(allprojects或subprojects脚本块)。
  • 还配置了执行构建的目录中的项目,但仅在没有任何任务的情况下执行Gradle时。这样,在按需配置项目时,默认任务就会正常运行。
  • 支持标准项目依赖项并配置相关项目。如果项目A对项目B具有编译依赖性,则构建A会导致两个项目的配置。
  • 支持通过任务路径声明的任务依赖关系,并导致配置相关项目。示例:someTask.dependsOn(:someOtherProject:someOtherTask
  • 通过命令行(或Tooling API)的任务路径请求的任务会导致配置相关项目。例如,构建projectA:projectB:someTask会导致projectB的配置。

Here是完整的文档。