【问题标题】:Gradle : Can we override include statement in settings.gradle from command line arguments?Gradle:我们可以从命令行参数覆盖 settings.gradle 中的 include 语句吗?
【发布时间】:2021-08-11 23:38:39
【问题描述】:

我的settings.gradle 有一个如下的包含语句:

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

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

【问题讨论】:

    标签: gradle build.gradle multi-module


    【解决方案1】:

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

    settings.gradle:

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

    命令行:

    ./gradlew build -Dsubmodules=sub-module-1,sub-module-2,sub-module-3
    

    请注意,您不能改用项目属性,因为settings.gradle 在创建项目对象之前执行。

    记得在没有提供submodules 属性时处理案例 - 您可以引发异常或设置一些默认子模块集。

    【讨论】:

      猜你喜欢
      • 2021-08-12
      • 2020-12-01
      • 1970-01-01
      • 2022-11-23
      • 2013-07-12
      • 1970-01-01
      • 2018-08-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多