Problem < /h2>
Ich verwende ein Android Gradle Convention -Plugin, um meine Build -Konfiguration über Module hinweg zu standardisieren. Ich habe jedoch ein
Problem mit Build -Typ -Konfigurationen
, StagingAPI usw.) werden automatisch erstellt. StagingImplementation (libs.pluto)
Erstellen von Build -Typen im Konventionsplugin reduziert die Wiederverwendbarkeit, da verschiedene Module möglicherweise unterschiedliche Build -Typen benötigen.
Code: Select all
AndroidApplicationConventionPlugin.kt
):
Code: Select all
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] App -Modul (APP -Modul (build.gradle.kts
): [/b]
Code: Select all
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>
Frage < /h2>
Wie kann ich mein Kongress -Plugin erkennen lassen, die in einzelnen Modulen erstellte Buildtypen erstellt und automatisch die entsprechenden Konfigurationen erstellen (erstellen Sie automatisch die entsprechenden Konfigurationen (stagingImplementation
, StagingAPI usw.) Ohne hartcodierende spezifische Buildtypen im Kongress -Plugin selbst? 8.x
[*] Gradle: 8.x
[*] Kotlin DSL