From e1715c6601ad71ae87da3e74e055f21760db68db Mon Sep 17 00:00:00 2001 From: lihenggui Date: Thu, 22 Feb 2024 14:40:50 -0800 Subject: [PATCH] WIP: Add multiplatform-settings library --- core/datastore/build.gradle.kts | 27 ++++++++++++++++----------- gradle/libs.versions.toml | 4 ++++ 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/core/datastore/build.gradle.kts b/core/datastore/build.gradle.kts index 34ea5ee78..ff3f90dec 100644 --- a/core/datastore/build.gradle.kts +++ b/core/datastore/build.gradle.kts @@ -15,9 +15,9 @@ */ plugins { - alias(libs.plugins.nowinandroid.android.library) + alias(libs.plugins.nowinandroid.kmp.library) + alias(libs.plugins.nowinandroid.kotlin.inject) alias(libs.plugins.nowinandroid.android.library.jacoco) - alias(libs.plugins.nowinandroid.android.hilt) } android { @@ -32,13 +32,18 @@ android { } } -dependencies { - api(libs.androidx.dataStore.core) - api(projects.core.datastoreProto) - api(projects.core.model) - - implementation(projects.core.common) - - testImplementation(projects.core.datastoreTest) - testImplementation(libs.kotlinx.coroutines.test) +kotlin { + sourceSets { + commonMain.dependencies { + implementation(libs.multiplatform.settings) + implementation(libs.multiplatform.settings.serialization) + implementation(libs.multiplatform.settings.coroutines) + implementation(projects.core.model) + implementation(projects.core.common) + } + commonTest.dependencies { + implementation(libs.kotlin.test) + implementation(libs.kotlinx.coroutines.test) + } + } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 8fff6645d..cff75f95c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -72,6 +72,7 @@ compose-plugin = "1.6.0-alpha01" junit = "4.13.2" sqldelight = "2.0.1" kotlinInject = '0.6.3' +multiplatform-settings = "1.1.1" [libraries] accompanist-permissions = { group = "com.google.accompanist", name = "accompanist-permissions", version.ref = "accompanist" } @@ -168,6 +169,9 @@ sqldelight-coroutines-extensions = { group = "app.cash.sqldelight", name = "coro sqldelight-primitive-adapters = { group = "app.cash.sqldelight", name = "primitive-adapters", version.ref = "sqldelight" } kotlin-inject-compiler-ksp = { group = "me.tatarka.inject", name = "kotlin-inject-compiler-ksp", version.ref = "kotlinInject" } kotlin-inject-runtime = { group = "me.tatarka.inject", name = "kotlin-inject-runtime", version.ref = "kotlinInject" } +multiplatform-settings = { group = "com.russhwolf", name = "multiplatform-settings", version.ref = "multiplatform-settings" } +multiplatform-settings-serialization = { group = "com.russhwolf", name = "multiplatform-settings-serialization", version.ref = "multiplatform-settings" } +multiplatform-settings-coroutines = { group = "com.russhwolf", name = "multiplatform-settings-coroutines", version.ref = "multiplatform-settings" } # Dependencies of the included build-logic android-gradlePlugin = { group = "com.android.tools.build", name = "gradle", version.ref = "androidGradlePlugin" }