plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) alias(libs.plugins.google.services) } android { namespace = "com.syaroful.agrilinkvocpro" compileSdk = 35 defaultConfig { applicationId = "com.syaroful.agrilinkvocpro" minSdk = 29 targetSdk = 35 versionCode = 13 versionName = "1.0.1" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = "11" } buildFeatures { compose = true } dynamicFeatures += setOf( ":control_feature", ":plant_disease_detection_feature", ":growth_recipe_feature", ":commodity_price_prediction_feature" ) } dependencies { // Android Core and Lifecycle implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) // Jetpack Compose UI implementation(libs.androidx.activity.compose) implementation(platform(libs.androidx.compose.bom)) // BOM for consistent Compose versions implementation(libs.androidx.ui) implementation(libs.androidx.ui.graphics) implementation(libs.androidx.ui.tooling.preview) implementation(libs.androidx.material3) // Testing Dependencies testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) androidTestImplementation(platform(libs.androidx.compose.bom)) // BOM for consistent Compose test versions androidTestImplementation(libs.androidx.ui.test.junit4) // Debugging Dependencies debugImplementation(libs.androidx.ui.tooling) debugImplementation(libs.androidx.ui.test.manifest) // Firebase Services implementation(platform(libs.firebase.bom)) // BOM for consistent Firebase versions implementation(libs.firebase.database) //jwt token implementation(libs.java.jwt) // Dynamic Feature Modules implementation(libs.feature.delivery) implementation(libs.feature.delivery.ktx) // navigation with compose implementation(libs.androidx.navigation.compose) // API Request implementation(libs.retrofit) implementation(libs.converter.gson) implementation(libs.retrofit2.kotlinx.serialization.converter) implementation(libs.okhttp) implementation(libs.logging.interceptor) // preference manager implementation(libs.androidx.datastore.preferences) // Koin Core viewModel implementation(libs.koin.android) implementation(libs.koin.androidx.compose) // pull to refresh implementation(libs.accompanist.swiperefresh) // placeholder or shimmer loading implementation(libs.accompanist.placeholder.material) }