我有一个多项目 Gradle 构建,目前通过单个 build.gradle 文件进行配置。
这个项目中有 70 多个模块,单个(巨大的)build.gradle 文件使用起来变得很麻烦,所以我想将它拆分为每个模块的小型 buildscript 文件。
现在,我不想拥有 70 个小的 build.gradle 文件(每个模块中有一个),因为这会使导航到特定的 build.gradle 在 IDE 中变得很痛苦(文件之间的唯一区别是它们的路径)。
我想要的是我的每个模块构建脚本文件以模块名称命名。
而不是这个:
root
|--foo\
|--| build.gradle
|--bar\
|--| build.gradle
我要这个:
root
|--foo\
|--| foo.gradle
|--bar\
|--| bar.gradle
由于这似乎没有得到官方支持,我尝试对根 build.gradle 进行一些修改,但似乎应用 .gradle 文件是在项目配置之前发生的,因此这会给依赖于其他项目的项目带来错误项目:
在根 build.gradle 中:
subprojects { subProject ->
rootProject.apply from: "${subProject.name}/${subProject.name}.gradle"
}
foo.gradle,它不是标准的 build.gradle 文件:
project('foo') {
dependencies {
compile project(':bar')
}
}
有没有办法让它像这样工作?
最佳答案
您可以在 settings.gradle
中自定义构建脚本的名称文件。查看 Ben Muschko 最近关于 multi-project 的介绍构建或查看Gradle sources进行类似定制的地方。
rootProject.children.each {
it.buildFileName = it.name + '.gradle'
}
关于Gradle 多项目自定义 build.gradle 文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30872127/