From 6fdf1d0ca03ecb2f2ab707b15d421e92c88af7cc Mon Sep 17 00:00:00 2001 From: Aditya Wasan Date: Mon, 25 Jan 2021 16:35:57 +0530 Subject: [PATCH] src(databse,buildSrc): remove kotlinReflect and opt into ExperimentalStdlibApi Signed-off-by: Aditya Wasan --- api/build.gradle.kts | 1 - buildSrc/src/main/java/BaseProjectConfig.kt | 1 + database/build.gradle.kts | 2 +- .../java/dev/msfjarvis/lobsters/model/SubmitterAdapter.kt | 8 +++++--- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/api/build.gradle.kts b/api/build.gradle.kts index fe3432ca..3cf41d4e 100644 --- a/api/build.gradle.kts +++ b/api/build.gradle.kts @@ -10,7 +10,6 @@ dependencies { api(Dependencies.ThirdParty.Retrofit.lib) implementation(project(":database")) implementation(Dependencies.AndroidX.Hilt.dagger) - implementation(Dependencies.ThirdParty.Moshi.kotlinReflect) implementation(Dependencies.ThirdParty.Moshi.moshiMetadataReflect) implementation(Dependencies.ThirdParty.Retrofit.moshi) testImplementation(Dependencies.Kotlin.Coroutines.core) diff --git a/buildSrc/src/main/java/BaseProjectConfig.kt b/buildSrc/src/main/java/BaseProjectConfig.kt index e623130a..e89bf938 100644 --- a/buildSrc/src/main/java/BaseProjectConfig.kt +++ b/buildSrc/src/main/java/BaseProjectConfig.kt @@ -65,6 +65,7 @@ internal fun BaseAppModuleExtension.configureAndroidApplicationOptions(project: project.tasks.withType { kotlinOptions { freeCompilerArgs = freeCompilerArgs + listOf( + "-Xopt-in=kotlin.ExperimentalStdlibApi", "-Xopt-in=kotlin.RequiresOptIn", "-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi", "-Xopt-in=androidx.compose.material.ExperimentalMaterialApi" diff --git a/database/build.gradle.kts b/database/build.gradle.kts index f7a61b32..e0f941a8 100644 --- a/database/build.gradle.kts +++ b/database/build.gradle.kts @@ -7,7 +7,7 @@ plugins { dependencies { implementation(Dependencies.ThirdParty.Moshi.lib) - implementation(Dependencies.ThirdParty.Moshi.kotlinReflect) + implementation(Dependencies.ThirdParty.Moshi.moshiMetadataReflect) testImplementation(Dependencies.Kotlin.Coroutines.core) testImplementation(Dependencies.ThirdParty.SQLDelight.jvmDriver) testImplementation(Dependencies.Testing.junit) diff --git a/database/src/main/java/dev/msfjarvis/lobsters/model/SubmitterAdapter.kt b/database/src/main/java/dev/msfjarvis/lobsters/model/SubmitterAdapter.kt index 2ec6793a..55ba1f04 100644 --- a/database/src/main/java/dev/msfjarvis/lobsters/model/SubmitterAdapter.kt +++ b/database/src/main/java/dev/msfjarvis/lobsters/model/SubmitterAdapter.kt @@ -1,12 +1,14 @@ package dev.msfjarvis.lobsters.model import com.squareup.moshi.Moshi -import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory +import com.squareup.moshi.adapter import com.squareup.sqldelight.ColumnAdapter +import dev.zacsweers.moshix.reflect.MetadataKotlinJsonAdapterFactory +@OptIn(ExperimentalStdlibApi::class) class SubmitterAdapter : ColumnAdapter { - private val moshi = Moshi.Builder().add(KotlinJsonAdapterFactory()).build() - private val submitterJsonAdapter = moshi.adapter(Submitter::class.java) + private val moshi = Moshi.Builder().add(MetadataKotlinJsonAdapterFactory()).build() + private val submitterJsonAdapter = moshi.adapter() override fun decode(databaseValue: String): Submitter { return submitterJsonAdapter.fromJson(databaseValue)!!