import java.io.FileInputStream import java.util.Properties plugins { id("com.android.application") id("kotlin-android") // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id("dev.flutter.flutter-gradle-plugin") } val keystoreProperties = Properties() val keystorePropertiesFile = rootProject.file("key.properties") if (keystorePropertiesFile.exists()) { FileInputStream(keystorePropertiesFile).use { keystoreProperties.load(it) } } // Firebase se activa solo cuando se agrega el google-services.json del entorno. if (file("google-services.json").exists()) { apply(plugin = "com.google.gms.google-services") } dependencies { implementation("com.google.android.gms:play-services-location:21.3.0") } android { namespace = "pe.smartplus.smartplus_delivery_app" compileSdk = flutter.compileSdkVersion ndkVersion = flutter.ndkVersion compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = JavaVersion.VERSION_17.toString() } defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId = "pe.smartplus.smartplus_delivery_app" // You can update the following values to match your application needs. // For more information, see: https://flutter.dev/to/review-gradle-config. minSdk = flutter.minSdkVersion targetSdk = flutter.targetSdkVersion versionCode = flutter.versionCode versionName = flutter.versionName } signingConfigs { create("release") { if (keystorePropertiesFile.exists()) { keyAlias = keystoreProperties["keyAlias"] as String keyPassword = keystoreProperties["keyPassword"] as String storeFile = file(keystoreProperties["storeFile"] as String) storePassword = keystoreProperties["storePassword"] as String } } } buildTypes { release { signingConfig = signingConfigs.getByName("release") } } } tasks.matching { it.name == "packageRelease" }.configureEach { doFirst { if (!keystorePropertiesFile.exists()) { throw GradleException("Falta android/key.properties para compilar el APK release.") } val firebaseConfig = file("google-services.json") val localFirebaseReleaseAllowed = System.getenv("SMARTPLUS_ALLOW_LOCAL_FIREBASE_RELEASE") == "true" if (firebaseConfig.exists() && firebaseConfig.readText().contains("\"project_id\": \"smartplus-delivery-local\"") && !localFirebaseReleaseAllowed ) { throw GradleException( "El release usa Firebase local. Reemplaza google-services.json por el proyecto de produccion " + "o define SMARTPLUS_ALLOW_LOCAL_FIREBASE_RELEASE=true solo para una compilacion local." ) } } } flutter { source = "../.." }