// [FILE] app/build.gradle.kts // [PURPOSE] Build script for the app module. plugins { id("com.android.application") id("org.jetbrains.kotlin.android") id("com.google.dagger.hilt.android") id("kotlin-kapt") // id("org.jlleitschuh.gradle.ktlint") version "12.1.1" } android { namespace = "com.homebox.lens" compileSdk = Versions.compileSdk defaultConfig { applicationId = "com.homebox.lens" minSdk = Versions.minSdk targetSdk = Versions.targetSdk versionCode = Versions.versionCode versionName = Versions.versionName 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_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = "1.8" } buildFeatures { compose = true buildConfig = true } composeOptions { kotlinCompilerExtensionVersion = Versions.composeCompiler } packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" } } } dependencies { // [MODULE_DEPENDENCY] Data module implementation(project(":data")) // [MODULE_DEPENDENCY] Domain module (transitively included via data, but explicit for clarity) implementation(project(":domain")) // [DEPENDENCY] AndroidX implementation(Libs.coreKtx) implementation(Libs.lifecycleRuntime) implementation(Libs.activityCompose) // [DEPENDENCY] Compose implementation(platform(Libs.composeBom)) implementation(Libs.composeUi) implementation(Libs.composeUiGraphics) implementation(Libs.composeUiToolingPreview) implementation(Libs.composeMaterial3) implementation("androidx.compose.material:material-icons-extended-android:1.6.8") implementation(Libs.navigationCompose) implementation(Libs.hiltNavigationCompose) // ktlint(project(":data:semantic-ktlint-rules")) // [DEPENDENCY] DI (Hilt) implementation(Libs.hiltAndroid) kapt(Libs.hiltCompiler) // [DEPENDENCY] Logging implementation(Libs.timber) // [DEPENDENCY] Testing testImplementation(Libs.junit) testImplementation(Libs.kotestRunnerJunit5) testImplementation(Libs.kotestAssertionsCore) testImplementation(Libs.mockk) testImplementation("app.cash.turbine:turbine:1.1.0") androidTestImplementation(Libs.extJunit) androidTestImplementation(Libs.espressoCore) androidTestImplementation(platform(Libs.composeBom)) androidTestImplementation(Libs.composeUiTestJunit4) debugImplementation(Libs.composeUiTooling) debugImplementation(Libs.composeUiTestManifest) } kapt { correctErrorTypes = true } // [END_FILE_app/build.gradle.kts]