[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(
|
||||
compilation: KotlinCompilationImpl
|
||||
) : AbstractKotlinCompilationToRunnableFiles<KotlinJsOptions>(compilation) {
|
||||
) : AbstractKotlinCompilationToRunnableFiles<KotlinJsOptions>(compilation),
|
||||
HasBinaries<KotlinJsBinaryContainer> {
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
final override val compilerOptions: HasCompilerOptions<KotlinJsCompilerOptions>
|
||||
@@ -39,7 +40,7 @@ open class KotlinJsCompilation @Inject internal constructor(
|
||||
configure.execute(compilerOptions.options)
|
||||
}
|
||||
|
||||
val binaries: KotlinJsBinaryContainer =
|
||||
override val binaries: KotlinJsBinaryContainer =
|
||||
compilation.target.project.objects.newInstance(
|
||||
KotlinJsBinaryContainer::class.java,
|
||||
compilation.target,
|
||||
|
||||
+7
-3
@@ -10,6 +10,7 @@ import org.gradle.api.GradleException
|
||||
import org.gradle.api.NamedDomainObjectContainer
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJsDce
|
||||
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.KotlinJsReportAggregatingTestRun
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsBinaryContainer
|
||||
@@ -33,7 +34,10 @@ interface KotlinJsSubTargetContainerDsl : KotlinTarget {
|
||||
fun whenBrowserConfigured(body: KotlinJsBrowserDsl.() -> Unit)
|
||||
}
|
||||
|
||||
interface KotlinJsTargetDsl : KotlinTarget, KotlinTargetWithNodeJsDsl {
|
||||
interface KotlinJsTargetDsl :
|
||||
KotlinTarget,
|
||||
KotlinTargetWithNodeJsDsl,
|
||||
HasBinaries<KotlinJsBinaryContainer>{
|
||||
var moduleName: String?
|
||||
|
||||
fun browser() = browser { }
|
||||
@@ -55,8 +59,6 @@ interface KotlinJsTargetDsl : KotlinTarget, KotlinTargetWithNodeJsDsl {
|
||||
|
||||
fun generateTypeScriptDefinitions()
|
||||
|
||||
val binaries: KotlinJsBinaryContainer
|
||||
|
||||
@Deprecated(
|
||||
message = "produceExecutable() was changed on 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
|
||||
override val compilations: NamedDomainObjectContainer<KotlinJsIrCompilation>
|
||||
|
||||
override val binaries: KotlinJsBinaryContainer
|
||||
}
|
||||
|
||||
interface KotlinTargetWithNodeJsDsl {
|
||||
|
||||
+9
-1
@@ -6,11 +6,15 @@
|
||||
package org.jetbrains.kotlin.gradle.targets.js.dsl
|
||||
|
||||
import org.gradle.api.Action
|
||||
import org.gradle.api.NamedDomainObjectContainer
|
||||
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.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?
|
||||
|
||||
fun applyBinaryen() = applyBinaryen { }
|
||||
@@ -20,4 +24,8 @@ interface KotlinWasmTargetDsl : KotlinTarget {
|
||||
fn.execute(this)
|
||||
}
|
||||
}
|
||||
|
||||
override val compilations: NamedDomainObjectContainer<KotlinJsIrCompilation>
|
||||
|
||||
override val binaries: KotlinJsBinaryContainer
|
||||
}
|
||||
Reference in New Issue
Block a user