mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-18 03:17:03 +05:30
src(databse,buildSrc): remove kotlinReflect and opt into ExperimentalStdlibApi
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
This commit is contained in:
parent
8303159abf
commit
6fdf1d0ca0
4 changed files with 7 additions and 5 deletions
|
@ -10,7 +10,6 @@ dependencies {
|
||||||
api(Dependencies.ThirdParty.Retrofit.lib)
|
api(Dependencies.ThirdParty.Retrofit.lib)
|
||||||
implementation(project(":database"))
|
implementation(project(":database"))
|
||||||
implementation(Dependencies.AndroidX.Hilt.dagger)
|
implementation(Dependencies.AndroidX.Hilt.dagger)
|
||||||
implementation(Dependencies.ThirdParty.Moshi.kotlinReflect)
|
|
||||||
implementation(Dependencies.ThirdParty.Moshi.moshiMetadataReflect)
|
implementation(Dependencies.ThirdParty.Moshi.moshiMetadataReflect)
|
||||||
implementation(Dependencies.ThirdParty.Retrofit.moshi)
|
implementation(Dependencies.ThirdParty.Retrofit.moshi)
|
||||||
testImplementation(Dependencies.Kotlin.Coroutines.core)
|
testImplementation(Dependencies.Kotlin.Coroutines.core)
|
||||||
|
|
|
@ -65,6 +65,7 @@ internal fun BaseAppModuleExtension.configureAndroidApplicationOptions(project:
|
||||||
project.tasks.withType<KotlinCompile> {
|
project.tasks.withType<KotlinCompile> {
|
||||||
kotlinOptions {
|
kotlinOptions {
|
||||||
freeCompilerArgs = freeCompilerArgs + listOf(
|
freeCompilerArgs = freeCompilerArgs + listOf(
|
||||||
|
"-Xopt-in=kotlin.ExperimentalStdlibApi",
|
||||||
"-Xopt-in=kotlin.RequiresOptIn",
|
"-Xopt-in=kotlin.RequiresOptIn",
|
||||||
"-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
|
"-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
|
||||||
"-Xopt-in=androidx.compose.material.ExperimentalMaterialApi"
|
"-Xopt-in=androidx.compose.material.ExperimentalMaterialApi"
|
||||||
|
|
|
@ -7,7 +7,7 @@ plugins {
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(Dependencies.ThirdParty.Moshi.lib)
|
implementation(Dependencies.ThirdParty.Moshi.lib)
|
||||||
implementation(Dependencies.ThirdParty.Moshi.kotlinReflect)
|
implementation(Dependencies.ThirdParty.Moshi.moshiMetadataReflect)
|
||||||
testImplementation(Dependencies.Kotlin.Coroutines.core)
|
testImplementation(Dependencies.Kotlin.Coroutines.core)
|
||||||
testImplementation(Dependencies.ThirdParty.SQLDelight.jvmDriver)
|
testImplementation(Dependencies.ThirdParty.SQLDelight.jvmDriver)
|
||||||
testImplementation(Dependencies.Testing.junit)
|
testImplementation(Dependencies.Testing.junit)
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
package dev.msfjarvis.lobsters.model
|
package dev.msfjarvis.lobsters.model
|
||||||
|
|
||||||
import com.squareup.moshi.Moshi
|
import com.squareup.moshi.Moshi
|
||||||
import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
|
import com.squareup.moshi.adapter
|
||||||
import com.squareup.sqldelight.ColumnAdapter
|
import com.squareup.sqldelight.ColumnAdapter
|
||||||
|
import dev.zacsweers.moshix.reflect.MetadataKotlinJsonAdapterFactory
|
||||||
|
|
||||||
|
@OptIn(ExperimentalStdlibApi::class)
|
||||||
class SubmitterAdapter : ColumnAdapter<Submitter, String> {
|
class SubmitterAdapter : ColumnAdapter<Submitter, String> {
|
||||||
private val moshi = Moshi.Builder().add(KotlinJsonAdapterFactory()).build()
|
private val moshi = Moshi.Builder().add(MetadataKotlinJsonAdapterFactory()).build()
|
||||||
private val submitterJsonAdapter = moshi.adapter(Submitter::class.java)
|
private val submitterJsonAdapter = moshi.adapter<Submitter>()
|
||||||
|
|
||||||
override fun decode(databaseValue: String): Submitter {
|
override fun decode(databaseValue: String): Submitter {
|
||||||
return submitterJsonAdapter.fromJson(databaseValue)!!
|
return submitterJsonAdapter.fromJson(databaseValue)!!
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue