Android Сборка с Kotlin DSL - как получить доступ к дополнительным свойствам аромата? - PullRequest
0 голосов
/ 30 января 2020

Традиционно, в 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 в области действия?

...