plugins { alias(libs.plugins.android.library) alias(libs.plugins.jetbrains.kotlin.android) alias(libs.plugins.jetbrains.kotlin.serialization) alias(libs.plugins.dagger.hilt.android) alias(libs.plugins.ksp) } android { namespace = "com.suno.android.common_db" compileSdk = libs.versions.compileSdk.get().toInt() defaultConfig { minSdk = libs.versions.minSdk.get().toInt() testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") } buildTypes { release { proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro", ) } } compileOptions { sourceCompatibility = JavaVersion.toVersion(libs.versions.java.get()) targetCompatibility = JavaVersion.toVersion(libs.versions.java.get()) } kotlinOptions { jvmTarget = libs.versions.java.get() } buildFeatures { buildConfig = true } } dependencies { implementation(project(":common-core-utils")) ksp(libs.dagger.hilt.compiler) implementation(libs.androidx.core.ktx) implementation(libs.androidx.appcompat) implementation(libs.dagger.hilt.android) implementation(libs.kotlinx.serialization.json) api(libs.retrofit) implementation(libs.retrofit.converters.kotlinx.serialization) implementation(libs.androidx.datastore.preferences.core) implementation(libs.androidx.datastore.preferences) // 3rd party retrofit call adapter for flows implementation(libs.flow.call.adapter.factory) api(libs.androidx.room.runtime) api(libs.androidx.room.paging) api(libs.androidx.room.ktx) implementation(libs.logging.interceptor) implementation(libs.converter.scalars) annotationProcessor(libs.androidx.room.compiler) ksp(libs.androidx.room.compiler) testImplementation(libs.junit) testImplementation(libs.androidx.room.testing) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) // Statsig implementation(libs.statsig) }