使用groovy连接配置

qmb5sa22  于 7个月前  发布在  其他
关注(0)|答案(1)|浏览(57)

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

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

这个配置来自react-native-config文档,并且工作得非常好(构建OK)。
但我想要一个动态的配置,从一个表。举例来说:

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

但我无法连接配置,我一直收到错误

6ojccjat

6ojccjat1#

从我看到的project.ext.envConfigFiles是一个MapConfigKey:'ConfigValue'。但是,您正在第二个脚本中生成列表。你的问题很有可能来自于此。
你可以做些什么来纠正它,并实际生成一个Map:

def variantsJson = [
  'aaa',
  'bbb',
  ...
]

Map variantsConfig = [:]
variantsJson.each { name ->
    variantsConfig["${name}Debug"] =  ".env.${name}"        
    variantsConfig["${name}Release"] = ".env.${name}"
}

project.ext.envConfigFiles = variantsConfig

相关问题