plugins { id("com.android.application") id("org.jetbrains.kotlin.android") id("com.google.devtools.ksp") id("com.google.dagger.hilt.android") kotlin("kapt") } android { namespace = "com.acclorite.books_history" compileSdk = 34 defaultConfig { applicationId = "com.acclorite.books_history" minSdk = 26 targetSdk = 34 versionCode = 1 versionName = "0.2.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.5.7" } packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" excludes += "/META-INF/gradle/incremental.annotation.processors" } } } dependencies { val composeVersion = "1.5.7" // Default implementation("androidx.core:core-ktx:1.12.0") implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.2") implementation("androidx.activity:activity-compose:1.8.2") implementation(platform("androidx.compose:compose-bom:latest.release")) implementation("androidx.compose.ui:ui:$composeVersion") implementation("androidx.compose.ui:ui-graphics:$composeVersion") implementation("androidx.compose.ui:ui-tooling-preview:$composeVersion") implementation("androidx.compose.ui:ui-android:latest.release") implementation("androidx.compose.material3:material3") // Unit tests testImplementation ("androidx.test:core:latest.release") testImplementation ("junit:junit:latest.release") testImplementation ("androidx.arch.core:core-testing:latest.release") testImplementation ("org.jetbrains.kotlinx:kotlinx-coroutines-test:latest.release") testImplementation ("com.google.truth:truth:1.2.0") testImplementation ("androidx.test.ext:truth:1.5.0") testImplementation ("com.squareup.okhttp3:mockwebserver:latest.release") testImplementation ("io.mockk:mockk:latest.release") debugImplementation ("androidx.compose.ui:ui-test-manifest:latest.release") // Instrumentation tests androidTestImplementation ("com.google.dagger:hilt-android-testing:latest.release") kaptAndroidTest ("com.google.dagger:hilt-android-compiler:latest.release") androidTestImplementation ("junit:junit:latest.release") androidTestImplementation ("org.jetbrains.kotlinx:kotlinx-coroutines-test:latest.release") androidTestImplementation ("androidx.arch.core:core-testing:latest.release") androidTestImplementation ("com.google.truth:truth:latest.release") androidTestImplementation ("androidx.test.ext:junit:latest.release") androidTestImplementation ("androidx.test:core-ktx:latest.release") androidTestImplementation ("com.squareup.okhttp3:mockwebserver:latest.release") androidTestImplementation ("io.mockk:mockk-android:latest.release") androidTestImplementation ("androidx.test:runner:latest.release") // All dependencies implementation ("androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2") implementation ("androidx.compose.material:material-icons-extended") implementation ("androidx.activity:activity-compose:1.8.2") implementation ("com.google.accompanist:accompanist-swiperefresh:0.24.2-alpha") // Dagger implementation("com.google.dagger:hilt-android:2.50") kapt("com.google.dagger:hilt-android-compiler:2.50") // Room implementation ("androidx.room:room-runtime:2.6.1") ksp ("androidx.room:room-compiler:2.6.1") // Kotlin Extensions and Coroutines support for Room implementation ("androidx.room:room-ktx:2.6.1") // Datastore implementation ("androidx.datastore:datastore-preferences:latest.release") // Splash API implementation ("androidx.core:core-splashscreen:latest.release") }