diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7eeaf193..015bd33a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -70,6 +70,7 @@ jsoup = "org.jsoup:jsoup:1.16.1" junit-jupiter-api = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "junit" } junit-jupiter-engine = { module = "org.junit.jupiter:junit-jupiter-engine", version.ref = "junit" } junit-legacy = "junit:junit:4.13.2" +kotlinx-atomicfu = "org.jetbrains.kotlinx:atomicfu:0.20.0" kotlinx-collections-immutable = "org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.5" kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutines" } @@ -85,6 +86,7 @@ retrofit-kotlinxSerializationConverter = "com.jakewharton.retrofit:retrofit2-kot sentry-bom = { module = "io.sentry:sentry-bom", version.ref = "sentry-sdk" } sentry-okhttp = { module = "io.sentry:sentry-android-okhttp", version.ref = "sentry-sdk" } slack-compose-lints = "com.slack.lint.compose:compose-lint-checks:1.2.0" +store5 = "org.mobilenativefoundation.store:store5:5.0.0-beta02" sqldelight-androidDriver = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" } sqldelight-extensions-coroutines = { module = "app.cash.sqldelight:coroutines-extensions-jvm", version.ref = "sqldelight" } sqldelight-jvmDriver = { module = "app.cash.sqldelight:sqlite-driver", version.ref = "sqldelight" } diff --git a/settings.gradle.kts b/settings.gradle.kts index 98c8caf5..0a34988e 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -153,4 +153,5 @@ include( "core", "database", "model", + "store", ) diff --git a/store/build.gradle.kts b/store/build.gradle.kts new file mode 100644 index 00000000..ccf6563a --- /dev/null +++ b/store/build.gradle.kts @@ -0,0 +1,26 @@ +/* + * Copyright © 2021-2023 Harsh Shandilya. + * Use of this source code is governed by an MIT-style + * license that can be found in the LICENSE file or at + * https://opensource.org/licenses/MIT. + */ +@file:Suppress("UnstableApiUsage") + +plugins { + id("dev.msfjarvis.claw.android-library") + id("dev.msfjarvis.claw.kotlin-android") + alias(libs.plugins.anvil) +} + +android { namespace = "dev.msfjarvis.claw.store" } + +anvil { generateDaggerFactories.set(true) } + +dependencies { + api(projects.database) + api(projects.model) + + implementation(projects.api) + implementation(libs.kotlinx.atomicfu) + implementation(libs.store5) +} diff --git a/store/src/main/AndroidManifest.xml b/store/src/main/AndroidManifest.xml new file mode 100644 index 00000000..a1db17f4 --- /dev/null +++ b/store/src/main/AndroidManifest.xml @@ -0,0 +1,5 @@ + + + + +