Контекст
У меня есть 3 модуля: A
, B
и app
. app
зависит от A
, а A
зависит от B
.
Пользовательские адаптеры привязки данных находятся в B
.
app -> A -> B
Для всех модулей включена привязка данных , а также плагин kapt.
plugins {
kotlin("kapt")
}
android {
dataBinding.isEnabled = true
}
Проблема
Допустим, у меня есть следующая функция привязки adpater:
@BindingAdapter("fontWeight")
fun TextView.setFontWeight(family: String)
В app
, я могу использовать это как функция расширения, но не может использовать его в качестве настраиваемого адаптера привязки.
textView.setFontWeight("bold") // It works
<TextView
app:fontWeight='@{"bold"}' // It doesn't work
Интересно то, что если я создаю app
модуль, напрямую зависящий от B
, то адаптер привязки работает должным образом .
app -> B
В чем проблема? У тебя есть идеи? Заранее спасибо.
Обновление
Когда я удаляю эти строки кода из build.gradle.kts
, он работает правильно, но я не могу понять, что происходит.
flavorDimensions("dimension")
productFlavors {
create("dev")
create("staging")
create("production")
forEach { flavor ->
with(flavor) {
dimension = "dimension"
versionCode = generateVersionCode(name)
versionName = generateVersionName(name)
if (name != "production") {
applicationIdSuffix = ".$name"
}
}
}
}