From 85284e00c727458dfb75501d95301f1c3ba578c7 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Tue, 29 Aug 2023 16:16:09 +0200 Subject: [PATCH] [Gradle] Update KVision build regression benchmark Compare against Kotlin 1.9.10 release. ^KT-61190 In Progress --- .../files/kvision-kotlin-repo.patch | 818 +++++++++++++++++- .../benchmarkScripts/kvision.benchmark.kts | 8 +- 2 files changed, 812 insertions(+), 14 deletions(-) diff --git a/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/kvision-kotlin-repo.patch b/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/kvision-kotlin-repo.patch index db0d8b192d4..00476317e76 100644 --- a/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/kvision-kotlin-repo.patch +++ b/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/files/kvision-kotlin-repo.patch @@ -7,10 +7,10 @@ index a2eb037fd8..5e6896deed 100644 - val kotlinVersion: String by System.getProperties() - kotlin("plugin.serialization") version kotlinVersion + kotlin("plugin.serialization") - kotlin("js") + kotlin("multiplatform") id("maven-publish") id("signing") -@@ -17,7 +16,7 @@ allprojects { +@@ -17,7 +17,7 @@ allprojects { } // Versions @@ -18,7 +18,7 @@ index a2eb037fd8..5e6896deed 100644 +val kotlinVersion: String by extra val serializationVersion: String by project val coroutinesVersion: String by project - val snabbdomKotlinVersion: String by project + diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index d0ef18b67b..ae67887584 100644 --- a/buildSrc/build.gradle.kts @@ -35,10 +35,10 @@ index d0ef18b67b..ae67887584 100644 +val kotlinVersion: String by extra + dependencies { -- implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.21") +- implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0") + implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") implementation("io.github.gradle-nexus:publish-plugin:1.2.0") - implementation("org.jetbrains.dokka:dokka-gradle-plugin:1.8.10") + implementation("org.jetbrains.dokka:dokka-gradle-plugin:1.8.20") implementation(gradleApi()) diff --git a/buildSrc/gradle.properties b/buildSrc/gradle.properties new file mode 100644 @@ -67,13 +67,13 @@ index 9315dcac95..d5fabb822c 100644 +++ b/gradle.properties @@ -1,7 +1,7 @@ group=io.kvision - versionNumber=6.3.2 + versionNumber=7.0.0 --systemProp.kotlinVersion=1.8.21 +-systemProp.kotlinVersion=1.9.0 +kotlinVersion= javaVersion=17 - coroutinesVersion=1.6.4 - serializationVersion=1.5.0 + coroutinesVersion=1.7.3 + serializationVersion=1.6.0-RC diff --git a/settings.gradle.kts b/settings.gradle.kts index 901058aae2..7c338f6ba2 100644 --- a/settings.gradle.kts @@ -92,4 +92,802 @@ index 901058aae2..7c338f6ba2 100644 + id("org.jetbrains.kotlin.plugin.serialization") version kotlinVersion } } - rootProject.name = "kvision" \ No newline at end of file + rootProject.name = "kvision" +diff --git a/kvision-modules/kvision-server-javalin/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt b/kvision-modules/kvision-server-javalin/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt +index 38e3fb757e..010aa9110d 100644 +--- a/kvision-modules/kvision-server-javalin/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt ++++ b/kvision-modules/kvision-server-javalin/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt +@@ -29,7 +29,7 @@ import kotlin.reflect.KClass + /** + * Multiplatform service manager. + */ +-expect open class KVServiceManager(serviceClass: KClass) : KVServiceMgr { ++expect class KVServiceManager(serviceClass: KClass) : KVServiceMgr { + + /** + * Binds a given route with a function of the receiver. +@@ -37,7 +37,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.() -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -49,7 +49,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -61,7 +61,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -73,7 +73,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -85,7 +85,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -97,7 +97,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4, PAR5) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -109,7 +109,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4, PAR5, PAR6) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -119,7 +119,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a tabulator component source + * @param function a function of the receiver + */ +- protected inline fun bindTabulatorRemote( ++ inline fun bindTabulatorRemote( + noinline function: suspend T.(Int?, Int?, List?, List?, String?) -> RemoteData, + route: String? = null + ) +@@ -128,7 +128,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a web socket connection + * @param function a function of the receiver + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(ReceiveChannel, SendChannel) -> Unit, + route: String? = null + ) +@@ -137,7 +137,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a server-sent events connection + * @param function a function of the receiver + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(SendChannel) -> Unit, + route: String? = null + ) +diff --git a/kvision-modules/kvision-server-javalin/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt b/kvision-modules/kvision-server-javalin/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt +index 8f8e1a2d17..7239592f36 100644 +--- a/kvision-modules/kvision-server-javalin/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt ++++ b/kvision-modules/kvision-server-javalin/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt +@@ -26,5 +26,5 @@ import kotlin.reflect.KClass + /** + * Multiplatform service manager. + */ +-actual open class KVServiceManager actual constructor(serviceClass: KClass) : KVServiceManagerJs(), ++actual class KVServiceManager actual constructor(serviceClass: KClass) : KVServiceManagerJs(), + KVServiceMgr +diff --git a/kvision-modules/kvision-server-jooby/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt b/kvision-modules/kvision-server-jooby/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt +index 38e3fb757e..010aa9110d 100644 +--- a/kvision-modules/kvision-server-jooby/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt ++++ b/kvision-modules/kvision-server-jooby/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt +@@ -29,7 +29,7 @@ import kotlin.reflect.KClass + /** + * Multiplatform service manager. + */ +-expect open class KVServiceManager(serviceClass: KClass) : KVServiceMgr { ++expect class KVServiceManager(serviceClass: KClass) : KVServiceMgr { + + /** + * Binds a given route with a function of the receiver. +@@ -37,7 +37,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.() -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -49,7 +49,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -61,7 +61,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -73,7 +73,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -85,7 +85,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -97,7 +97,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4, PAR5) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -109,7 +109,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4, PAR5, PAR6) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -119,7 +119,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a tabulator component source + * @param function a function of the receiver + */ +- protected inline fun bindTabulatorRemote( ++ inline fun bindTabulatorRemote( + noinline function: suspend T.(Int?, Int?, List?, List?, String?) -> RemoteData, + route: String? = null + ) +@@ -128,7 +128,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a web socket connection + * @param function a function of the receiver + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(ReceiveChannel, SendChannel) -> Unit, + route: String? = null + ) +@@ -137,7 +137,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a server-sent events connection + * @param function a function of the receiver + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(SendChannel) -> Unit, + route: String? = null + ) +diff --git a/kvision-modules/kvision-server-jooby/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt b/kvision-modules/kvision-server-jooby/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt +index 8f8e1a2d17..7239592f36 100644 +--- a/kvision-modules/kvision-server-jooby/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt ++++ b/kvision-modules/kvision-server-jooby/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt +@@ -26,5 +26,5 @@ import kotlin.reflect.KClass + /** + * Multiplatform service manager. + */ +-actual open class KVServiceManager actual constructor(serviceClass: KClass) : KVServiceManagerJs(), ++actual class KVServiceManager actual constructor(serviceClass: KClass) : KVServiceManagerJs(), + KVServiceMgr +diff --git a/kvision-modules/kvision-server-ktor-koin/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt b/kvision-modules/kvision-server-ktor-koin/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt +index 38e3fb757e..010aa9110d 100644 +--- a/kvision-modules/kvision-server-ktor-koin/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt ++++ b/kvision-modules/kvision-server-ktor-koin/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt +@@ -29,7 +29,7 @@ import kotlin.reflect.KClass + /** + * Multiplatform service manager. + */ +-expect open class KVServiceManager(serviceClass: KClass) : KVServiceMgr { ++expect class KVServiceManager(serviceClass: KClass) : KVServiceMgr { + + /** + * Binds a given route with a function of the receiver. +@@ -37,7 +37,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.() -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -49,7 +49,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -61,7 +61,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -73,7 +73,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -85,7 +85,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -97,7 +97,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4, PAR5) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -109,7 +109,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4, PAR5, PAR6) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -119,7 +119,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a tabulator component source + * @param function a function of the receiver + */ +- protected inline fun bindTabulatorRemote( ++ inline fun bindTabulatorRemote( + noinline function: suspend T.(Int?, Int?, List?, List?, String?) -> RemoteData, + route: String? = null + ) +@@ -128,7 +128,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a web socket connection + * @param function a function of the receiver + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(ReceiveChannel, SendChannel) -> Unit, + route: String? = null + ) +@@ -137,7 +137,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a server-sent events connection + * @param function a function of the receiver + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(SendChannel) -> Unit, + route: String? = null + ) +diff --git a/kvision-modules/kvision-server-ktor-koin/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt b/kvision-modules/kvision-server-ktor-koin/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt +index 8f8e1a2d17..7239592f36 100644 +--- a/kvision-modules/kvision-server-ktor-koin/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt ++++ b/kvision-modules/kvision-server-ktor-koin/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt +@@ -26,5 +26,5 @@ import kotlin.reflect.KClass + /** + * Multiplatform service manager. + */ +-actual open class KVServiceManager actual constructor(serviceClass: KClass) : KVServiceManagerJs(), ++actual class KVServiceManager actual constructor(serviceClass: KClass) : KVServiceManagerJs(), + KVServiceMgr +diff --git a/kvision-modules/kvision-server-ktor/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt b/kvision-modules/kvision-server-ktor/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt +index 38e3fb757e..010aa9110d 100644 +--- a/kvision-modules/kvision-server-ktor/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt ++++ b/kvision-modules/kvision-server-ktor/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt +@@ -29,7 +29,7 @@ import kotlin.reflect.KClass + /** + * Multiplatform service manager. + */ +-expect open class KVServiceManager(serviceClass: KClass) : KVServiceMgr { ++expect class KVServiceManager(serviceClass: KClass) : KVServiceMgr { + + /** + * Binds a given route with a function of the receiver. +@@ -37,7 +37,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.() -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -49,7 +49,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -61,7 +61,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -73,7 +73,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -85,7 +85,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -97,7 +97,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4, PAR5) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -109,7 +109,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4, PAR5, PAR6) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -119,7 +119,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a tabulator component source + * @param function a function of the receiver + */ +- protected inline fun bindTabulatorRemote( ++ inline fun bindTabulatorRemote( + noinline function: suspend T.(Int?, Int?, List?, List?, String?) -> RemoteData, + route: String? = null + ) +@@ -128,7 +128,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a web socket connection + * @param function a function of the receiver + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(ReceiveChannel, SendChannel) -> Unit, + route: String? = null + ) +@@ -137,7 +137,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a server-sent events connection + * @param function a function of the receiver + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(SendChannel) -> Unit, + route: String? = null + ) +diff --git a/kvision-modules/kvision-server-ktor/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt b/kvision-modules/kvision-server-ktor/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt +index 8f8e1a2d17..7239592f36 100644 +--- a/kvision-modules/kvision-server-ktor/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt ++++ b/kvision-modules/kvision-server-ktor/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt +@@ -26,5 +26,5 @@ import kotlin.reflect.KClass + /** + * Multiplatform service manager. + */ +-actual open class KVServiceManager actual constructor(serviceClass: KClass) : KVServiceManagerJs(), ++actual class KVServiceManager actual constructor(serviceClass: KClass) : KVServiceManagerJs(), + KVServiceMgr +diff --git a/kvision-modules/kvision-server-micronaut/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt b/kvision-modules/kvision-server-micronaut/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt +index 38e3fb757e..010aa9110d 100644 +--- a/kvision-modules/kvision-server-micronaut/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt ++++ b/kvision-modules/kvision-server-micronaut/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt +@@ -29,7 +29,7 @@ import kotlin.reflect.KClass + /** + * Multiplatform service manager. + */ +-expect open class KVServiceManager(serviceClass: KClass) : KVServiceMgr { ++expect class KVServiceManager(serviceClass: KClass) : KVServiceMgr { + + /** + * Binds a given route with a function of the receiver. +@@ -37,7 +37,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.() -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -49,7 +49,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -61,7 +61,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -73,7 +73,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -85,7 +85,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -97,7 +97,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4, PAR5) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -109,7 +109,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4, PAR5, PAR6) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -119,7 +119,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a tabulator component source + * @param function a function of the receiver + */ +- protected inline fun bindTabulatorRemote( ++ inline fun bindTabulatorRemote( + noinline function: suspend T.(Int?, Int?, List?, List?, String?) -> RemoteData, + route: String? = null + ) +@@ -128,7 +128,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a web socket connection + * @param function a function of the receiver + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(ReceiveChannel, SendChannel) -> Unit, + route: String? = null + ) +@@ -137,7 +137,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a server-sent events connection + * @param function a function of the receiver + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(SendChannel) -> Unit, + route: String? = null + ) +diff --git a/kvision-modules/kvision-server-micronaut/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt b/kvision-modules/kvision-server-micronaut/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt +index 8f8e1a2d17..7239592f36 100644 +--- a/kvision-modules/kvision-server-micronaut/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt ++++ b/kvision-modules/kvision-server-micronaut/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt +@@ -26,5 +26,5 @@ import kotlin.reflect.KClass + /** + * Multiplatform service manager. + */ +-actual open class KVServiceManager actual constructor(serviceClass: KClass) : KVServiceManagerJs(), ++actual class KVServiceManager actual constructor(serviceClass: KClass) : KVServiceManagerJs(), + KVServiceMgr +diff --git a/kvision-modules/kvision-server-spring-boot/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt b/kvision-modules/kvision-server-spring-boot/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt +index 38e3fb757e..010aa9110d 100644 +--- a/kvision-modules/kvision-server-spring-boot/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt ++++ b/kvision-modules/kvision-server-spring-boot/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt +@@ -29,7 +29,7 @@ import kotlin.reflect.KClass + /** + * Multiplatform service manager. + */ +-expect open class KVServiceManager(serviceClass: KClass) : KVServiceMgr { ++expect class KVServiceManager(serviceClass: KClass) : KVServiceMgr { + + /** + * Binds a given route with a function of the receiver. +@@ -37,7 +37,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.() -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -49,7 +49,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -61,7 +61,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -73,7 +73,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -85,7 +85,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -97,7 +97,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4, PAR5) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -109,7 +109,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4, PAR5, PAR6) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -119,7 +119,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a tabulator component source + * @param function a function of the receiver + */ +- protected inline fun bindTabulatorRemote( ++ inline fun bindTabulatorRemote( + noinline function: suspend T.(Int?, Int?, List?, List?, String?) -> RemoteData, + route: String? = null + ) +@@ -128,7 +128,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a web socket connection + * @param function a function of the receiver + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(ReceiveChannel, SendChannel) -> Unit, + route: String? = null + ) +@@ -137,7 +137,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a server-sent events connection + * @param function a function of the receiver + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(SendChannel) -> Unit, + route: String? = null + ) +diff --git a/kvision-modules/kvision-server-spring-boot/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt b/kvision-modules/kvision-server-spring-boot/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt +index 8f8e1a2d17..7239592f36 100644 +--- a/kvision-modules/kvision-server-spring-boot/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt ++++ b/kvision-modules/kvision-server-spring-boot/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt +@@ -26,5 +26,5 @@ import kotlin.reflect.KClass + /** + * Multiplatform service manager. + */ +-actual open class KVServiceManager actual constructor(serviceClass: KClass) : KVServiceManagerJs(), ++actual class KVServiceManager actual constructor(serviceClass: KClass) : KVServiceManagerJs(), + KVServiceMgr +diff --git a/kvision-modules/kvision-server-vertx/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt b/kvision-modules/kvision-server-vertx/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt +index 38e3fb757e..010aa9110d 100644 +--- a/kvision-modules/kvision-server-vertx/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt ++++ b/kvision-modules/kvision-server-vertx/src/commonMain/kotlin/io/kvision/remote/KVServiceManager.kt +@@ -29,7 +29,7 @@ import kotlin.reflect.KClass + /** + * Multiplatform service manager. + */ +-expect open class KVServiceManager(serviceClass: KClass) : KVServiceMgr { ++expect class KVServiceManager(serviceClass: KClass) : KVServiceMgr { + + /** + * Binds a given route with a function of the receiver. +@@ -37,7 +37,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.() -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -49,7 +49,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -61,7 +61,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -73,7 +73,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -85,7 +85,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -97,7 +97,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4, PAR5) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -109,7 +109,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * @param method a HTTP method + * @param route a route + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(PAR1, PAR2, PAR3, PAR4, PAR5, PAR6) -> RET, + method: HttpMethod = HttpMethod.POST, + route: String? = null +@@ -119,7 +119,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a tabulator component source + * @param function a function of the receiver + */ +- protected inline fun bindTabulatorRemote( ++ inline fun bindTabulatorRemote( + noinline function: suspend T.(Int?, Int?, List?, List?, String?) -> RemoteData, + route: String? = null + ) +@@ -128,7 +128,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a web socket connection + * @param function a function of the receiver + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(ReceiveChannel, SendChannel) -> Unit, + route: String? = null + ) +@@ -137,7 +137,7 @@ expect open class KVServiceManager(serviceClass: KClass) : KVSer + * Binds a given function of the receiver as a server-sent events connection + * @param function a function of the receiver + */ +- protected inline fun bind( ++ inline fun bind( + noinline function: suspend T.(SendChannel) -> Unit, + route: String? = null + ) +diff --git a/kvision-modules/kvision-server-vertx/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt b/kvision-modules/kvision-server-vertx/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt +index 8f8e1a2d17..7239592f36 100644 +--- a/kvision-modules/kvision-server-vertx/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt ++++ b/kvision-modules/kvision-server-vertx/src/jsMain/kotlin/io/kvision/remote/KVServiceManager.kt +@@ -26,5 +26,5 @@ import kotlin.reflect.KClass + /** + * Multiplatform service manager. + */ +-actual open class KVServiceManager actual constructor(serviceClass: KClass) : KVServiceManagerJs(), ++actual class KVServiceManager actual constructor(serviceClass: KClass) : KVServiceManagerJs(), + KVServiceMgr \ No newline at end of file diff --git a/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/kvision.benchmark.kts b/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/kvision.benchmark.kts index ba1ede93904..99638d3ef13 100644 --- a/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/kvision.benchmark.kts +++ b/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/kvision.benchmark.kts @@ -9,8 +9,8 @@ @file:BenchmarkProject( name = "kvision", gitUrl = "https://github.com/rjaros/kvision.git", - gitCommitSha = "c1ca778346cdd1f47b2a0d6c9f07878dae215c96", - stableKotlinVersion = "1.8.21", + gitCommitSha = "09295439264894e2f29197d57cfff84d5451bbb6", + stableKotlinVersion = "1.9.0", ) import java.io.File @@ -36,14 +36,14 @@ runBenchmarks( title = "Build Js IR with ABI change in ObservableList" runTasks("jsJar") - applyAbiChangeTo("kvision-modules/kvision-state/src/main/kotlin/io/kvision/state/ObservableList.kt") + applyAbiChangeTo("kvision-modules/kvision-state/src/jsMain/kotlin/io/kvision/state/ObservableList.kt") } scenario { title = "Build Js IR with non-ABI change in ObservableList" runTasks("jsJar") - applyNonAbiChangeTo("kvision-modules/kvision-state/src/main/kotlin/io/kvision/state/ObservableList.kt") + applyNonAbiChangeTo("kvision-modules/kvision-state/src/jsMain/kotlin/io/kvision/state/ObservableList.kt") } scenario {