gradle-android-ribbonizer-plugin
gradle-android-ribbonizer-plugin copied to clipboard
Support Kotlin DSL friendly interface
Fixes #28
Gradle Kotlin DSL automatically generates accessors for each Extension
for static type-safe access, but it didn't play well with Ribonizer because RibobonizerExtension
was not public, as described at #28 .
Also, I've modified some codes where depends on Groovy's runtime dynamic type resolution. For utilities like grayRibbonFilter()
, I've specified implementation classes like ColorRibbonFilter
instead of Consumer<BufferedImage>
to enable access to options.
With this change, you can use Ribbonizer in Kotlin DSL, like:
ribbonizer {
builder { variant, iconFile ->
when (variant.buildType.name) {
"debug" -> yellowRibbonFilter(variant, iconFile).apply { label = branchName }
else -> grayRibbonFilter(variant, iconFile)
}
}
}
Hi!
I understand this issue has not been merged yet. Do you plan to do it at some point in the future? I have recently moved my Gradle files to Kotlin DSL and I'd like to keep on using your library.
Thanks and regards,