我有一个多项目Gradle构建,目前通过单个build.gradle文件进行配置 .
这个项目中有70多个模块,单个(巨大的)build.gradle文件使用起来很麻烦,所以我想将它拆分成小的每个模块的buildscript文件 .
现在,我不想拥有70个小的build.gradle文件(每个模块中有一个),因为这会导致导航到特定的build.gradle IDE中的痛苦(文件之间的唯一区别就是它们的路径) .
我想要的是我的每个模块的buildscript文件以模块名称命名 .
而不是这个:
root
|--foo\
|--| build.gradle
|--bar\
|--| build.gradle
我要这个:
root
|--foo\
|--| foo.gradle
|--bar\
|--| bar.gradle
由于这似乎没有得到官方支持,我尝试了一下root build.gradle,但似乎在配置项目之前应用.gradle文件,所以这给依赖于其他项目的项目带来了错误项目:
在root build.gradle中:
subprojects { subProject ->
rootProject.apply from: "${subProject.name}/${subProject.name}.gradle"
}
foo.gradle,它不是标准的build.gradle文件:
project('foo') {
dependencies {
compile project(':bar')
}
}
有没有办法让它像这样工作?
3 回答
一个简单的网页搜索"gradle rename build.gradle"呈现the below example settings.gradle file:
请注意,作者也在这里重命名根项目的构建脚本,您可能想要也可能不想要它 .
Gradle的作者之一Hans Dockter在某个地方(我相信是在他的"Rocking the Gradle" demo from 2012)说过,他觉得他们最大的错误之一就是使用
build.gradle
作为默认文件名 .您可以在
settings.gradle
文件中自定义构建脚本的名称 . 查看Ben Muschko最近关于multi-project版本的演示文稿或查看Gradle sources,其中进行了类似的自定义 .您可以在Gradle in action,manning中找到此内容