import com.android.build.api.dsl.ApplicationExtension plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.kotlin.compose) apply false } // Firma de publicación para las nueve apps, en un solo sitio. // // Las credenciales viven fuera del repo (~/.gradle/gradle.properties): aquí no // hay ni ruta ni contraseña que filtrar. Si no están —otra máquina, un clon // ajeno— el release simplemente sale sin firmar en vez de romper la compilación. // // La firma es la identidad de la app para Android: si cambia, el teléfono no // ofrece actualización, obliga a desinstalar. Por eso vive fuera y se respalda. subprojects { plugins.withId("com.android.application") { val almacen = (findProperty("rizomaKeystore") as String?)?.let(::file) if (almacen?.exists() != true) return@withId extensions.configure { val firma = signingConfigs.create("publicacion") { storeFile = almacen storePassword = findProperty("rizomaKeystorePassword") as String? keyAlias = findProperty("rizomaKeyAlias") as String? keyPassword = findProperty("rizomaKeyPassword") as String? } buildTypes.getByName("release").signingConfig = firma } } }