Closed Syex closed 5 years ago
This is because the Android type for product flavor doesn't declare that it is ExtensionAware
. The closer ExtensionAware
type in that scope is the Project
, hence the properties going to the project.
As a workaround you can do:
productFlavors {
register("dev") {
require(this is ExtensionAware)
extra["betaDistributionGroupAliasesFilePath"] = file("fabric/distrGroup_devs.txt'").path
}
register("release") {
require(this is ExtensionAware)
extra["betaDistributionGroupAliasesFilePath"] = file("fabric/distrGroup_external.txt").path
}
}
Hey,
I'm currently converting our Android build file from Groovy to Kotlin DSL, so far everything worked very well 👍 However, I'm struggling with defining properties per
product flavor
for Fabric.This is the old (shortened) Groovy code:
where the property would change depending on the variant I'm currently building.
I changed it like this:
Now, always the last assigned value is used, so
release
is always overridingdev
. I also tried:or
extra["betaDistributionGroupAliasesFilePath"]
but I always get the same output, that the last assigned value is used.It seems in Groovy
ext
was perflavor
while with Kotlin DSLext
is set per project, so it overrides the value.Am I misunderstanding something? Is it a bug?
Kotlin 1.3.10 Gradle 4.10