[WASM] Mark wasm dsl as experimental

This commit is contained in:
Igor Yakovlev
2022-06-15 19:52:01 +02:00
parent 93574d49ef
commit 27bb9a087a
3 changed files with 21 additions and 1 deletions
@@ -7,12 +7,13 @@ package org.jetbrains.kotlin.gradle.dsl
import groovy.lang.Closure
import org.gradle.util.ConfigureUtil
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinWasmTargetDsl
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTargetPreset
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinWasmTargetPreset
interface KotlinTargetContainerWithWasmPresetFunctions : KotlinTargetContainerWithPresetFunctions {
@ExperimentalWasmDsl
fun wasm(
name: String = "wasm",
configure: KotlinWasmTargetDsl.() -> Unit = { }
@@ -23,8 +24,15 @@ interface KotlinTargetContainerWithWasmPresetFunctions : KotlinTargetContainerWi
configure
)
@ExperimentalWasmDsl
fun wasm() = wasm("wasm") { }
@ExperimentalWasmDsl
fun wasm(name: String) = wasm(name) { }
@ExperimentalWasmDsl
fun wasm(name: String, configure: Closure<*>) = wasm(name) { ConfigureUtil.configure(configure, this) }
@ExperimentalWasmDsl
fun wasm(configure: Closure<*>) = wasm { ConfigureUtil.configure(configure, this) }
}
@@ -0,0 +1,10 @@
/*
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.gradle.targets.js.dsl
@RequiresOptIn(level = RequiresOptIn.Level.WARNING)
@Target(AnnotationTarget.FUNCTION)
annotation class ExperimentalWasmDsl
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsCompilerAttribute
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertNotNull
@@ -56,6 +57,7 @@ class ConfigurationsTest : MultiplatformExtensionTest() {
with(kotlin) {
js("nodeJs", KotlinJsCompilerType.IR)
js("browser", KotlinJsCompilerType.IR)
@OptIn(ExperimentalWasmDsl::class)
wasm()
val allJs = sourceSets.create("allJs")