我正面临这个limitation / issue与 Gradle。
我有两个使用 Gradle 的多项目构建,我们称它们为 modules-technical
, 和 modules-business
.
这是我的setting.gradle
对于 modules-business
:
rootProject.name = 'modules-business'
include 'business-core'
.. snip business-* modules ..
includeBuild '../modules-technical/'
这意味着,
modules-business
取决于 modules-technical
.现在,我想开发一个依赖于
modules-business
的应用程序。 .rootProject.name = 'my-app'
includeBuild '../modules-business'
includeBuild '../modules-technical'
由于 Gradle 4.2.1 的当前限制,我需要评论
includeBuild
关于我的 modules-business
的声明项目。像这样:rootProject.name = 'modules-business'
include 'business-core'
.. snip business-* modules ..
// includeBuild '../modules-technical/'
现在有没有更好的方法来管理这个限制?意思是,我如何使用 Gradle 复合构建开发多模块和应用程序?
最佳答案
你应该能够做到
if (settings.hasProperty('doCompositeBuilds') && doCompositeBuilds.toBoolean()) {
includeBuild '../modules-technical/'
}
并设置
doCompositeBuilds
至true
使用 modules-business
时和 false
或在使用应用程序时保持未设置。或者你可以有两个分支
modules-business
, 一个与 includeBuild
,一个没有,然后使用你真正需要的那个。
关于gradle - 如何管理 gradle 模块项目和应用程序之间的复合构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46685953/