firma de publicación para las nueve apps, en la raíz
1import com.android.build.api.dsl.ApplicationExtension
2
3plugins {
4 alias(libs.plugins.android.application) apply false
5 alias(libs.plugins.kotlin.android) apply false
6 alias(libs.plugins.kotlin.compose) apply false
7}
8
9// Firma de publicación para las nueve apps, en un solo sitio.
10//
11// Las credenciales viven fuera del repo (~/.gradle/gradle.properties): aquí no
12// hay ni ruta ni contraseña que filtrar. Si no están —otra máquina, un clon
13// ajeno— el release simplemente sale sin firmar en vez de romper la compilación.
14//
15// La firma es la identidad de la app para Android: si cambia, el teléfono no
16// ofrece actualización, obliga a desinstalar. Por eso vive fuera y se respalda.
17subprojects {
18 plugins.withId("com.android.application") {
19 val almacen = (findProperty("rizomaKeystore") as String?)?.let(::file)
20 if (almacen?.exists() != true) return@withId
21 extensions.configure<ApplicationExtension> {
22 val firma = signingConfigs.create("publicacion") {
23 storeFile = almacen
24 storePassword = findProperty("rizomaKeystorePassword") as String?
25 keyAlias = findProperty("rizomaKeyAlias") as String?
26 keyPassword = findProperty("rizomaKeyPassword") as String?
27 }
28 buildTypes.getByName("release").signingConfig = firma
29 }
30 }
31}