DI: introduce Hilt plugin + processor + lib dependencies

This commit is contained in:
Han Yin 2025-04-13 18:07:18 -07:00
parent af0d68d611
commit 65741a7e64
3 changed files with 18 additions and 4 deletions

View File

@ -3,6 +3,7 @@ plugins {
alias(libs.plugins.kotlin.symbol.processing)
alias(libs.plugins.jetbrains.kotlin.android)
alias(libs.plugins.jetbrains.kotlin.compose.compiler)
alias(libs.plugins.hilt)
}
android {
@ -55,6 +56,8 @@ dependencies {
ksp(libs.androidx.room.compiler)
implementation(libs.bundles.compose)
implementation(libs.bundles.coroutines)
ksp(libs.hilt.android.compiler)
implementation(libs.bundles.hilt)
// Individual dependencies
implementation(libs.accompanist.systemuicontroller)

View File

@ -5,4 +5,5 @@ plugins {
alias(libs.plugins.kotlin.symbol.processing) apply false
alias(libs.plugins.jetbrains.kotlin.android) apply false
alias(libs.plugins.jetbrains.kotlin.compose.compiler) apply false
alias(libs.plugins.hilt) apply false
}

View File

@ -4,6 +4,7 @@
agp = "8.9.1"
ksp = "2.1.20-2.0.0"
kotlin = "2.1.20"
dagger-hilt = "2.56.1"
# AndroidX
activity = "1.10.1"
@ -12,6 +13,7 @@ datastore-preferences = "1.0.0"
lifecycle = "2.8.7"
navigation = "2.8.9"
room = "2.7.0"
hilt = "1.2.0"
# Coroutines
coroutines = "1.10.2"
@ -38,6 +40,7 @@ android-library = { id = "com.android.library", version.ref = "agp" }
kotlin-symbol-processing = { id = "com.google.devtools.ksp", version.ref = "ksp" }
jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
jetbrains-kotlin-compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
hilt = { id = "com.google.dagger.hilt.android", version.ref = "dagger-hilt" }
[libraries]
@ -59,21 +62,24 @@ kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-
# Compose
compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" }
compose-foundation = { group = "androidx.compose.foundation", name = "foundation", version.ref = "compose-foundation" }
compose-material-icons-extended = { group = "androidx.compose.material", name = "material-icons-extended", version.ref = "compose-material-icons" }
compose-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "compose-material3" }
compose-ui = { group = "androidx.compose.ui", name = "ui", version.ref = "compose-ui" }
compose-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics", version.ref = "compose-ui" }
compose-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4", version.ref = "compose-ui" }
compose-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest", version.ref = "compose-ui" }
compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling", version.ref = "compose-ui" }
compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "compose-ui" }
compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview", version.ref = "compose-ui" }
# Accompanist
accompanist-systemuicontroller = { group = "com.google.accompanist", name = "accompanist-systemuicontroller", version.ref = "accompanist" }
# Hilt
hilt-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "dagger-hilt" }
hilt-android-compiler = { group = "com.google.dagger", name = "hilt-android-compiler", version.ref = "dagger-hilt" }
androidx-hilt-navigation-compose = { group = "androidx.hilt", name = "hilt-navigation-compose", version.ref = "hilt" }
# Testing
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso-core" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-junit" }
@ -98,7 +104,11 @@ compose = [
]
coroutines = [
"kotlinx-coroutines-core",
"kotlinx-coroutines-android"
"kotlinx-coroutines-android",
]
hilt = [
"hilt-android",
"androidx-hilt-navigation-compose",
]
debug = [
"compose-ui-tooling",