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