Gradle构建脚本里的buildScript、allprojects、subprojects的区别

  • Post author:
  • Post category:其他

在项目根目录(root Project)下的build.gradle中:buildscript、allprojects、subprojects的repositories有什么区别?

  • buildScript块的repositories主要是为了Gradle脚本自身的执行,获取脚本依赖插件。也就是说,buildScript是用来加载Gradle脚本自身需要使用的资源,可以声明的资源包括依赖项、第三方插件、maven仓库地址等。

  • 根级别的repositories主要是为了当前项目提供所需依赖包,比如log4j、spring-core等依赖包可从mavenCentral仓库获得。

  • allprojects块的repositories用于多项目构建,为所有项目提供共同的所需依赖包。而子项目可以配置自己的repositories以获取自己独需的依赖包。

  • subprojects块的repositories用于配置这个项目的子项目。使用多模块项目时,不同模块之间有相同的配置,导致重复配置,可以将相同的部分抽取出来,使用配置注入的技术完成子项目的配置。根项目就像一个容器, subprojects 方法遍历这个容器的所有元素并且注入指定的配置。allprojects是对所有project的配置,包括Root Project。而subprojects是对所有Child Project的配置。

谢谢阅读


版权声明:本文为weixin_40763897原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。