Update kotlinx.serialization to 0.20.0 and fix deprecated/removed API usage

(cherry picked from commit 36e8dcf5ae6ce3c39a640645e52417da44c9254c)
This commit is contained in:
Pavel Punegov
2020-03-06 15:42:19 +03:00
committed by Vasily Levchenko
parent 57b3cd1f00
commit ff213cb104
5 changed files with 28 additions and 23 deletions
+1 -1
View File
@@ -44,7 +44,7 @@ dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion")
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion")
implementation("com.ullink.slack:simpleslackapi:1.2.0")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.14.0")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.20.0")
implementation("io.ktor:ktor-client-auth:1.2.1")
implementation("io.ktor:ktor-client-core:1.2.1")
@@ -17,8 +17,9 @@
package org.jetbrains.kotlin
import groovy.lang.Closure
import kotlinx.serialization.*
import kotlinx.serialization.json.*
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonConfiguration
import org.gradle.api.Action
import org.gradle.api.Project
import org.gradle.process.ExecResult
@@ -420,14 +421,14 @@ private fun deviceLauncher(project: Project) = object : ExecutorService {
}
return out.toString().run {
check(isNotEmpty())
@kotlinx.serialization.Serializable
@Serializable
data class DeviceTarget(val name: String, val udid: String, val state: String, val type: String)
split("\n")
.filter { it.isNotEmpty() }
.map {
Json(JsonConfiguration.Stable.copy(strictMode = false))
.map { Json(JsonConfiguration.Stable.copy(ignoreUnknownKeys = false))
.parse(DeviceTarget.serializer(), it)
}.first {
}
.first {
it.type == "device" && deviceName?.run { this == it.name } ?: true
}
.udid
@@ -1,13 +1,16 @@
package org.jetbrains.kotlin
import kotlinx.io.PrintWriter
import kotlinx.serialization.*
import kotlinx.serialization.json.*
import kotlinx.serialization.ImplicitReflectionSerializer
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
import kotlinx.serialization.parse
import kotlinx.serialization.stringify
import java.io.File
import java.io.FileReader
import java.io.PrintWriter
@kotlinx.serialization.Serializable
@Serializable
data class ExternalTestReport(val statistics: Statistics, val groups: List<KonanTestGroupReport>)
@ImplicitReflectionSerializer
@@ -1,8 +1,7 @@
package org.jetbrains.kotlin
import kotlinx.io.PrintWriter
import kotlinx.io.StringWriter
import kotlinx.serialization.Optional
import java.io.PrintWriter
import java.io.StringWriter
import kotlinx.serialization.Serializable
import org.gradle.api.Project
@@ -13,7 +12,7 @@ enum class TestStatus {
SKIPPED
}
@kotlinx.serialization.Serializable
@Serializable
data class Statistics(
var passed: Int = 0,
var failed: Int = 0,
@@ -42,20 +41,20 @@ val Statistics.total: Int
class TestFailedException(msg:String) : RuntimeException(msg)
@kotlinx.serialization.Serializable
data class KonanTestGroupReport(val name:String, val suites:List<KonanTestSuiteReport>)
@Serializable
data class KonanTestGroupReport(val name: String, val suites: List<KonanTestSuiteReport>)
@kotlinx.serialization.Serializable
@Serializable
data class KonanTestSuiteReport(val name: String, val tests: List<KonanTestCaseReport>)
@kotlinx.serialization.Serializable
data class KonanTestCaseReport(val name:String, val status: TestStatus, @Optional val comment:String? = null)
@Serializable
data class KonanTestCaseReport(val name: String, val status: TestStatus, val comment: String? = null)
class KonanTestSuiteReportEnvironment(val name:String, val project: Project, val statistics: Statistics) {
class KonanTestSuiteReportEnvironment(val name: String, val project: Project, val statistics: Statistics) {
private val tc = if (Tc.enabled) TeamCityTestPrinter(project) else null
val tests = mutableListOf<KonanTestCaseReport>()
fun executeTest(testName: String, action:() -> Unit) {
var test:KonanTestCaseReport? = null
var test: KonanTestCaseReport?
try {
tc?.startTest(testName)
action()
@@ -2,6 +2,7 @@ package org.jetbrains.kotlin
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonConfiguration
import org.jetbrains.kotlin.konan.target.KonanTarget
import org.jetbrains.kotlin.konan.target.Xcode
import kotlin.math.min
@@ -25,7 +26,8 @@ private fun compareStringsAsVersions(version1: String, version2: String): Int {
* Returns parsed output of `xcrun simctl list runtimes -j`.
*/
private fun Xcode.getSimulatorRuntimeDescriptors(): List<SimulatorRuntimeDescriptor> =
Json.nonstrict.parse(ListRuntimesReport.serializer(), this.simulatorRuntimes).runtimes
Json(JsonConfiguration.Stable.copy(ignoreUnknownKeys = true, useArrayPolymorphism = true))
.parse(ListRuntimesReport.serializer(), this.simulatorRuntimes).runtimes
/**
* Returns first available simulator runtime for [target] with at least [osMinVersion] OS version.