plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) id("com.google.devtools.ksp") id("com.google.dagger.hilt.android") alias(libs.plugins.baselineprofile) } android { namespace = "cc.n0th1ng.tripmoney" compileSdk = 36 buildFeatures { buildConfig = true } defaultConfig { applicationId = "cc.n0th1ng.tripmoney" minSdk = 26 targetSdk = 36 versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunnerArguments["androidx.compose.ui.test.tagsAsResourceId"] = "true" } buildTypes { debug { applicationIdSuffix = ".debug" isDebuggable = true } release { signingConfig = signingConfigs.getByName("debug") isMinifyEnabled = true isShrinkResources = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } create("benchmark") { isMinifyEnabled = false isShrinkResources = false initWith(buildTypes.getByName("release")) signingConfig = signingConfigs.getByName("debug") matchingFallbacks += listOf("release") isDebuggable = false proguardFiles("baseline-profiles-rules.pro") } } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = "17" freeCompilerArgs = listOf("-XXLanguage:+PropertyParamAnnotationDefaultTargetMode") } buildFeatures { compose = true } } dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.activity.compose) implementation(platform(libs.androidx.compose.bom)) implementation(libs.androidx.compose.ui) implementation(libs.androidx.compose.ui.graphics) implementation(libs.androidx.compose.ui.tooling.preview) implementation(libs.androidx.compose.material3) implementation(libs.androidx.navigation.compose) implementation(libs.androidx.compose.foundation.layout) implementation(libs.androidx.profileinstaller) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) androidTestImplementation(platform(libs.androidx.compose.bom)) androidTestImplementation(libs.androidx.compose.ui.test.junit4) debugImplementation(libs.androidx.compose.ui.tooling) debugImplementation(libs.androidx.compose.ui.test.manifest) coreLibraryDesugaring(libs.tools.desugar.jdk.libs) implementation(libs.androidx.room.runtime) // If this project uses any Kotlin source, use Kotlin Symbol Processing (KSP) // See Add the KSP plugin to your project ksp(libs.androidx.room.compiler) implementation(libs.androidx.room.ktx) implementation(libs.androidx.room.rxjava2) implementation(libs.androidx.room.rxjava3) implementation(libs.androidx.room.guava) testImplementation(libs.androidx.room.testing) implementation(libs.androidx.room.paging) implementation(libs.androidx.paging.runtime) implementation(libs.androidx.paging.compose) implementation(libs.androidx.datastore.preferences) implementation(libs.icons.material.symbols.outlined.android) implementation(libs.icons.material.symbols.outlined.filled.android) implementation(libs.hilt.android) ksp(libs.hilt.android.compiler) implementation(libs.androidx.hilt.navigation.compose) implementation(libs.ktor.client.core) implementation(libs.ktor.client.okhttp) implementation(libs.kotlinx.serialization.json.jvm) implementation(libs.commons.csv) }