From 7f44a63ab70b6787bf6d79a7be9fbdeff7f9f271 Mon Sep 17 00:00:00 2001 From: Adam Semenenko <152864218+adam-enko@users.noreply.github.com> Date: Mon, 24 Nov 2025 19:33:29 +0100 Subject: [PATCH 1/5] Fix classpath when intermediate source set has no metadata compilations Workaround for intermediate source sets missing dependencies (whether stdlib or user-defined). KT-80551 --- .../src/main/kotlin/adapters/KotlinAdapter.kt | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/dokka-runners/dokka-gradle-plugin/src/main/kotlin/adapters/KotlinAdapter.kt b/dokka-runners/dokka-gradle-plugin/src/main/kotlin/adapters/KotlinAdapter.kt index 2110dae455..70de6d8374 100644 --- a/dokka-runners/dokka-gradle-plugin/src/main/kotlin/adapters/KotlinAdapter.kt +++ b/dokka-runners/dokka-gradle-plugin/src/main/kotlin/adapters/KotlinAdapter.kt @@ -167,18 +167,33 @@ abstract class KotlinAdapter @Inject constructor( private fun determineClasspath( details: KotlinSourceSetDetails ): Provider { - return details.primaryCompilations.map { compilations: List -> + return details.primaryCompilations.zip(details.allCompilations) { primaryCompilations, allCompilations -> val classpath = objects.fileCollection() - if (compilations.isNotEmpty()) { - compilations.fold(classpath) { acc, compilation -> + if (primaryCompilations.isNotEmpty()) { + primaryCompilations.fold(classpath) { acc, compilation -> acc.from(compilation.compilationClasspath) } } else { classpath .from(details.sourceDirectories) .from(details.sourceDirectoriesOfDependents) + + // This KotlinSourceSet has no primary compilations, therefore it must be an intermediate source set + // e.g. mingwMain or webMain. + // If there are no metadata compilations then we must include the classpaths of the actual targets, + // otherwise Dokka will be unable to analyse dependencies used in this intermediate source set. + // See KT-80551, https://github.com/Kotlin/dokka/issues/4116 + if (allCompilations.none { it.isMetadata }) { + logger.info("[$dkaName] No metadata compilation found for ${details.name}. The classpath of all compilations will also be used.") + classpath.from(allCompilations.map { it.compilationClasspath }) + allCompilations.fold(classpath) { acc, compilation -> + acc.from(compilation.compilationClasspath) + } + } } + + classpath } } From 857d99f1f8a1e203b85decefe8da7eeca4e95bb8 Mon Sep 17 00:00:00 2001 From: Adam Semenenko <152864218+adam-enko@users.noreply.github.com> Date: Mon, 24 Nov 2025 19:34:12 +0100 Subject: [PATCH 2/5] update kotlin-multiplatform-example to use webMain, and fix missing 'actual' declarations --- .../build.gradle.kts | 9 ++++++-- .../kotlintestmpp/CommonCustomException.kt | 11 ++++++++++ .../org/kotlintestmpp/CommonDateUtils.kt | 1 - .../kotlintestmpp/IOsCoroutineExtensions.kt | 11 ++++++++++ .../kotlin/org/kotlintestmpp/IOsDateUtils.kt | 8 +++++++ .../kotlin/org/kotlintestmpp/JsFunctions.kt | 2 +- .../kotlin/org/kotlintestmpp/JsWebService.kt | 15 +++++++++++++ .../org/kotlintestmpp/JvmCustomException.kt | 11 ++++++++++ .../kotlintestmpp/MingwCoroutineExtensions.kt | 11 ++++++++++ .../org/kotlintestmpp/MingwDateUtils.kt | 8 +++++++ .../kotlintestmpp/NativeCustomException.kt | 8 +++++++ .../WasmJsCoroutineExtensions.kt | 11 ++++++++++ .../org/kotlintestmpp/WasmJsDateUtils.kt | 8 +++++++ .../org/kotlintestmpp/WasmJsFunctions.kt | 22 +++++++++++++++++++ .../org/kotlintestmpp/WasmJsWebService.kt | 20 +++++++++++++++++ .../org/kotlintestmpp/WebCustomException.kt | 11 ++++++++++ .../kotlin/org/kotlintestmpp/WebService.kt | 16 ++++++++++++++ 17 files changed, 179 insertions(+), 4 deletions(-) create mode 100644 examples/gradle-v2/kotlin-multiplatform-example/src/commonMain/kotlin/org/kotlintestmpp/CommonCustomException.kt create mode 100644 examples/gradle-v2/kotlin-multiplatform-example/src/iosMain/kotlin/org/kotlintestmpp/IOsCoroutineExtensions.kt create mode 100644 examples/gradle-v2/kotlin-multiplatform-example/src/iosMain/kotlin/org/kotlintestmpp/IOsDateUtils.kt create mode 100644 examples/gradle-v2/kotlin-multiplatform-example/src/jsMain/kotlin/org/kotlintestmpp/JsWebService.kt create mode 100644 examples/gradle-v2/kotlin-multiplatform-example/src/jvmMain/kotlin/org/kotlintestmpp/JvmCustomException.kt create mode 100644 examples/gradle-v2/kotlin-multiplatform-example/src/mingwMain/kotlin/org/kotlintestmpp/MingwCoroutineExtensions.kt create mode 100644 examples/gradle-v2/kotlin-multiplatform-example/src/mingwMain/kotlin/org/kotlintestmpp/MingwDateUtils.kt create mode 100644 examples/gradle-v2/kotlin-multiplatform-example/src/nativeMain/kotlin/org/kotlintestmpp/NativeCustomException.kt create mode 100644 examples/gradle-v2/kotlin-multiplatform-example/src/wasmJsMain/kotlin/org/kotlintestmpp/WasmJsCoroutineExtensions.kt create mode 100644 examples/gradle-v2/kotlin-multiplatform-example/src/wasmJsMain/kotlin/org/kotlintestmpp/WasmJsDateUtils.kt create mode 100644 examples/gradle-v2/kotlin-multiplatform-example/src/wasmJsMain/kotlin/org/kotlintestmpp/WasmJsFunctions.kt create mode 100644 examples/gradle-v2/kotlin-multiplatform-example/src/wasmJsMain/kotlin/org/kotlintestmpp/WasmJsWebService.kt create mode 100644 examples/gradle-v2/kotlin-multiplatform-example/src/webMain/kotlin/org/kotlintestmpp/WebCustomException.kt create mode 100644 examples/gradle-v2/kotlin-multiplatform-example/src/webMain/kotlin/org/kotlintestmpp/WebService.kt diff --git a/examples/gradle-v2/kotlin-multiplatform-example/build.gradle.kts b/examples/gradle-v2/kotlin-multiplatform-example/build.gradle.kts index 881ce9bf41..dc5ad633b9 100644 --- a/examples/gradle-v2/kotlin-multiplatform-example/build.gradle.kts +++ b/examples/gradle-v2/kotlin-multiplatform-example/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - kotlin("multiplatform") version "2.2.0" + kotlin("multiplatform") version "2.2.21" id("org.jetbrains.dokka") version "2.1.0" } @@ -9,7 +9,12 @@ version = "1.0-SNAPSHOT" kotlin { jvm() - js(IR) { + js { + browser() + } + + @OptIn(org.jetbrains.kotlin.gradle.ExperimentalWasmDsl::class) + wasmJs { browser() } diff --git a/examples/gradle-v2/kotlin-multiplatform-example/src/commonMain/kotlin/org/kotlintestmpp/CommonCustomException.kt b/examples/gradle-v2/kotlin-multiplatform-example/src/commonMain/kotlin/org/kotlintestmpp/CommonCustomException.kt new file mode 100644 index 0000000000..52a5a73384 --- /dev/null +++ b/examples/gradle-v2/kotlin-multiplatform-example/src/commonMain/kotlin/org/kotlintestmpp/CommonCustomException.kt @@ -0,0 +1,11 @@ +package org.kotlintestmpp + +/** + * An exception defined in the `commonMain` source set. + */ +expect open class CustomException : Exception { + constructor() + constructor(message: String?) + constructor(cause: Throwable?) + constructor(message: String?, cause: Throwable?) +} diff --git a/examples/gradle-v2/kotlin-multiplatform-example/src/commonMain/kotlin/org/kotlintestmpp/CommonDateUtils.kt b/examples/gradle-v2/kotlin-multiplatform-example/src/commonMain/kotlin/org/kotlintestmpp/CommonDateUtils.kt index b241f5ead9..ea9e57a16f 100644 --- a/examples/gradle-v2/kotlin-multiplatform-example/src/commonMain/kotlin/org/kotlintestmpp/CommonDateUtils.kt +++ b/examples/gradle-v2/kotlin-multiplatform-example/src/commonMain/kotlin/org/kotlintestmpp/CommonDateUtils.kt @@ -11,4 +11,3 @@ expect fun getCurrentDate(): String fun getDate(): String { return "Today's Date is ${getCurrentDate()}" } - diff --git a/examples/gradle-v2/kotlin-multiplatform-example/src/iosMain/kotlin/org/kotlintestmpp/IOsCoroutineExtensions.kt b/examples/gradle-v2/kotlin-multiplatform-example/src/iosMain/kotlin/org/kotlintestmpp/IOsCoroutineExtensions.kt new file mode 100644 index 0000000000..7810af7fcf --- /dev/null +++ b/examples/gradle-v2/kotlin-multiplatform-example/src/iosMain/kotlin/org/kotlintestmpp/IOsCoroutineExtensions.kt @@ -0,0 +1,11 @@ +package org.kotlintestmpp.coroutines + +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Deferred + +/** + * iOS actual implementation for `asyncWithDelay` + */ +actual fun CoroutineScope.asyncWithDelay(delay: Long, block: suspend () -> T): Deferred { + TODO("Not yet implemented") +} diff --git a/examples/gradle-v2/kotlin-multiplatform-example/src/iosMain/kotlin/org/kotlintestmpp/IOsDateUtils.kt b/examples/gradle-v2/kotlin-multiplatform-example/src/iosMain/kotlin/org/kotlintestmpp/IOsDateUtils.kt new file mode 100644 index 0000000000..24dac87b29 --- /dev/null +++ b/examples/gradle-v2/kotlin-multiplatform-example/src/iosMain/kotlin/org/kotlintestmpp/IOsDateUtils.kt @@ -0,0 +1,8 @@ +package org.kotlintestmpp.date + +/** + * iOS actual implementation for `getCurrentDate()`. + */ +actual fun getCurrentDate(): String { + TODO("Not yet implemented") +} diff --git a/examples/gradle-v2/kotlin-multiplatform-example/src/jsMain/kotlin/org/kotlintestmpp/JsFunctions.kt b/examples/gradle-v2/kotlin-multiplatform-example/src/jsMain/kotlin/org/kotlintestmpp/JsFunctions.kt index 767573590e..d012a1fa8b 100644 --- a/examples/gradle-v2/kotlin-multiplatform-example/src/jsMain/kotlin/org/kotlintestmpp/JsFunctions.kt +++ b/examples/gradle-v2/kotlin-multiplatform-example/src/jsMain/kotlin/org/kotlintestmpp/JsFunctions.kt @@ -1,7 +1,7 @@ package org.kotlintestmpp /** - * Function declares in JS source set + * Function declared in JS source set */ fun js() {} diff --git a/examples/gradle-v2/kotlin-multiplatform-example/src/jsMain/kotlin/org/kotlintestmpp/JsWebService.kt b/examples/gradle-v2/kotlin-multiplatform-example/src/jsMain/kotlin/org/kotlintestmpp/JsWebService.kt new file mode 100644 index 0000000000..1018826be2 --- /dev/null +++ b/examples/gradle-v2/kotlin-multiplatform-example/src/jsMain/kotlin/org/kotlintestmpp/JsWebService.kt @@ -0,0 +1,15 @@ +package org.kotlintestmpp.web + +/** + * JS implementation of [WebService]. + */ +actual class WebService : AutoCloseable { + + actual fun getException(): Throwable? { + return null + } + + actual override fun close() { + TODO("Not yet implemented") + } +} diff --git a/examples/gradle-v2/kotlin-multiplatform-example/src/jvmMain/kotlin/org/kotlintestmpp/JvmCustomException.kt b/examples/gradle-v2/kotlin-multiplatform-example/src/jvmMain/kotlin/org/kotlintestmpp/JvmCustomException.kt new file mode 100644 index 0000000000..eca87e0e85 --- /dev/null +++ b/examples/gradle-v2/kotlin-multiplatform-example/src/jvmMain/kotlin/org/kotlintestmpp/JvmCustomException.kt @@ -0,0 +1,11 @@ +package org.kotlintestmpp + +/** + * An exception defined in the `jvmMain` source set. + */ +actual open class CustomException : Exception { + actual constructor() : super() + actual constructor(message: String?) : super(message) + actual constructor(cause: Throwable?) : super(cause) + actual constructor(message: String?, cause: Throwable?) : super(message, cause) +} diff --git a/examples/gradle-v2/kotlin-multiplatform-example/src/mingwMain/kotlin/org/kotlintestmpp/MingwCoroutineExtensions.kt b/examples/gradle-v2/kotlin-multiplatform-example/src/mingwMain/kotlin/org/kotlintestmpp/MingwCoroutineExtensions.kt new file mode 100644 index 0000000000..96f03140ab --- /dev/null +++ b/examples/gradle-v2/kotlin-multiplatform-example/src/mingwMain/kotlin/org/kotlintestmpp/MingwCoroutineExtensions.kt @@ -0,0 +1,11 @@ +package org.kotlintestmpp.coroutines + +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Deferred + +/** + * MinGW actual implementation for `asyncWithDelay` + */ +actual fun CoroutineScope.asyncWithDelay(delay: Long, block: suspend () -> T): Deferred { + TODO("Not yet implemented") +} diff --git a/examples/gradle-v2/kotlin-multiplatform-example/src/mingwMain/kotlin/org/kotlintestmpp/MingwDateUtils.kt b/examples/gradle-v2/kotlin-multiplatform-example/src/mingwMain/kotlin/org/kotlintestmpp/MingwDateUtils.kt new file mode 100644 index 0000000000..cd4ee89dfc --- /dev/null +++ b/examples/gradle-v2/kotlin-multiplatform-example/src/mingwMain/kotlin/org/kotlintestmpp/MingwDateUtils.kt @@ -0,0 +1,8 @@ +package org.kotlintestmpp.date + +/** + * MinGW actual implementation for `getCurrentDate` + */ +actual fun getCurrentDate(): String { + TODO("Not yet implemented") +} diff --git a/examples/gradle-v2/kotlin-multiplatform-example/src/nativeMain/kotlin/org/kotlintestmpp/NativeCustomException.kt b/examples/gradle-v2/kotlin-multiplatform-example/src/nativeMain/kotlin/org/kotlintestmpp/NativeCustomException.kt new file mode 100644 index 0000000000..ec60c27d55 --- /dev/null +++ b/examples/gradle-v2/kotlin-multiplatform-example/src/nativeMain/kotlin/org/kotlintestmpp/NativeCustomException.kt @@ -0,0 +1,8 @@ +package org.kotlintestmpp + +actual open class CustomException : Exception { + actual constructor() : super() + actual constructor(message: String?) : super(message) + actual constructor(cause: Throwable?) : super(cause) + actual constructor(message: String?, cause: Throwable?) : super(message, cause) +} diff --git a/examples/gradle-v2/kotlin-multiplatform-example/src/wasmJsMain/kotlin/org/kotlintestmpp/WasmJsCoroutineExtensions.kt b/examples/gradle-v2/kotlin-multiplatform-example/src/wasmJsMain/kotlin/org/kotlintestmpp/WasmJsCoroutineExtensions.kt new file mode 100644 index 0000000000..8ec156ae43 --- /dev/null +++ b/examples/gradle-v2/kotlin-multiplatform-example/src/wasmJsMain/kotlin/org/kotlintestmpp/WasmJsCoroutineExtensions.kt @@ -0,0 +1,11 @@ +package org.kotlintestmpp.coroutines + +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Deferred + +/** + * WasmJS actual implementation for `asyncWithDelay` + */ +actual fun CoroutineScope.asyncWithDelay(delay: Long, block: suspend () -> T): Deferred { + TODO("Not yet implemented") +} diff --git a/examples/gradle-v2/kotlin-multiplatform-example/src/wasmJsMain/kotlin/org/kotlintestmpp/WasmJsDateUtils.kt b/examples/gradle-v2/kotlin-multiplatform-example/src/wasmJsMain/kotlin/org/kotlintestmpp/WasmJsDateUtils.kt new file mode 100644 index 0000000000..3f2ff5e396 --- /dev/null +++ b/examples/gradle-v2/kotlin-multiplatform-example/src/wasmJsMain/kotlin/org/kotlintestmpp/WasmJsDateUtils.kt @@ -0,0 +1,8 @@ +package org.kotlintestmpp.date + +/** + * WasmJS actual implementation for `getCurrentDate` + */ +actual fun getCurrentDate(): String { + return "test" +} diff --git a/examples/gradle-v2/kotlin-multiplatform-example/src/wasmJsMain/kotlin/org/kotlintestmpp/WasmJsFunctions.kt b/examples/gradle-v2/kotlin-multiplatform-example/src/wasmJsMain/kotlin/org/kotlintestmpp/WasmJsFunctions.kt new file mode 100644 index 0000000000..3e674f19f0 --- /dev/null +++ b/examples/gradle-v2/kotlin-multiplatform-example/src/wasmJsMain/kotlin/org/kotlintestmpp/WasmJsFunctions.kt @@ -0,0 +1,22 @@ +/* + * Copyright 2014-2025 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +package org.kotlintestmpp + +/** + * Function declared in WasmJS source set + */ +fun wasmJs() {} + +/** + * Function declared in WasmJS source set. + * + * Function with the same name exists in another source set as well. + */ +fun shared() {} + +/** + * Extension declared in WasmJS source set + */ +fun String.myExtension() = println("test") diff --git a/examples/gradle-v2/kotlin-multiplatform-example/src/wasmJsMain/kotlin/org/kotlintestmpp/WasmJsWebService.kt b/examples/gradle-v2/kotlin-multiplatform-example/src/wasmJsMain/kotlin/org/kotlintestmpp/WasmJsWebService.kt new file mode 100644 index 0000000000..09db402ef6 --- /dev/null +++ b/examples/gradle-v2/kotlin-multiplatform-example/src/wasmJsMain/kotlin/org/kotlintestmpp/WasmJsWebService.kt @@ -0,0 +1,20 @@ +/* + * Copyright 2014-2025 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +package org.kotlintestmpp.web + +/** + * WasmJS implementation of [WebService]. + */ +actual open class WebService : AutoCloseable { + actual constructor() : super() + + actual fun getException(): Throwable? { + return null + } + + actual override fun close() { + TODO("Not yet implemented") + } +} diff --git a/examples/gradle-v2/kotlin-multiplatform-example/src/webMain/kotlin/org/kotlintestmpp/WebCustomException.kt b/examples/gradle-v2/kotlin-multiplatform-example/src/webMain/kotlin/org/kotlintestmpp/WebCustomException.kt new file mode 100644 index 0000000000..1a6d3bf359 --- /dev/null +++ b/examples/gradle-v2/kotlin-multiplatform-example/src/webMain/kotlin/org/kotlintestmpp/WebCustomException.kt @@ -0,0 +1,11 @@ +package org.kotlintestmpp + +/** + * An exception defined in the `commonMain` source set. + */ +actual open class CustomException : Exception { + actual constructor() : super() + actual constructor(message: String?) : super(message) + actual constructor(cause: Throwable?) : super(cause) + actual constructor(message: String?, cause: Throwable?) : super(message, cause) +} diff --git a/examples/gradle-v2/kotlin-multiplatform-example/src/webMain/kotlin/org/kotlintestmpp/WebService.kt b/examples/gradle-v2/kotlin-multiplatform-example/src/webMain/kotlin/org/kotlintestmpp/WebService.kt new file mode 100644 index 0000000000..3b7af275d7 --- /dev/null +++ b/examples/gradle-v2/kotlin-multiplatform-example/src/webMain/kotlin/org/kotlintestmpp/WebService.kt @@ -0,0 +1,16 @@ +/* + * Copyright 2014-2025 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +package org.kotlintestmpp.web + +/** + * Specification of a `WebService`, defined in `webMain`. + */ +expect class WebService : AutoCloseable { + constructor() + + fun getException(): Throwable? + + override fun close() +} From b444fe7f324047b9649e9e070eb1d0bdd2170d87 Mon Sep 17 00:00:00 2001 From: Adam Semenenko <152864218+adam-enko@users.noreply.github.com> Date: Mon, 24 Nov 2025 19:34:34 +0100 Subject: [PATCH 3/5] kotlin-multiplatform-example: bump coroutines, add external doc link --- .../kotlin-multiplatform-example/build.gradle.kts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/examples/gradle-v2/kotlin-multiplatform-example/build.gradle.kts b/examples/gradle-v2/kotlin-multiplatform-example/build.gradle.kts index dc5ad633b9..b563ea24db 100644 --- a/examples/gradle-v2/kotlin-multiplatform-example/build.gradle.kts +++ b/examples/gradle-v2/kotlin-multiplatform-example/build.gradle.kts @@ -32,12 +32,18 @@ kotlin { sourceSets { commonMain { dependencies { - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2") } } } } dokka { - // Dokka can be configured here + dokkaSourceSets.configureEach { + externalDocumentationLinks { + register("kotlinx.coroutines") { + url("https://kotlinlang.org/api/kotlinx.coroutines/") + } + } + } } From f4a7b7c6e6ad19c0041cc56a3dcc57ef63c8b070 Mon Sep 17 00:00:00 2001 From: Adam Semenenko <152864218+adam-enko@users.noreply.github.com> Date: Mon, 24 Nov 2025 19:35:03 +0100 Subject: [PATCH 4/5] kotlin-multiplatform-example: update expected data --- .../async-with-delay.html | 36 ++- .../org.kotlintestmpp.coroutines/index.html | 44 ++- .../org.kotlintestmpp.coroutines/name.html | 2 +- .../get-current-date.html | 36 ++- .../org.kotlintestmpp.date/index.html | 42 ++- .../-web-service/-web-service.html | 154 ++++++++++ .../-web-service/close.html | 154 ++++++++++ .../-web-service/get-exception.html | 154 ++++++++++ .../-web-service/index.html | 218 ++++++++++++++ .../org.kotlintestmpp.web/index.html | 177 +++++++++++ .../-custom-exception/-custom-exception.html | 164 ++++++++++ .../-custom-exception/index.html | 283 ++++++++++++++++++ .../[wasm-js]my-extension.html | 134 +++++++++ .../org.kotlintestmpp/[wasm-js]shared.html | 134 +++++++++ .../org.kotlintestmpp/index.html | 102 ++++++- .../org.kotlintestmpp/js.html | 2 +- .../start-connection-pipeline.html | 2 +- .../org.kotlintestmpp/wasm-js.html | 134 +++++++++ .../dokka-multiplatform-example/package-list | 16 +- .../html/index.html | 100 ++++++- .../html/navigation.html | 40 ++- .../html/scripts/pages.json | 2 +- .../html/scripts/sourceset_dependencies.js | 2 +- .../html/ui-kit/ui-kit.min.css | 2 +- 24 files changed, 2072 insertions(+), 62 deletions(-) create mode 100644 dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.web/-web-service/-web-service.html create mode 100644 dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.web/-web-service/close.html create mode 100644 dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.web/-web-service/get-exception.html create mode 100644 dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.web/-web-service/index.html create mode 100644 dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.web/index.html create mode 100644 dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/-custom-exception/-custom-exception.html create mode 100644 dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/-custom-exception/index.html create mode 100644 dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/[wasm-js]my-extension.html create mode 100644 dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/[wasm-js]shared.html create mode 100644 dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/wasm-js.html diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.coroutines/async-with-delay.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.coroutines/async-with-delay.html index ddeab9b2ed..a411ebaf39 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.coroutines/async-with-delay.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.coroutines/async-with-delay.html @@ -49,6 +49,8 @@
    + + +
@@ -144,14 +174,14 @@
-
+

asyncWithDelay

-
-
expect fun <T> CoroutineScope.asyncWithDelay(delay: Long, block: suspend () -> T): Deferred<T>

Common expect declaration

actual fun <T> CoroutineScope.asyncWithDelay(delay: Long, block: suspend () -> T): Deferred<T>

JS actual implementation for asyncWithDelay

actual fun <T> CoroutineScope.asyncWithDelay(delay: Long, block: suspend () -> T): Deferred<T>

JVM actual implementation for asyncWithDelay

actual fun <T> CoroutineScope.asyncWithDelay(delay: Long, block: suspend () -> T): Deferred<T>

Linux actual implementation for asyncWithDelay

actual fun <T> CoroutineScope.asyncWithDelay(delay: Long, block: suspend () -> T): Deferred<T>

MacOS actual implementation for asyncWithDelay

+
+
expect fun <T> CoroutineScope.asyncWithDelay(delay: Long, block: suspend () -> T): Deferred<T>

Common expect declaration

actual fun <T> CoroutineScope.asyncWithDelay(delay: Long, block: suspend () -> T): Deferred<T>

iOS actual implementation for asyncWithDelay

actual fun <T> CoroutineScope.asyncWithDelay(delay: Long, block: suspend () -> T): Deferred<T>

JS actual implementation for asyncWithDelay

actual fun <T> CoroutineScope.asyncWithDelay(delay: Long, block: suspend () -> T): Deferred<T>

JVM actual implementation for asyncWithDelay

actual fun <T> CoroutineScope.asyncWithDelay(delay: Long, block: suspend () -> T): Deferred<T>

Linux actual implementation for asyncWithDelay

actual fun <T> CoroutineScope.asyncWithDelay(delay: Long, block: suspend () -> T): Deferred<T>

MacOS actual implementation for asyncWithDelay

actual fun <T> CoroutineScope.asyncWithDelay(delay: Long, block: suspend () -> T): Deferred<T>

MinGW actual implementation for asyncWithDelay

actual fun <T> CoroutineScope.asyncWithDelay(delay: Long, block: suspend () -> T): Deferred<T>

WasmJS actual implementation for asyncWithDelay