[Gradle] Make source set between wasmJs and wasmWasi as "common"
i.e. it will be compiled with kotlin metadata compiler and
published as common source set in metadata.jar.
And included to kotlin project structure metadata file.
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/metadata/KotlinMetadataTargetConfigurator.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/metadata/KotlinMetadataTargetConfigurator.kt
index ced3d3e..89285e8 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/metadata/KotlinMetadataTargetConfigurator.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/metadata/KotlinMetadataTargetConfigurator.kt
@@ -236,7 +236,7 @@
/* Metadata compilation for a single platform is only supported native and common source sets */
if (platforms.size == 1) {
val platform = platforms.single()
- return platform == KotlinPlatformType.native || platform == KotlinPlatformType.common
+ return platform == KotlinPlatformType.native || platform == KotlinPlatformType.common || platform == KotlinPlatformType.wasm
}
/* Source sets sharing code between multiple backends are supported */
@@ -454,8 +454,7 @@
val sourceSetsUsedInMultipleTargets = compilationsBySourceSet.filterValues { compilations ->
compilations.map { it.target.platformType }.distinct().run {
- size > 1 || singleOrNull() == KotlinPlatformType.native && compilations.map { it.target }.distinct().size > 1
- // TODO: platform-shared source sets other than Kotlin/Native ones are not yet supported; support will be needed for JVM, JS
+ size > 1 || singleOrNull() in listOf(KotlinPlatformType.native, KotlinPlatformType.wasm) && compilations.map { it.target }.distinct().size > 1
}
}