diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 103eaa501..6aa496edb 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -223,7 +223,6 @@ dependencies { implementation(libs.androidx.paging.compose) implementation(libs.coil.network.okhttp) implementation(libs.coil.svg) - implementation(libs.androidx.hilt.lifecycle.viewmodel.compose) implementation(libs.zxing.android.embedded) { isTransitive = false } implementation(libs.androidx.core.splashscreen) implementation(libs.kotlinx.serialization.json) @@ -231,8 +230,8 @@ dependencies { implementation(libs.streamsupport.minifuture) implementation(libs.usb.serial.android) implementation(libs.androidx.work.runtime.ktx) - implementation("androidx.hilt:hilt-work:1.2.0") - ksp("androidx.hilt:hilt-compiler:1.2.0") + implementation(libs.androidx.hilt.work) + ksp(libs.androidx.hilt.compiler) implementation(libs.accompanist.permissions) implementation(libs.kermit) diff --git a/build-logic/convention/src/main/kotlin/HiltConventionPlugin.kt b/build-logic/convention/src/main/kotlin/HiltConventionPlugin.kt index 066b3ed27..cc9ae4b76 100644 --- a/build-logic/convention/src/main/kotlin/HiltConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/HiltConventionPlugin.kt @@ -45,6 +45,12 @@ class HiltConventionPlugin : Plugin { pluginManager.withPlugin("com.android.base") { apply(plugin = "dagger.hilt.android.plugin") } + + pluginManager.withPlugin("org.jetbrains.kotlin.plugin.compose") { + dependencies { + "implementation"(libs.library("androidx-hilt-lifecycle-viewmodel-compose")) + } + } } } } diff --git a/core/ui/build.gradle.kts b/core/ui/build.gradle.kts index 1960906c9..25279699e 100644 --- a/core/ui/build.gradle.kts +++ b/core/ui/build.gradle.kts @@ -58,7 +58,6 @@ dependencies { implementation(libs.androidx.compose.ui.text) implementation(libs.androidx.compose.ui.tooling.preview) implementation(libs.androidx.emoji2.emojipicker) - implementation(libs.androidx.hilt.lifecycle.viewmodel.compose) implementation(libs.guava) implementation(libs.zxing.core) implementation(libs.zxing.android.embedded) diff --git a/feature/firmware/build.gradle.kts b/feature/firmware/build.gradle.kts index e0ba936e6..4bdd4da0e 100644 --- a/feature/firmware/build.gradle.kts +++ b/feature/firmware/build.gradle.kts @@ -61,7 +61,6 @@ dependencies { implementation(libs.androidx.compose.material3) implementation(libs.androidx.compose.ui.text) implementation(libs.androidx.compose.ui.tooling.preview) - implementation(libs.androidx.hilt.lifecycle.viewmodel.compose) implementation(libs.androidx.navigation.compose) implementation(libs.kotlinx.collections.immutable) implementation(libs.kermit) diff --git a/feature/map/build.gradle.kts b/feature/map/build.gradle.kts index b69e19e25..53e961925 100644 --- a/feature/map/build.gradle.kts +++ b/feature/map/build.gradle.kts @@ -62,7 +62,6 @@ dependencies { implementation(libs.androidx.compose.material3) implementation(libs.androidx.compose.ui.text) implementation(libs.androidx.compose.ui.tooling.preview) - implementation(libs.androidx.hilt.lifecycle.viewmodel.compose) implementation(libs.androidx.lifecycle.runtime.compose) implementation(libs.androidx.lifecycle.viewmodel.compose) implementation(libs.androidx.navigation.common) diff --git a/feature/messaging/build.gradle.kts b/feature/messaging/build.gradle.kts index 804daf1f3..c6a01d993 100644 --- a/feature/messaging/build.gradle.kts +++ b/feature/messaging/build.gradle.kts @@ -56,7 +56,6 @@ dependencies { implementation(libs.androidx.compose.material3) implementation(libs.androidx.compose.ui.text) implementation(libs.androidx.compose.ui.tooling.preview) - implementation(libs.androidx.hilt.lifecycle.viewmodel.compose) implementation(libs.androidx.paging.compose) implementation(libs.kermit) diff --git a/feature/node/build.gradle.kts b/feature/node/build.gradle.kts index be1a651c0..6658c604b 100644 --- a/feature/node/build.gradle.kts +++ b/feature/node/build.gradle.kts @@ -60,7 +60,6 @@ dependencies { implementation(libs.androidx.compose.material3) implementation(libs.androidx.compose.ui.text) implementation(libs.androidx.compose.ui.tooling.preview) - implementation(libs.androidx.hilt.lifecycle.viewmodel.compose) implementation(libs.androidx.navigation.common) implementation(libs.kermit) implementation(libs.coil) diff --git a/feature/settings/build.gradle.kts b/feature/settings/build.gradle.kts index 06d56edd0..70953feb8 100644 --- a/feature/settings/build.gradle.kts +++ b/feature/settings/build.gradle.kts @@ -62,7 +62,6 @@ dependencies { implementation(libs.androidx.compose.material3) implementation(libs.androidx.compose.ui.text) implementation(libs.androidx.compose.ui.tooling.preview) - implementation(libs.androidx.hilt.lifecycle.viewmodel.compose) implementation(libs.androidx.navigation.compose) implementation(libs.kotlinx.collections.immutable) implementation(libs.kermit) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 59837967c..f7146a1b4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -6,6 +6,7 @@ accompanist = "0.37.3" # androidx androidxComposeMaterial3Adaptive = "1.2.0" +androidxHilt = "1.3.0" androidxTracing = "1.10.0" datastore = "1.2.0" lifecycle = "2.10.0" @@ -54,7 +55,9 @@ androidx-core-splashscreen = { module = "androidx.core:core-splashscreen", versi androidx-datastore = { module = "androidx.datastore:datastore", version.ref = "datastore" } androidx-datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "datastore" } androidx-emoji2-emojipicker = { module = "androidx.emoji2:emoji2-emojipicker", version = "1.6.0" } -androidx-hilt-lifecycle-viewmodel-compose = { module = "androidx.hilt:hilt-lifecycle-viewmodel-compose", version = "1.3.0" } +androidx-hilt-compiler = { module = "androidx.hilt:hilt-compiler", version.ref = "androidxHilt" } +androidx-hilt-lifecycle-viewmodel-compose = { module = "androidx.hilt:hilt-lifecycle-viewmodel-compose", version.ref = "androidxHilt" } +androidx-hilt-work = { module = "androidx.hilt:hilt-work", version.ref = "androidxHilt" } androidx-lifecycle-livedata-ktx = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref = "lifecycle" } androidx-lifecycle-process = { module = "androidx.lifecycle:lifecycle-process", version.ref = "lifecycle" } androidx-lifecycle-runtime = { module = "androidx.lifecycle:lifecycle-runtime", version.ref = "lifecycle" }