diff --git a/android/build.gradle.kts b/android/build.gradle.kts index 0e0c256c..999b9c9d 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -90,7 +90,7 @@ dependencies { implementation(projects.api) implementation(projects.common) implementation(projects.core) - implementation(projects.database) + implementation(projects.database.impl) implementation(projects.model) kapt(libs.dagger.compiler) diff --git a/common/build.gradle.kts b/common/build.gradle.kts index f77e8fb8..fda29d97 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -33,7 +33,7 @@ anvil { generateDaggerFactories.set(true) } dependencies { api(projects.core) - api(projects.database) + api(projects.database.core) api(projects.model) implementation(platform(libs.androidx.compose.bom)) diff --git a/database/core/build.gradle.kts b/database/core/build.gradle.kts new file mode 100644 index 00000000..4fe696fc --- /dev/null +++ b/database/core/build.gradle.kts @@ -0,0 +1,22 @@ +/* + * 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. + */ +import dev.msfjarvis.claw.gradle.addTestDependencies + +plugins { + id("dev.msfjarvis.claw.kotlin-jvm") + alias(libs.plugins.sqldelight) +} + +sqldelight { + databases { + create("LobstersDatabase") { + packageName.set("dev.msfjarvis.claw.database") + schemaOutputDirectory.set(file("src/main/sqldelight/databases")) + verifyMigrations.set(true) + } + } +} diff --git a/database/core/lint-baseline.xml b/database/core/lint-baseline.xml new file mode 100644 index 00000000..4dbeae48 --- /dev/null +++ b/database/core/lint-baseline.xml @@ -0,0 +1,4 @@ + + + + diff --git a/database/src/main/sqldelight/databases/1.db b/database/core/src/main/sqldelight/databases/1.db similarity index 100% rename from database/src/main/sqldelight/databases/1.db rename to database/core/src/main/sqldelight/databases/1.db diff --git a/database/src/main/sqldelight/dev/msfjarvis/claw/database/local/PostComments.sq b/database/core/src/main/sqldelight/dev/msfjarvis/claw/database/local/PostComments.sq similarity index 100% rename from database/src/main/sqldelight/dev/msfjarvis/claw/database/local/PostComments.sq rename to database/core/src/main/sqldelight/dev/msfjarvis/claw/database/local/PostComments.sq diff --git a/database/src/main/sqldelight/dev/msfjarvis/claw/database/local/ReadPosts.sq b/database/core/src/main/sqldelight/dev/msfjarvis/claw/database/local/ReadPosts.sq similarity index 100% rename from database/src/main/sqldelight/dev/msfjarvis/claw/database/local/ReadPosts.sq rename to database/core/src/main/sqldelight/dev/msfjarvis/claw/database/local/ReadPosts.sq diff --git a/database/src/main/sqldelight/dev/msfjarvis/claw/database/local/SavedPost.sq b/database/core/src/main/sqldelight/dev/msfjarvis/claw/database/local/SavedPost.sq similarity index 100% rename from database/src/main/sqldelight/dev/msfjarvis/claw/database/local/SavedPost.sq rename to database/core/src/main/sqldelight/dev/msfjarvis/claw/database/local/SavedPost.sq diff --git a/database/src/main/sqldelight/migrations/1.sqm b/database/core/src/main/sqldelight/migrations/1.sqm similarity index 100% rename from database/src/main/sqldelight/migrations/1.sqm rename to database/core/src/main/sqldelight/migrations/1.sqm diff --git a/database/src/main/sqldelight/migrations/2.sqm b/database/core/src/main/sqldelight/migrations/2.sqm similarity index 100% rename from database/src/main/sqldelight/migrations/2.sqm rename to database/core/src/main/sqldelight/migrations/2.sqm diff --git a/database/src/main/sqldelight/migrations/3.sqm b/database/core/src/main/sqldelight/migrations/3.sqm similarity index 100% rename from database/src/main/sqldelight/migrations/3.sqm rename to database/core/src/main/sqldelight/migrations/3.sqm diff --git a/database/src/main/sqldelight/migrations/4.sqm b/database/core/src/main/sqldelight/migrations/4.sqm similarity index 100% rename from database/src/main/sqldelight/migrations/4.sqm rename to database/core/src/main/sqldelight/migrations/4.sqm diff --git a/database/src/main/sqldelight/migrations/5.sqm b/database/core/src/main/sqldelight/migrations/5.sqm similarity index 100% rename from database/src/main/sqldelight/migrations/5.sqm rename to database/core/src/main/sqldelight/migrations/5.sqm diff --git a/database/.gitignore b/database/impl/.gitignore similarity index 100% rename from database/.gitignore rename to database/impl/.gitignore diff --git a/database/build.gradle.kts b/database/impl/build.gradle.kts similarity index 77% rename from database/build.gradle.kts rename to database/impl/build.gradle.kts index 38c23b86..94e67ee7 100644 --- a/database/build.gradle.kts +++ b/database/impl/build.gradle.kts @@ -11,7 +11,6 @@ plugins { id("dev.msfjarvis.claw.kotlin-android") alias(libs.plugins.kotlin.serialization) alias(libs.plugins.anvil) - alias(libs.plugins.sqldelight) alias(libs.plugins.whetstone) } @@ -19,17 +18,8 @@ android { namespace = "dev.msfjarvis.claw.database" } anvil { generateDaggerFactories.set(true) } -sqldelight { - databases { - create("LobstersDatabase") { - packageName.set("dev.msfjarvis.claw.database") - schemaOutputDirectory.set(file("src/main/sqldelight/databases")) - verifyMigrations.set(true) - } - } -} - dependencies { + api(projects.database.core) implementation(libs.dagger) implementation(libs.sqldelight.androidDriver) implementation(libs.sqldelight.primitiveAdapters) diff --git a/database/consumer-rules.pro b/database/impl/consumer-rules.pro similarity index 100% rename from database/consumer-rules.pro rename to database/impl/consumer-rules.pro diff --git a/database/lint-baseline.xml b/database/impl/lint-baseline.xml similarity index 100% rename from database/lint-baseline.xml rename to database/impl/lint-baseline.xml diff --git a/database/src/main/AndroidManifest.xml b/database/impl/src/main/AndroidManifest.xml similarity index 100% rename from database/src/main/AndroidManifest.xml rename to database/impl/src/main/AndroidManifest.xml diff --git a/database/src/main/kotlin/dev/msfjarvis/claw/database/SavedPostSerializer.kt b/database/impl/src/main/kotlin/dev/msfjarvis/claw/database/SavedPostSerializer.kt similarity index 100% rename from database/src/main/kotlin/dev/msfjarvis/claw/database/SavedPostSerializer.kt rename to database/impl/src/main/kotlin/dev/msfjarvis/claw/database/SavedPostSerializer.kt diff --git a/database/src/main/kotlin/dev/msfjarvis/claw/database/injection/DatabaseModule.kt b/database/impl/src/main/kotlin/dev/msfjarvis/claw/database/injection/DatabaseModule.kt similarity index 100% rename from database/src/main/kotlin/dev/msfjarvis/claw/database/injection/DatabaseModule.kt rename to database/impl/src/main/kotlin/dev/msfjarvis/claw/database/injection/DatabaseModule.kt diff --git a/database/src/main/kotlin/dev/msfjarvis/claw/database/injection/InternalDatabaseApi.kt b/database/impl/src/main/kotlin/dev/msfjarvis/claw/database/injection/InternalDatabaseApi.kt similarity index 100% rename from database/src/main/kotlin/dev/msfjarvis/claw/database/injection/InternalDatabaseApi.kt rename to database/impl/src/main/kotlin/dev/msfjarvis/claw/database/injection/InternalDatabaseApi.kt diff --git a/database/src/main/kotlin/dev/msfjarvis/claw/database/injection/QueriesModule.kt b/database/impl/src/main/kotlin/dev/msfjarvis/claw/database/injection/QueriesModule.kt similarity index 100% rename from database/src/main/kotlin/dev/msfjarvis/claw/database/injection/QueriesModule.kt rename to database/impl/src/main/kotlin/dev/msfjarvis/claw/database/injection/QueriesModule.kt diff --git a/database/src/main/kotlin/dev/msfjarvis/claw/database/model/CSVAdapter.kt b/database/impl/src/main/kotlin/dev/msfjarvis/claw/database/model/CSVAdapter.kt similarity index 100% rename from database/src/main/kotlin/dev/msfjarvis/claw/database/model/CSVAdapter.kt rename to database/impl/src/main/kotlin/dev/msfjarvis/claw/database/model/CSVAdapter.kt diff --git a/database/src/test/kotlin/dev/msfjarvis/claw/database/SavedPostSerializerTest.kt b/database/impl/src/test/kotlin/dev/msfjarvis/claw/database/SavedPostSerializerTest.kt similarity index 100% rename from database/src/test/kotlin/dev/msfjarvis/claw/database/SavedPostSerializerTest.kt rename to database/impl/src/test/kotlin/dev/msfjarvis/claw/database/SavedPostSerializerTest.kt diff --git a/database/src/test/kotlin/dev/msfjarvis/claw/database/local/PostCommentsQueriesTest.kt b/database/impl/src/test/kotlin/dev/msfjarvis/claw/database/local/PostCommentsQueriesTest.kt similarity index 100% rename from database/src/test/kotlin/dev/msfjarvis/claw/database/local/PostCommentsQueriesTest.kt rename to database/impl/src/test/kotlin/dev/msfjarvis/claw/database/local/PostCommentsQueriesTest.kt diff --git a/database/src/test/kotlin/dev/msfjarvis/claw/database/local/ReadPostsQueriesTest.kt b/database/impl/src/test/kotlin/dev/msfjarvis/claw/database/local/ReadPostsQueriesTest.kt similarity index 100% rename from database/src/test/kotlin/dev/msfjarvis/claw/database/local/ReadPostsQueriesTest.kt rename to database/impl/src/test/kotlin/dev/msfjarvis/claw/database/local/ReadPostsQueriesTest.kt diff --git a/database/src/test/kotlin/dev/msfjarvis/claw/database/local/SavedPostQueriesTest.kt b/database/impl/src/test/kotlin/dev/msfjarvis/claw/database/local/SavedPostQueriesTest.kt similarity index 100% rename from database/src/test/kotlin/dev/msfjarvis/claw/database/local/SavedPostQueriesTest.kt rename to database/impl/src/test/kotlin/dev/msfjarvis/claw/database/local/SavedPostQueriesTest.kt diff --git a/database/src/test/kotlin/dev/msfjarvis/claw/database/local/utils.kt b/database/impl/src/test/kotlin/dev/msfjarvis/claw/database/local/utils.kt similarity index 100% rename from database/src/test/kotlin/dev/msfjarvis/claw/database/local/utils.kt rename to database/impl/src/test/kotlin/dev/msfjarvis/claw/database/local/utils.kt diff --git a/database/src/test/resources/saved_post.json b/database/impl/src/test/resources/saved_post.json similarity index 100% rename from database/src/test/resources/saved_post.json rename to database/impl/src/test/resources/saved_post.json diff --git a/model/build.gradle.kts b/model/build.gradle.kts index d476effe..da59ce80 100644 --- a/model/build.gradle.kts +++ b/model/build.gradle.kts @@ -5,19 +5,16 @@ * https://opensource.org/licenses/MIT. */ plugins { - id("dev.msfjarvis.claw.android-library") - id("dev.msfjarvis.claw.kotlin-android") + id("dev.msfjarvis.claw.kotlin-jvm") alias(libs.plugins.kotlin.serialization) alias(libs.plugins.poko) alias(libs.plugins.ksp) } -android { namespace = "dev.msfjarvis.claw.model" } - dependencies { implementation(libs.kotlinx.serialization.core) implementation(libs.konvert.api) - implementation(projects.database) + implementation(projects.database.core) ksp(libs.konvert.processor) } diff --git a/settings.gradle.kts b/settings.gradle.kts index 8c291278..990f2253 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -166,6 +166,7 @@ include( "benchmark", "common", "core", - "database", + "database:core", + "database:impl", "model", )