我正在与Gradle面对这个limitation / issue
我有两个使用Gradle的多项目构建,我们称之为modules-technical
和modules-business
。
这是setting.gradle
的{{1}}:
modules-business
这意味着,rootProject.name = 'modules-business'
include 'business-core'
.. snip business-* modules ..
includeBuild '../modules-technical/'
取决于modules-business
。
现在,我想开发一款取决于modules-technical
的应用。
modules-business
由于Gradle 4.2.1目前的局限性,我需要在rootProject.name = 'my-app'
includeBuild '../modules-business'
includeBuild '../modules-technical'
项目上评论includeBuild
语句。像这样:
modules-business
现在有更好的方法来管理此限制吗?意思是,如何使用Gradle复合构建开发多模块和应用程序?
答案 0 :(得分:1)
你应该能够做到
if (settings.hasProperty('doCompositeBuilds') && doCompositeBuilds.toBoolean()) {
includeBuild '../modules-technical/'
}
并在使用doCompositeBuilds
和true
时将modules-business
设置为false
,或者在使用应用时保留未设置状态。
或者您可以有modules-business
的两个分支,一个includeBuild
,一个没有,然后使用您实际需要的分支。