У меня есть многомодульный проект Android и Kotlin Gradle DSL. Есть некоторая конфигурация, которую нужно повторять в каждом модуле, и я хотел бы повторно использовать код. Я бы хотел, например, повторно использовать этот код:
android {
sourceSets {
getByName("main").java.srcDirs("src/main/kotlin")
getByName("test").java.srcDirs("src/test/kotlin")
}
}
В примерах Kotlin DSL описаны два метода:
apply(from = "foo.gradle.kts")
и функции расширения в buildSrc
, например:
fun Project.kotlinProject() {
dependencies {
"compile"(kotlin("stdlib"))
}
}
Однако оба эти метода работают только для конфигурации верхнего уровня, я не могу получить доступ к материалам плагина Android. Я получаю такие ошибки, как Unresolved reference: BaseExtension