aleksey.tomin
06/01/2020, 1:02 PMkotlinx-serialization in 1.3.0?
I have kotlinx.serialization.SerializationException: Can't locate argument-less serializer for class DeviceItems
All examples for older versions
@Serializable
data class DeviceItems(val id: String, val rows: Set<DeviceItem>)SerVB
06/01/2020, 1:32 PMDeviceItem annotated with Serializable?aleksey.tomin
06/01/2020, 4:38 PM@Serializable
data class DeviceItem(val appPackage: String, ... ): BaseItem()
@Serializable
abstract class BaseItem { val timestamp: Long = currentTimestamp }aleksey.tomin
06/01/2020, 4:52 PMBaseItem is a superclass for all classes.
@Serializable
data class DeviceItems(val id: String, val rows: Set<DeviceItem>): BaseItem()aleksey.tomin
06/01/2020, 5:35 PMimport kotlinx.serialization.Serializable
@Serializable
data class SystemInfo(val platform: String, val sdkVersion: String)SerVB
06/01/2020, 6:54 PMaleksey.tomin
06/01/2020, 7:13 PMplugins {
kotlin("multiplatform") version "1.3.72"
id("kotlinx-serialization") version "1.3.72"
}
...
root settings.gradle.kts
pluginManagement {
resolutionStrategy {
eachPlugin {
if (requested.id.id == "kotlinx-serialization") {
useModule("org.jetbrains.kotlin:kotlin-serialization:${requested.version}")
}
}
}
...
module build.gradle.kts
val ktorVersion = "1.3.2"
commonMain {
dependencies {
implementation("io.ktor:ktor-client-core:$ktorVersion")
implementation("io.ktor:ktor-client-json:$ktorVersion")
implementation("io.ktor:ktor-client-serialization:$ktorVersion")
...
macosMain {
dependencies {
implementation("io.ktor:ktor-client-curl:$ktorVersion")
implementation("io.ktor:ktor-client-core-native:$ktorVersion")
implementation("io.ktor:ktor-client-json-native:$ktorVersion")
implementation("io.ktor:ktor-client-serialization-native:$ktorVersion")
}
}
It’s ok?aleksey.tomin
06/01/2020, 7:17 PMkotlinx-serialization plugin must be version 1.3.72, not 1.3.2?
2. Why I can’t define plugin by kotlin("kotlinx-serialization") version "1.3.72" and have to write id("kotlinx-serialization") version "1.3.72" ?SerVB
06/01/2020, 9:14 PMid("kotlinx-serialization") version "1.3.72", but kotlin("plugin.serialization") version "1.3.70", as described here: https://github.com/Kotlin/kotlinx.serialization#gradleTakashi
06/02/2020, 1:01 AM