Храните пары ключ-значение с помощью Gradle Kotlin DSLAndroid

Форум для тех, кто программирует под Android
Anonymous
Храните пары ключ-значение с помощью Gradle Kotlin DSL

Сообщение Anonymous »

Я пытаюсь систематизировать свой код и избавиться от ненужных повторений. Текущий код:

Код: Выделить всё

android {
defaultConfig {
buildConfigField("String", "VAR_1", "\"1\"")
buildConfigField("String", "VAR_2", "\"2\"")
//....
buildConfigField("String", "VAR_10", "\"10\"")
}
}
Я хочу загрузить имена и значения переменных из другого файла config.gradle.kts:

Код: Выделить всё

val vars = mapOf(
"VAR_1" to "1",
"VAR_2" to "2",
//...
"VAR_10" to "10",
)
project.extra.set("vars", vars)
Итак, в конечном итоге я смогу сделать что-то вроде этого:

Код: Выделить всё

apply(from = "config.gradle.kts")

android {
defaultConfig {
project.extra["vars"].forEach { entry ->
buildConfigField("String", entry.key, "${entry.value}")
}
}
}
Но когда я пробую это, я постоянно получаю всевозможные сообщения о невозможности привести java.Util.Collections.SingletonMap к kotlin.Pair.

Подробнее здесь: https://stackoverflow.com/questions/787 ... kotlin-dsl

Вернуться в «Android»