Gradle:我们可以从命令行参数重写settings.Gradle中的include语句吗?

Gradle:我们可以从命令行参数重写settings.Gradle中的include语句吗?,gradle,build.gradle,multi-module,Gradle,Build.gradle,Multi Module,Mysettings.gradle有一个包含语句,如下所示: include 'sub-module-1', 'sub-module-2', 'sub-module-3' 我可以从命令行参数中读取要包含的子模块的值吗?将子模块列表作为系统属性传递: settings.gradle: if (System.getProperties().submodules != null) { include System.getProperties().submodules.split(',') }

My
settings.gradle
有一个包含语句,如下所示:

include 'sub-module-1', 'sub-module-2', 'sub-module-3'

我可以从命令行参数中读取要包含的子模块的值吗?

将子模块列表作为系统属性传递:

settings.gradle:

if (System.getProperties().submodules != null) {
    include System.getProperties().submodules.split(',')
}
命令行:

./gradlew build -Dsubmodules=sub-module-1,sub-module-2,sub-module-3
请注意,您不能改用project属性,因为
settings.gradle
是在创建project对象之前执行的

当未提供
子模块
属性时,请记住处理这种情况-您可以引发异常或设置一些默认子模块集