DB: introduce Kotlin serialization extension's library and plugin; add Room runtime library

This commit is contained in:
Han Yin 2025-04-19 21:11:54 -07:00
parent 67499727ef
commit 8ae0c3d2fa
3 changed files with 14 additions and 4 deletions

View File

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

View File

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

View File

@ -15,8 +15,9 @@ navigation = "2.8.9"
room = "2.7.0" room = "2.7.0"
hilt = "1.2.0" hilt = "1.2.0"
# Coroutines # Kotlin Extensions
coroutines = "1.10.2" coroutines = "1.10.2"
serialization = "1.8.1"
# Compose # Compose
compose-bom = "2025.03.01" compose-bom = "2025.03.01"
@ -40,6 +41,7 @@ android-library = { id = "com.android.library", version.ref = "agp" }
kotlin-symbol-processing = { id = "com.google.devtools.ksp", version.ref = "ksp" } kotlin-symbol-processing = { id = "com.google.devtools.ksp", version.ref = "ksp" }
jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
jetbrains-kotlin-compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } jetbrains-kotlin-compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
jetbrains-kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
hilt = { id = "com.google.dagger.hilt.android", version.ref = "dagger-hilt" } hilt = { id = "com.google.dagger.hilt.android", version.ref = "dagger-hilt" }
@ -55,10 +57,13 @@ androidx-lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "l
androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigation"} androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigation"}
androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" } androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" }
androidx-room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "room" } androidx-room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "room" }
androidx-room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "room" }
# Coroutines # Kotlin Extensions
kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "coroutines" } kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "coroutines" }
kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "coroutines" } kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "coroutines" }
kotlinx-serialization-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-core", version.ref = "serialization" }
kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "serialization" }
# Compose # Compose
compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" } compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" }
@ -94,6 +99,7 @@ androidx = [
"androidx-lifecycle-viewmodel-compose", "androidx-lifecycle-viewmodel-compose",
"androidx-navigation-compose", "androidx-navigation-compose",
"androidx-room-ktx", "androidx-room-ktx",
"androidx-room-runtime",
] ]
compose = [ compose = [
"compose-foundation", "compose-foundation",
@ -102,9 +108,11 @@ compose = [
"compose-ui", "compose-ui",
"compose-ui-graphics", "compose-ui-graphics",
] ]
coroutines = [ kotlinx = [
"kotlinx-coroutines-core", "kotlinx-coroutines-core",
"kotlinx-coroutines-android", "kotlinx-coroutines-android",
"kotlinx-serialization-core",
"kotlinx-serialization-json",
] ]
hilt = [ hilt = [
"hilt-android", "hilt-android",