代码之家  ›  专栏  ›  技术社区  ›  Gaylord.P

将配置与groovy连接

  •  0
  • Gaylord.P  · 技术社区  · 2 年前

    在我的 .build.gradle ,我定义了一个特定的配置:

    project.ext.envConfigFiles = [
      aaaDebug: ".env.aaa",
      aaaRelease: ".env.aaa",
      bbbDebug: ".env.bbb",
      bbbRelease: ".env.bbb"
    ]
    

    此配置取自 react-native-config 文档并运行良好(构建 好啊 )。

    但我想要一个动态配置,从一个表。例如:

    def variants = [
      'aaa',
      'bbb',
      ...
    ]
    
    def variantsConfig = []
    variantsJson.each { name ->
        variantsConfig.push("${name}Debug: .env.${name}")        
        variantsConfig.push("${name}Release: .env.${name}")
    }
    project.ext.envConfigFiles = variantsConfig
    

    但我无法连接配置,我不断收到错误

    1 回复  |  直到 2 年前
        1
  •  0
  •   fakolours    2 年前

    据我所见 project.ext.envConfigFiles 是地图 ConfigKey:'ConfigValue' 。但是,您正在第二个脚本中生成一个列表。你的问题很有可能由此而来。

    您可以做些什么来纠正这一点,并实际生成地图:

    def variantsJson = [
      'aaa',
      'bbb',
      ...
    ]
    
    Map variantsConfig = [:]
    variantsJson.each { name ->
        variantsConfig["${name}Debug"] =  ".env.${name}"        
        variantsConfig["${name}Release"] = ".env.${name}"
    }
    
    project.ext.envConfigFiles = variantsConfig