diff --git a/api/build.gradle.kts b/api/build.gradle.kts index dce08872..519bbbfa 100644 --- a/api/build.gradle.kts +++ b/api/build.gradle.kts @@ -1,11 +1,12 @@ plugins { kotlin("jvm") + id("com.google.devtools.ksp") version "1.4.30-1.0.0-alpha04" `lobsters-plugin` } dependencies { api(Dependencies.ThirdParty.Retrofit.lib) - implementation(Dependencies.ThirdParty.Moshi.moshiMetadataReflect) + ksp(Dependencies.ThirdParty.Moshi.ksp) implementation(Dependencies.ThirdParty.Retrofit.moshi) testImplementation(Dependencies.Kotlin.Coroutines.core) testImplementation(Dependencies.Testing.junit) diff --git a/api/src/main/java/dev/msfjarvis/lobsters/model/KeybaseSignature.kt b/api/src/main/java/dev/msfjarvis/lobsters/model/KeybaseSignature.kt index 53324218..243bdff9 100644 --- a/api/src/main/java/dev/msfjarvis/lobsters/model/KeybaseSignature.kt +++ b/api/src/main/java/dev/msfjarvis/lobsters/model/KeybaseSignature.kt @@ -1,7 +1,9 @@ package dev.msfjarvis.lobsters.model import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) class KeybaseSignature( @Json(name = "kb_username") val kbUsername: String, diff --git a/api/src/main/java/dev/msfjarvis/lobsters/model/LobstersPost.kt b/api/src/main/java/dev/msfjarvis/lobsters/model/LobstersPost.kt index 99d624fb..f6d947bd 100644 --- a/api/src/main/java/dev/msfjarvis/lobsters/model/LobstersPost.kt +++ b/api/src/main/java/dev/msfjarvis/lobsters/model/LobstersPost.kt @@ -1,7 +1,9 @@ package dev.msfjarvis.lobsters.model import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) class LobstersPost( @Json(name = "short_id") val shortId: String, diff --git a/api/src/main/java/dev/msfjarvis/lobsters/model/Submitter.kt b/api/src/main/java/dev/msfjarvis/lobsters/model/Submitter.kt index 4f7a33ca..ea739b74 100644 --- a/api/src/main/java/dev/msfjarvis/lobsters/model/Submitter.kt +++ b/api/src/main/java/dev/msfjarvis/lobsters/model/Submitter.kt @@ -1,7 +1,9 @@ package dev.msfjarvis.lobsters.model import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) class Submitter( val username: String, @Json(name = "created_at") diff --git a/api/src/test/java/dev/msfjarvis/lobsters/data/api/LobstersApiTest.kt b/api/src/test/java/dev/msfjarvis/lobsters/data/api/LobstersApiTest.kt index f123c4f1..81e23c5b 100644 --- a/api/src/test/java/dev/msfjarvis/lobsters/data/api/LobstersApiTest.kt +++ b/api/src/test/java/dev/msfjarvis/lobsters/data/api/LobstersApiTest.kt @@ -2,7 +2,6 @@ package dev.msfjarvis.lobsters.data.api import com.squareup.moshi.Moshi import dev.msfjarvis.lobsters.util.TestUtils -import dev.zacsweers.moshix.reflect.MetadataKotlinJsonAdapterFactory import kotlinx.coroutines.runBlocking import mockwebserver3.Dispatcher import mockwebserver3.MockResponse @@ -24,7 +23,6 @@ class LobstersApiTest { private val webServer = MockWebServer() private val apiData = TestUtils.getJson("hottest.json") private val moshi = Moshi.Builder() - .add(MetadataKotlinJsonAdapterFactory()) .build() private val okHttp = OkHttpClient.Builder() .build() diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 41aece73..21adc11f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -54,7 +54,6 @@ dependencies { implementation(Dependencies.Kotlin.Coroutines.android) implementation(Dependencies.ThirdParty.accompanist) implementation(Dependencies.ThirdParty.Moshi.lib) - implementation(Dependencies.ThirdParty.Moshi.moshiMetadataReflect) implementation(Dependencies.ThirdParty.Retrofit.moshi) implementation(Dependencies.ThirdParty.SQLDelight.androidDriver) testImplementation(Dependencies.Testing.junit) diff --git a/app/src/main/java/dev/msfjarvis/lobsters/injection/MoshiModule.kt b/app/src/main/java/dev/msfjarvis/lobsters/injection/MoshiModule.kt index 10536f09..3f0b22e7 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/injection/MoshiModule.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/injection/MoshiModule.kt @@ -6,7 +6,6 @@ import dagger.Provides import dagger.Reusable import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent -import dev.zacsweers.moshix.reflect.MetadataKotlinJsonAdapterFactory @Module @InstallIn(SingletonComponent::class) @@ -15,7 +14,6 @@ object MoshiModule { @Reusable fun provideMoshi(): Moshi { return Moshi.Builder() - .add(MetadataKotlinJsonAdapterFactory()) .build() } } diff --git a/buildSrc/src/main/java/Dependencies.kt b/buildSrc/src/main/java/Dependencies.kt index d2127563..2057680f 100644 --- a/buildSrc/src/main/java/Dependencies.kt +++ b/buildSrc/src/main/java/Dependencies.kt @@ -71,7 +71,7 @@ object Dependencies { private const val version = "1.11.0" const val lib = "com.squareup.moshi:moshi:$version" - const val moshiMetadataReflect = "dev.zacsweers.moshix:moshi-metadata-reflect:0.9.1" + const val ksp = "dev.zacsweers.moshix:moshi-ksp:0.9.1" } object Retrofit { diff --git a/settings.gradle.kts b/settings.gradle.kts index d35f9890..704d0a6e 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,3 +1,9 @@ rootProject.name = "Claw" include(":app", ":api", ":database") enableFeaturePreview("GRADLE_METADATA") +pluginManagement { + repositories { + google() + gradlePluginPortal() + } +}