Files
WhosThat/app/build.gradle.kts
2026-10-20 23:25:00 +00:00

80 lines
2.4 KiB
Kotlin

import java.util.Properties
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("org.jetbrains.kotlin.plugin.compose")
}
val tmdbProps = Properties().apply {
val f = rootProject.file("tmdb.properties")
if (f.exists()) f.inputStream().use { load(it) }
}
val keyProps = Properties().apply {
val f = rootProject.file("keystore.properties")
if (f.exists()) f.inputStream().use { load(it) }
}
android {
namespace = "space.bloggin.whosthat"
compileSdk = 35
defaultConfig {
applicationId = "space.bloggin.whosthat"
minSdk = 26
targetSdk = 35
versionCode = 2
versionName = "1.1"
}
signingConfigs {
if (keyProps.isNotEmpty()) {
create("release") {
storeFile = rootProject.file(keyProps["storeFile"] as String)
storePassword = keyProps["storePassword"] as String
keyAlias = keyProps["keyAlias"] as String
keyPassword = keyProps["keyPassword"] as String
}
}
}
buildTypes {
release {
isMinifyEnabled = false
if (keyProps.isNotEmpty()) signingConfig = signingConfigs.getByName("release")
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions { jvmTarget = "17" }
buildFeatures { compose = true; buildConfig = true }
flavorDimensions += "edition"
productFlavors {
create("public") {
dimension = "edition"
buildConfigField("String", "BUILTIN_TOKEN", "\"\"")
}
create("family") {
dimension = "edition"
applicationIdSuffix = ".family"
buildConfigField("String", "BUILTIN_TOKEN", "\"${tmdbProps.getProperty("token", "")}\"")
}
}
}
dependencies {
val bom = platform("androidx.compose:compose-bom:2024.12.01")
implementation(bom)
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.foundation:foundation")
implementation("androidx.compose.material3:material3")
implementation("androidx.compose.material:material-icons-core")
implementation("androidx.activity:activity-compose:1.9.3")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.7")
implementation("io.coil-kt:coil-compose:2.7.0")
}