Храните пары ключ-значение с помощью 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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