[Gradle, JS] Use binaries for wasi with KotlinJsIrCompilation
This commit is contained in:
committed by
Space Team
parent
5ea59f57d6
commit
957d3c5610
+3
-2
@@ -25,7 +25,8 @@ import javax.inject.Inject
|
|||||||
|
|
||||||
open class KotlinJsCompilation @Inject internal constructor(
|
open class KotlinJsCompilation @Inject internal constructor(
|
||||||
compilation: KotlinCompilationImpl
|
compilation: KotlinCompilationImpl
|
||||||
) : AbstractKotlinCompilationToRunnableFiles<KotlinJsOptions>(compilation) {
|
) : AbstractKotlinCompilationToRunnableFiles<KotlinJsOptions>(compilation),
|
||||||
|
HasBinaries<KotlinJsBinaryContainer> {
|
||||||
|
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
final override val compilerOptions: HasCompilerOptions<KotlinJsCompilerOptions>
|
final override val compilerOptions: HasCompilerOptions<KotlinJsCompilerOptions>
|
||||||
@@ -39,7 +40,7 @@ open class KotlinJsCompilation @Inject internal constructor(
|
|||||||
configure.execute(compilerOptions.options)
|
configure.execute(compilerOptions.options)
|
||||||
}
|
}
|
||||||
|
|
||||||
val binaries: KotlinJsBinaryContainer =
|
override val binaries: KotlinJsBinaryContainer =
|
||||||
compilation.target.project.objects.newInstance(
|
compilation.target.project.objects.newInstance(
|
||||||
KotlinJsBinaryContainer::class.java,
|
KotlinJsBinaryContainer::class.java,
|
||||||
compilation.target,
|
compilation.target,
|
||||||
|
|||||||
+7
-3
@@ -10,6 +10,7 @@ import org.gradle.api.GradleException
|
|||||||
import org.gradle.api.NamedDomainObjectContainer
|
import org.gradle.api.NamedDomainObjectContainer
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJsDce
|
import org.jetbrains.kotlin.gradle.dsl.KotlinJsDce
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.HasBinaries
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsPlatformTestRun
|
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsPlatformTestRun
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsReportAggregatingTestRun
|
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsReportAggregatingTestRun
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsBinaryContainer
|
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsBinaryContainer
|
||||||
@@ -33,7 +34,10 @@ interface KotlinJsSubTargetContainerDsl : KotlinTarget {
|
|||||||
fun whenBrowserConfigured(body: KotlinJsBrowserDsl.() -> Unit)
|
fun whenBrowserConfigured(body: KotlinJsBrowserDsl.() -> Unit)
|
||||||
}
|
}
|
||||||
|
|
||||||
interface KotlinJsTargetDsl : KotlinTarget, KotlinTargetWithNodeJsDsl {
|
interface KotlinJsTargetDsl :
|
||||||
|
KotlinTarget,
|
||||||
|
KotlinTargetWithNodeJsDsl,
|
||||||
|
HasBinaries<KotlinJsBinaryContainer>{
|
||||||
var moduleName: String?
|
var moduleName: String?
|
||||||
|
|
||||||
fun browser() = browser { }
|
fun browser() = browser { }
|
||||||
@@ -55,8 +59,6 @@ interface KotlinJsTargetDsl : KotlinTarget, KotlinTargetWithNodeJsDsl {
|
|||||||
|
|
||||||
fun generateTypeScriptDefinitions()
|
fun generateTypeScriptDefinitions()
|
||||||
|
|
||||||
val binaries: KotlinJsBinaryContainer
|
|
||||||
|
|
||||||
@Deprecated(
|
@Deprecated(
|
||||||
message = "produceExecutable() was changed on binaries.executable()",
|
message = "produceExecutable() was changed on binaries.executable()",
|
||||||
replaceWith = ReplaceWith("binaries.executable()"),
|
replaceWith = ReplaceWith("binaries.executable()"),
|
||||||
@@ -70,6 +72,8 @@ interface KotlinJsTargetDsl : KotlinTarget, KotlinTargetWithNodeJsDsl {
|
|||||||
|
|
||||||
// Need to compatibility when users use KotlinJsCompilation specific in build script
|
// Need to compatibility when users use KotlinJsCompilation specific in build script
|
||||||
override val compilations: NamedDomainObjectContainer<KotlinJsIrCompilation>
|
override val compilations: NamedDomainObjectContainer<KotlinJsIrCompilation>
|
||||||
|
|
||||||
|
override val binaries: KotlinJsBinaryContainer
|
||||||
}
|
}
|
||||||
|
|
||||||
interface KotlinTargetWithNodeJsDsl {
|
interface KotlinTargetWithNodeJsDsl {
|
||||||
|
|||||||
+9
-1
@@ -6,11 +6,15 @@
|
|||||||
package org.jetbrains.kotlin.gradle.targets.js.dsl
|
package org.jetbrains.kotlin.gradle.targets.js.dsl
|
||||||
|
|
||||||
import org.gradle.api.Action
|
import org.gradle.api.Action
|
||||||
|
import org.gradle.api.NamedDomainObjectContainer
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.HasBinaries
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinWasmTargetType
|
import org.jetbrains.kotlin.gradle.targets.js.KotlinWasmTargetType
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.binaryen.BinaryenExec
|
import org.jetbrains.kotlin.gradle.targets.js.binaryen.BinaryenExec
|
||||||
|
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsBinaryContainer
|
||||||
|
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation
|
||||||
|
|
||||||
interface KotlinWasmTargetDsl : KotlinTarget {
|
interface KotlinWasmTargetDsl : KotlinTarget, HasBinaries<KotlinJsBinaryContainer> {
|
||||||
val wasmTargetType: KotlinWasmTargetType?
|
val wasmTargetType: KotlinWasmTargetType?
|
||||||
|
|
||||||
fun applyBinaryen() = applyBinaryen { }
|
fun applyBinaryen() = applyBinaryen { }
|
||||||
@@ -20,4 +24,8 @@ interface KotlinWasmTargetDsl : KotlinTarget {
|
|||||||
fn.execute(this)
|
fn.execute(this)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override val compilations: NamedDomainObjectContainer<KotlinJsIrCompilation>
|
||||||
|
|
||||||
|
override val binaries: KotlinJsBinaryContainer
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user