94 lines
2.6 KiB
Plaintext
94 lines
2.6 KiB
Plaintext
import java.io.FileInputStream
|
|
import java.util.Properties
|
|
|
|
plugins {
|
|
id("com.android.application")
|
|
id("dev.flutter.flutter-gradle-plugin")
|
|
id("com.google.gms.google-services")
|
|
}
|
|
|
|
// Release signing is optional during configuration so debug/profile builds
|
|
// (including GitHub Actions CI) do not require private signing credentials.
|
|
val keystoreProperties = Properties()
|
|
val keystorePropertiesFile = rootProject.file("key.properties")
|
|
|
|
if (keystorePropertiesFile.exists()) {
|
|
FileInputStream(keystorePropertiesFile).use {
|
|
keystoreProperties.load(it)
|
|
}
|
|
}
|
|
|
|
fun optionalKeystoreProperty(name: String): String? =
|
|
keystoreProperties.getProperty(name)?.trim()?.takeIf { it.isNotEmpty() }
|
|
|
|
android {
|
|
namespace = "app.motorsignal.motorcycle"
|
|
compileSdk = 36
|
|
ndkVersion = flutter.ndkVersion
|
|
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
}
|
|
|
|
flavorDimensions += "environment"
|
|
productFlavors {
|
|
create("production") {
|
|
dimension = "environment"
|
|
}
|
|
create("qa") {
|
|
dimension = "environment"
|
|
applicationIdSuffix = ".qa"
|
|
}
|
|
}
|
|
|
|
defaultConfig {
|
|
applicationId = "app.motorsignal.motorcycle"
|
|
minSdk = flutter.minSdkVersion
|
|
targetSdk = flutter.targetSdkVersion
|
|
versionCode = flutter.versionCode
|
|
versionName = flutter.versionName
|
|
testInstrumentationRunner = "pl.leancode.patrol.PatrolJUnitRunner"
|
|
testInstrumentationRunnerArguments["clearPackageData"] = "false"
|
|
}
|
|
|
|
signingConfigs {
|
|
val releaseStorePassword = optionalKeystoreProperty("storePassword")
|
|
val releaseKeyPassword = optionalKeystoreProperty("keyPassword")
|
|
val releaseKeyAlias = optionalKeystoreProperty("keyAlias")
|
|
val releaseStoreFile = optionalKeystoreProperty("storeFile")
|
|
|
|
if (releaseStorePassword != null &&
|
|
releaseKeyPassword != null &&
|
|
releaseKeyAlias != null &&
|
|
releaseStoreFile != null
|
|
) {
|
|
create("release") {
|
|
keyAlias = releaseKeyAlias
|
|
keyPassword = releaseKeyPassword
|
|
storePassword = releaseStorePassword
|
|
storeFile = rootProject.file(releaseStoreFile)
|
|
storeType = "PKCS12"
|
|
}
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
signingConfigs.findByName("release")?.let {
|
|
signingConfig = it
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
kotlin {
|
|
compilerOptions {
|
|
jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17
|
|
}
|
|
}
|
|
|
|
flutter {
|
|
source = "../.."
|
|
}
|