plugins { id("com.android.application") id("org.jetbrains.kotlin.android") id("com.google.devtools.ksp") version "2.1.0-1.0.29" } android { namespace = "com.lonecloud.sup" compileSdk = 36 defaultConfig { applicationId = "com.lonecloud.sup" minSdk = 26 targetSdk = 36 versionCode = 1 versionName = "0.1.0" } signingConfigs { create("release") { storeFile = file(System.getenv("KEYSTORE_FILE") ?: "../release.keystore") storePassword = System.getenv("KEYSTORE_PASSWORD") keyAlias = System.getenv("KEY_ALIAS") ?: "sup-release" keyPassword = System.getenv("KEYSTORE_PASSWORD") // PKCS12 uses same password } } buildTypes { release { isMinifyEnabled = true isShrinkResources = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) signingConfig = signingConfigs.getByName("release") } } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlin { compilerOptions { jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17) } } buildFeatures { viewBinding = true buildConfig = true } lint { checkReleaseBuilds = false abortOnError = false } ksp { arg("room.schemaLocation", "$projectDir/schemas") } defaultConfig { // Build config fields buildConfigField("boolean", "FIREBASE_AVAILABLE", "false") buildConfigField("boolean", "RATE_APP_AVAILABLE", "false") buildConfigField("boolean", "PAYMENT_LINKS_AVAILABLE", "false") buildConfigField("String", "FLAVOR", "\"sup\"") } } dependencies { // AndroidX Core implementation("androidx.appcompat:appcompat:1.7.1") implementation("androidx.core:core-ktx:1.17.0") implementation("androidx.constraintlayout:constraintlayout:2.2.1") implementation("androidx.activity:activity-ktx:1.12.2") implementation("androidx.fragment:fragment-ktx:1.8.9") // JSON (Gson) implementation("com.google.code.gson:gson:2.13.1") // Room (SQLite) val roomVersion = "2.8.4" implementation("androidx.room:room-runtime:$roomVersion") ksp("androidx.room:room-compiler:$roomVersion") implementation("androidx.room:room-ktx:$roomVersion") // OkHttp implementation("com.squareup.okhttp3:okhttp:4.12.0") // RecyclerView implementation("androidx.recyclerview:recyclerview:1.4.0") // Material Design implementation("com.google.android.material:material:1.13.0") // LiveData implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.10.0") // UnifiedPush implementation("com.github.UnifiedPush:android-connector:3.0.10") }