@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed plugins { alias(libs.plugins.androidApplication) alias(libs.plugins.kotlinAndroid) id("com.google.devtools.ksp") kotlin("plugin.serialization") version "1.8.21" } android { namespace = "ru.nm17.narodmon" compileSdk = 33 defaultConfig { applicationId = "ru.nm17.narodmon" minSdk = 29 targetSdk = 33 versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { useSupportLibrary = true } } buildTypes { release { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = "17" } buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.4.7" } packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" } } } dependencies { implementation(libs.core.ktx) implementation(libs.lifecycle.runtime.ktx) implementation(libs.activity.compose) implementation(platform(libs.compose.bom)) implementation(libs.ui) implementation(libs.ui.graphics) implementation(libs.ui.tooling.preview) implementation(libs.material3) implementation(libs.androidx.datastore.core.android) implementation(libs.androidx.room.common) implementation(libs.androidx.security.crypto.ktx) testImplementation(libs.junit) androidTestImplementation(libs.androidx.test.ext.junit) androidTestImplementation(libs.espresso.core) androidTestImplementation(platform(libs.compose.bom)) androidTestImplementation(libs.ui.test.junit4) debugImplementation(libs.ui.tooling) debugImplementation(libs.ui.test.manifest) //-- Navigation val nav_version = "2.5.3" implementation("androidx.navigation:navigation-fragment-ktx:$nav_version") implementation("androidx.navigation:navigation-ui-ktx:$nav_version") implementation("androidx.navigation:navigation-dynamic-features-fragment:$nav_version") androidTestImplementation("androidx.navigation:navigation-testing:$nav_version") implementation("androidx.navigation:navigation-compose:$nav_version") //-- Room // To use Kotlin annotation processing tool (kapt) //kapt("androidx.room:room-compiler:$room_version") // To use Kotlin Symbol Processing (KSP) val room_version = "2.5.1" ksp("androidx.room:room-compiler:$room_version") annotationProcessor("androidx.room:room-compiler:$room_version") implementation("androidx.room:room-runtime:$room_version") implementation("androidx.room:room-ktx:$room_version") implementation("androidx.room:room-guava:$room_version") testImplementation("androidx.room:room-testing:$room_version") implementation("androidx.room:room-paging:$room_version") //-- Ktor val ktor_version = "2.3.1" implementation("io.ktor:ktor-client-core:$ktor_version") implementation("io.ktor:ktor-client-cio:$ktor_version") implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0") implementation(platform("dev.forkhandles:forkhandles-bom:2.6.0.0")) implementation("dev.forkhandles:result4k") implementation("io.ktor:ktor-client-core:2.3.1") implementation("io.ktor:ktor-client-okhttp:2.3.1") implementation("androidx.security:security-crypto-ktx:1.1.0-alpha06") // For Identity Credential APIs implementation("androidx.security:security-identity-credential:1.0.0-alpha03") // For App Authentication APIs implementation("androidx.security:security-app-authenticator:1.0.0-alpha02") // For App Authentication API testing androidTestImplementation("androidx.security:security-app-authenticator:1.0.0-alpha01") implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.4.0") //-- Map Compose library implementation("ovh.plrapps:mapcompose:2.7.1") //-- Glide implementation("com.github.bumptech.glide:glide:4.14.2") implementation("com.github.bumptech.glide:compose:1.0.0-alpha.1") }