plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) alias(libs.plugins.kotlin.serialization) alias(libs.plugins.ksp) } android { namespace = "com.yarisobd.app" compileSdk = 35 defaultConfig { applicationId = "com.yarisobd.app" minSdk = 26 targetSdk = 35 versionCode = 1 versionName = "0.1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { debug { applicationIdSuffix = ".debug" versionNameSuffix = "-debug" } release { isMinifyEnabled = true isShrinkResources = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = "17" } buildFeatures { compose = true buildConfig = true } } dependencies { // Compose BOM val composeBom = platform(libs.compose.bom) implementation(composeBom) androidTestImplementation(composeBom) // Compose UI implementation(libs.compose.ui) implementation(libs.compose.ui.graphics) implementation(libs.compose.ui.tooling.preview) implementation(libs.compose.material3) implementation(libs.compose.material.icons) debugImplementation(libs.compose.ui.tooling) // Navigation implementation(libs.navigation.compose) // Activity + Compose integration implementation(libs.activity.compose) // Core implementation(libs.core.ktx) // Lifecycle implementation(libs.lifecycle.runtime.compose) implementation(libs.lifecycle.viewmodel.compose) // Network implementation(libs.okhttp) implementation(libs.okhttp.logging) implementation(libs.retrofit) implementation(libs.retrofit.kotlinx.serialization) implementation(libs.kotlinx.serialization.json) // Coroutines implementation(libs.kotlinx.coroutines.android) // Local storage — will be used in 28.3 // implementation(libs.room.runtime) // implementation(libs.room.ktx) // ksp(libs.room.compiler) // Background work implementation(libs.workmanager) // Images implementation(libs.coil.compose) implementation(libs.coil.okhttp) // Maps — will be used in 28.4 // implementation(libs.maplibre) // Security implementation(libs.security.crypto) // Testing testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test.ext:junit:1.2.1") androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1") androidTestImplementation(composeBom) androidTestImplementation("androidx.compose.ui:ui-test-junit4") }