src(databse,buildSrc): remove kotlinReflect and opt into ExperimentalStdlibApi

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
This commit is contained in:
Aditya Wasan 2021-01-25 16:35:57 +05:30 committed by Harsh Shandilya
parent 8303159abf
commit 6fdf1d0ca0
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
4 changed files with 7 additions and 5 deletions

View file

@ -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)

View file

@ -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"

View file

@ -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)

View file

@ -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)!!