plugins { id("com.android.application") id("org.jetbrains.kotlin.android") id("kotlin-kapt") } android { namespace = "com.henryhiles.qweather" compileSdk = 33 defaultConfig { applicationId = "com.henryhiles.qweather" minSdk = 21 targetSdk = 33 versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { useSupportLibrary = true } } buildTypes { named("release") { isMinifyEnabled = true setProguardFiles( listOf( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) ) } named("debug") { applicationIdSuffix = ".debug" } } compileOptions { isCoreLibraryDesugaringEnabled = true sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = "1.8" } buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.4.3" } packagingOptions { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" } } } dependencies { implementation("androidx.core:core-ktx:1.9.0") implementation("androidx.compose.ui:ui:1.4.0") implementation("androidx.compose.material3:material3:1.1.0-beta01") implementation("androidx.compose.ui:ui-tooling-preview:1.4.0") implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.1") implementation("androidx.activity:activity-compose:1.7.0") implementation("androidx.core:core-ktx:1.9.0") implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1") testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test.ext:junit:1.1.5") androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.4.0") debugImplementation("androidx.compose.ui:ui-tooling:1.4.0") coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.2") // Voyager val voyagerVersion = "1.0.0-rc04" implementation("cafe.adriel.voyager:voyager-navigator:$voyagerVersion") implementation("cafe.adriel.voyager:voyager-transitions:$voyagerVersion") implementation("cafe.adriel.voyager:voyager-androidx:$voyagerVersion") implementation("cafe.adriel.voyager:voyager-koin:$voyagerVersion") // Koin val koinVersion = "3.2.0" implementation("io.insert-koin:koin-core:$koinVersion") implementation("io.insert-koin:koin-android:$koinVersion") implementation("io.insert-koin:koin-androidx-compose:$koinVersion") // Retrofit implementation("com.squareup.retrofit2:retrofit:2.9.0") implementation("com.squareup.retrofit2:converter-moshi:2.9.0") implementation("com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.3") implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.6.1") }