Традиционно, в Groovy можно было определить переменные-спецификации c в блоке ext
{}
, но при переключении на Kotlin DSL кажется, что карта extra
имеет область проекта.
Похоже, что можно настроить область действия дополнительных функций, используя:
productFlavors {
register("flavor1") {
require(this is ExtensionAware)
...
}
register("flavor2") {
require(this is ExtensionAware)
...
}
}
(источник: https://github.com/gradle/kotlin-dsl-samples/issues/1254)
Но если его необходимо использовать позже, например, для подстройки переменных на основе buildType
, например:
variants.forEach { variant ->
val flavor = variant.productFlavors[0]
val size = ?? // extra??
variant.buildConfigField("String", "SIZE", size)
}
как будут использоваться эти ссылки на extra
в области действия?