Проблема < /h2>
Я использую плагин Android Gradle Convention для стандартизации конфигурации моей сборки в модулях. Тем не менее, я сталкиваюсь с проблемой с конфигурациями типа сборки: < /p>
- Когда я создаю типы сборки (например, постановка < /code>) в плагине соглашения, соответствующие конфигурации (, stagingapi и т. Д.) Создаются автоматически
Код: Выделить всё
stagingImplementation
- Когда я создаю типы сборки в файле модуля. StagingImplementation (libs.pluto)
Код: Выделить всё
AndroidApplicationConventionPlugin.kt
Код: Выделить всё
class AndroidApplicationConventionPlugin : Plugin {
override fun apply(target: Project) {
with(target) {
with(pluginManager) {
apply("com.android.application")
apply("org.jetbrains.kotlin.android")
}
extensions.configure {
defaultConfig {
targetSdk = 36
}
buildFeatures {
buildConfig = true
}
configureKotlinAndroid(this)
}
}
}
}
< /code>
[b] модуль приложений (build.gradle.kts
Код: Выделить всё
plugins {
alias(libs.plugins.dogus.android.application) // My convention plugin
alias(libs.plugins.dogus.android.application.compose)
// ... other plugins
}
android {
buildTypes {
create("staging") {
initWith(getByName("debug"))
// staging configuration
}
}
}
dependencies {
// This works:
debugImplementation(libs.pluto)
releaseImplementation(libs.pluto.no.op)
// This doesn't work - stagingImplementation configuration doesn't exist:
// stagingImplementation(libs.pluto)
// Have to use this instead:
add("stagingImplementation", libs.pluto)
}
< /code>
Вопрос < /h2>
Как я могу сделать свой плагин соглашения распознавать типы сборки, созданные в отдельных модулях, и автоматически создавать соответствующие конфигурации (stagingImplementation
[*] Gradle: 8.x
[*] Kotlin DSL
Подробнее здесь: https://stackoverflow.com/questions/797 ... d-when-bui