feat: update build.gradle.kts

This commit is contained in:
Cutiful 2025-06-12 08:45:59 +07:00
parent e821657596
commit 6d9aa910b6
8 changed files with 282 additions and 56 deletions

View File

@ -2,9 +2,7 @@ plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
id("com.google.gms.google-services")
id("com.google.devtools.ksp")
id("com.google.dagger.hilt.android")
alias(libs.plugins.google.services)
}
android {
@ -15,8 +13,8 @@ android {
applicationId = "com.syaroful.agrilinkvocpro"
minSdk = 29
targetSdk = 35
versionCode = 3
versionName = "1.0.0"
versionCode = 11
versionName = "1.0.3"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
@ -31,21 +29,26 @@ android {
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = "1.8"
jvmTarget = "11"
}
buildFeatures {
compose = true
}
dynamicFeatures += setOf(":control_feature", ":diseasedetection_feature")
dynamicFeatures += setOf(
":control_feature",
":plant_disease_detection_feature",
":growth_recipe_feature",
":commodity_price_prediction_feature"
)
}
dependencies {
// Android Core and Lifecycle
// Android Core and Lifecycle
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
@ -72,18 +75,34 @@ dependencies {
implementation(platform(libs.firebase.bom)) // BOM for consistent Firebase versions
implementation(libs.firebase.database)
// ViewModel
implementation(libs.androidx.lifecycle.viewmodel.compose)
//jwt token
implementation(libs.java.jwt)
// Dynamic Feature Modules
implementation(libs.feature.delivery)
implementation(libs.feature.delivery.ktx)
// Dependency Injection
implementation(libs.hilt.android)
ksp(libs.hilt.android.compiler)
// 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)
//graphic chat by Ycharts
implementation(libs.ycharts)
}

View File

@ -3,8 +3,8 @@ plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.kotlin.compose) apply false
id("com.google.gms.google-services") version "4.4.2" apply false
alias(libs.plugins.google.services) apply false
alias(libs.plugins.android.dynamic.feature) apply false
id("com.google.devtools.ksp") version "2.0.21-1.0.27" apply false
id("com.google.dagger.hilt.android") version "2.56.2" apply false
alias(libs.plugins.ksp) apply false
alias(libs.plugins.hilt.android) apply false
}

View File

@ -0,0 +1,53 @@
plugins {
alias(libs.plugins.android.dynamic.feature)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
}
android {
namespace = "com.syaroful.agrilinkvocpro.commodity_price_prediction_feature"
compileSdk = 35
defaultConfig {
minSdk = 29
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
}
}
dependencies {
implementation(project(":app"))
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.ui)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
}

View File

@ -2,6 +2,9 @@ plugins {
alias(libs.plugins.android.dynamic.feature)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
// alias(libs.plugins.google.services)
// alias(libs.plugins.ksp)
// alias(libs.plugins.hilt.android)
}
android {
namespace = "com.syaroful.agrilinkvocpro.control_feature"

View File

@ -1,37 +0,0 @@
plugins {
alias(libs.plugins.android.dynamic.feature)
alias(libs.plugins.kotlin.android)
}
android {
namespace = "com.syaroful.agrilinkvocpro.diseasedetection_feature"
compileSdk = 35
defaultConfig {
minSdk = 29
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
"proguard-rules-dynamic-features.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
}
dependencies {
implementation(project(":app"))
implementation(libs.androidx.core.ktx)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
}

View File

@ -0,0 +1,90 @@
plugins {
alias(libs.plugins.android.dynamic.feature)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
}
android {
namespace = "com.syaroful.agrilinkvocpro.growth_recipe_feature"
compileSdk = 35
defaultConfig {
minSdk = 29
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
}
}
dependencies {
implementation(project(":app"))
// 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)
}

View File

@ -0,0 +1,98 @@
plugins {
alias(libs.plugins.android.dynamic.feature)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
id("org.jetbrains.kotlin.plugin.serialization") version "1.9.10"
// alias(libs.plugins.google.services)
// alias(libs.plugins.ksp)
// alias(libs.plugins.hilt.android)
}
android {
namespace = "com.syaroful.agrilinkvocpro.plant_disease_detection_feature"
compileSdk = 35
defaultConfig {
minSdk = 29
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
}
}
dependencies {
implementation(project(":app"))
// Android Core and Lifecycle
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.runtime)
// 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)
// ViewModel
implementation(libs.androidx.lifecycle.viewmodel.compose)
// 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)
// Kotlinx Serialization
implementation(libs.kotlinx.serialization.json.v160)
// preference manager
implementation(libs.androidx.datastore.preferences)
// camera
implementation(libs.androidx.camera.core)
implementation(libs.androidx.camera.camera2)
implementation(libs.androidx.camera.lifecycle)
implementation(libs.androidx.camera.view)
// Koin Core viewModel
implementation(libs.koin.android)
implementation(libs.koin.androidx.compose)
}