KSP2 crash when using @JsonQualifier
Jean-Daniel opened this issue · 5 comments
Jean-Daniel commented
When trying to generate Adapter for classes using a @JsonQualifier, KSP fails with the error:
> Task :app:kspDebugKotlin FAILED
e: [ksp] Error preparing ApiUserItem: jdk.proxy5/jdk.proxy5.$Proxy154.value(Unknown Source)
com.squareup.moshi.kotlin.codegen.ksp.MoshiApiUtilKt.generator(MoshiApiUtil.kt:77)
com.squareup.moshi.kotlin.codegen.ksp.JsonClassSymbolProcessor.adapterGenerator(JsonClassSymbolProcessorProvider.kt:122)
com.squareup.moshi.kotlin.codegen.ksp.JsonClassSymbolProcessor.process(JsonClassSymbolProcessorProvider.kt:92)
com.google.devtools.ksp.impl.KotlinSymbolProcessing.execute(KotlinSymbolProcessing.kt:538)
com.google.devtools.ksp.impl.KSPLoader$Companion.loadAndRunKSP(KSPLoader.kt:36)
com.google.devtools.ksp.impl.KSPLoader.loadAndRunKSP(KSPLoader.kt)
…
The class being compiled is simply:
@Retention(AnnotationRetention.RUNTIME)
@JsonQualifier
annotation class ISO8061
@JsonClass(generateAdapter = true)
open class ApiUserItem(
@field:Json(name = "slug") val slug: String,
@field:Json(name = "date_added") @field:ISO8061 val date: Long,
)
You can use this reduced test case to reproduce the bug.
git clone https://github.com/Jean-Daniel/moshiksp2
cd moshiksp2
./gradlew :app:assembleDebug
> Task :app:kspDebugKotlin FAILED
…
ZacSweers commented
Upstream KSP2 bug, please file with them
ting-yuan commented
This is caused by a breaking change in KSP2. @ZacSweers could this copy be deleted and let moshi use the implementation from KSP?