[Gradle, Wasm] Use static source sets accessors for wasm

^KT-62955 fixed
This commit is contained in:
Ilya Goncharov
2023-11-20 10:30:16 +00:00
committed by Space Team
parent 0c30acfba6
commit dcab981ee8
4 changed files with 36 additions and 3 deletions
@@ -15,13 +15,13 @@ kotlin {
}
sourceSets {
val wasmJsMain by getting {
wasmJsMain {
dependencies {
implementation(project(":lib"))
}
}
val wasmWasiMain by getting {
wasmWasiMain {
dependencies {
implementation(project(":lib"))
}
@@ -67,6 +67,10 @@ public abstract class org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformExtensi
public final fun getTestableTargets ()Lorg/gradle/api/NamedDomainObjectCollection;
public fun getTvosMain (Lorg/gradle/api/NamedDomainObjectContainer;)Lorg/gradle/api/NamedDomainObjectProvider;
public fun getTvosTest (Lorg/gradle/api/NamedDomainObjectContainer;)Lorg/gradle/api/NamedDomainObjectProvider;
public fun getWasmJsMain (Lorg/gradle/api/NamedDomainObjectContainer;)Lorg/gradle/api/NamedDomainObjectProvider;
public fun getWasmJsTest (Lorg/gradle/api/NamedDomainObjectContainer;)Lorg/gradle/api/NamedDomainObjectProvider;
public fun getWasmWasiMain (Lorg/gradle/api/NamedDomainObjectContainer;)Lorg/gradle/api/NamedDomainObjectProvider;
public fun getWasmWasiTest (Lorg/gradle/api/NamedDomainObjectContainer;)Lorg/gradle/api/NamedDomainObjectProvider;
public fun getWatchosMain (Lorg/gradle/api/NamedDomainObjectContainer;)Lorg/gradle/api/NamedDomainObjectProvider;
public fun getWatchosTest (Lorg/gradle/api/NamedDomainObjectContainer;)Lorg/gradle/api/NamedDomainObjectProvider;
public fun invoke (Lorg/gradle/api/NamedDomainObjectProvider;Lkotlin/jvm/functions/Function1;)V
@@ -272,6 +276,10 @@ public abstract interface class org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatf
public abstract fun getNativeTest (Lorg/gradle/api/NamedDomainObjectContainer;)Lorg/gradle/api/NamedDomainObjectProvider;
public abstract fun getTvosMain (Lorg/gradle/api/NamedDomainObjectContainer;)Lorg/gradle/api/NamedDomainObjectProvider;
public abstract fun getTvosTest (Lorg/gradle/api/NamedDomainObjectContainer;)Lorg/gradle/api/NamedDomainObjectProvider;
public abstract fun getWasmJsMain (Lorg/gradle/api/NamedDomainObjectContainer;)Lorg/gradle/api/NamedDomainObjectProvider;
public abstract fun getWasmJsTest (Lorg/gradle/api/NamedDomainObjectContainer;)Lorg/gradle/api/NamedDomainObjectProvider;
public abstract fun getWasmWasiMain (Lorg/gradle/api/NamedDomainObjectContainer;)Lorg/gradle/api/NamedDomainObjectProvider;
public abstract fun getWasmWasiTest (Lorg/gradle/api/NamedDomainObjectContainer;)Lorg/gradle/api/NamedDomainObjectProvider;
public abstract fun getWatchosMain (Lorg/gradle/api/NamedDomainObjectContainer;)Lorg/gradle/api/NamedDomainObjectProvider;
public abstract fun getWatchosTest (Lorg/gradle/api/NamedDomainObjectContainer;)Lorg/gradle/api/NamedDomainObjectProvider;
public abstract fun invoke (Lorg/gradle/api/NamedDomainObjectProvider;Lkotlin/jvm/functions/Function1;)V
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics.P
import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnosticsCollector
import org.jetbrains.kotlin.gradle.plugin.diagnostics.reportDiagnostic
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
import org.jetbrains.kotlin.konan.target.Family
@@ -53,6 +54,18 @@ interface KotlinMultiplatformSourceSetConventions {
val NamedDomainObjectContainer<KotlinSourceSet>.jsTest: NamedDomainObjectProvider<KotlinSourceSet>
val NamedDomainObjectContainer<KotlinSourceSet>.androidMain: NamedDomainObjectProvider<KotlinSourceSet>
@ExperimentalWasmDsl
val NamedDomainObjectContainer<KotlinSourceSet>.wasmJsMain: NamedDomainObjectProvider<KotlinSourceSet>
@ExperimentalWasmDsl
val NamedDomainObjectContainer<KotlinSourceSet>.wasmJsTest: NamedDomainObjectProvider<KotlinSourceSet>
@ExperimentalWasmDsl
val NamedDomainObjectContainer<KotlinSourceSet>.wasmWasiMain: NamedDomainObjectProvider<KotlinSourceSet>
@ExperimentalWasmDsl
val NamedDomainObjectContainer<KotlinSourceSet>.wasmWasiTest: NamedDomainObjectProvider<KotlinSourceSet>
operator fun NamedDomainObjectProvider<KotlinSourceSet>.invoke(
configure: KotlinSourceSet.() -> Unit,
): Unit = get().run(configure)
@@ -94,6 +107,18 @@ internal object KotlinMultiplatformSourceSetConventionsImpl : KotlinMultiplatfor
override val NamedDomainObjectContainer<KotlinSourceSet>.jsMain by KotlinSourceSetConvention
override val NamedDomainObjectContainer<KotlinSourceSet>.jsTest by KotlinSourceSetConvention
override val NamedDomainObjectContainer<KotlinSourceSet>.androidMain by KotlinSourceSetConvention
@ExperimentalWasmDsl
override val NamedDomainObjectContainer<KotlinSourceSet>.wasmJsMain by KotlinSourceSetConvention
@ExperimentalWasmDsl
override val NamedDomainObjectContainer<KotlinSourceSet>.wasmJsTest by KotlinSourceSetConvention
@ExperimentalWasmDsl
override val NamedDomainObjectContainer<KotlinSourceSet>.wasmWasiMain by KotlinSourceSetConvention
@ExperimentalWasmDsl
override val NamedDomainObjectContainer<KotlinSourceSet>.wasmWasiTest by KotlinSourceSetConvention
}
/* Checkers */
@@ -6,5 +6,5 @@
package org.jetbrains.kotlin.gradle.targets.js.dsl
@RequiresOptIn(level = RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.FUNCTION)
@Target(AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY)
annotation class ExperimentalWasmDsl