在多项目构建中,我有一个模块,该模块本身由两个子项目组成。如果我只想选择构建顶层模块,又要确保其中的两个子项目也都被构建,该如何实现呢?
include 'moduleA', 'moduleB', 'moduleC' (root project settings.gradle)
project(':moduleC').projectDir = new File('path to custom module that includes sub-projects)
project(':moduleC').settingsDir = ?? (gradle fails because there is no settingsDir path)
但是moduleC本身具有settings.gradle
include 'api'
include 'server'
现在,我希望在指定
gradlew :moduleC:build
时都触发这两者,但是相反,它只是构建moduleC根项目。有办法吗?这个用例对我而言似乎确实有效(即,对于模块化而言,您希望将子项目的包含范围保持在moduleC的级别,而不是根级别)。谢谢,
稻田
最佳答案
从Gradle 2.2开始,每个版本仅支持一个settings.gradle
。如果该文件包含include "moduleC:api"
和include "moduleC:server"
,则从gradle build
的项目目录中运行moduleC
还将生成api
和server
。