在多项目gradle构建中,有人可以告诉我"allprojects"部分与"buildscript"之间究竟有什么区别?两者都有 repositories
和 dependencies
任务 . 我的项目是 allprojects
吗? buildscript
怎么样?
buildscript {
repositories {
...
}
dependencies {
...
}
}
和
allprojects(subprojects) {
repositories {
...
}
dependencies {
...
}
}
2 回答
“
buildscript
”配置部分用于gradle本身(即更改gradle如何执行构建) . 所以本节通常会包含Android Gradle插件 .“
allprojects
”部分适用于Gradle构建的模块 .通常情况下,存储库部分对于两者都是相同的,因为两者通常都会从jcenter(或者可能是maven central)获得它们的依赖关系 . 但“依赖”部分将有所不同 .
通常,“allprojects”的“dependencies”部分是空的,因为每个模块的依赖关系是唯一的,并且将位于每个模块中的“build.gradle”文件中 . 但是,如果所有模块共享相同的依赖项,则可以在此处列出它们 .
TL; DR:
buildscript
帮助查找插件,allprojects
适用于所有项目https://docs.gradle.org/current/userguide/userguide_single.html#applyPluginBuildscript说
所以你需要
buildscript
for gradle才能找到插件,asConcerning allprojects: