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