Skip to content

Commit 84d234d

Browse files
committed
Generate wat for optimized wasm files.
1 parent 3c7af43 commit 84d234d

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

ir-printer-gradle-plugin/src/main/java/com/bennyhuo/kotlin/ir/printer/gradle/IrPrinterGradlePlugin.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
1818
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget
1919
import org.jetbrains.kotlin.gradle.targets.js.binaryen.BinaryenRootExtension
2020
import org.jetbrains.kotlin.gradle.targets.js.binaryen.BinaryenSetupTask
21+
import org.jetbrains.kotlin.gradle.targets.js.ir.ExecutableWasm
2122

2223
class IrPrinterGradlePlugin : KotlinCompilerPluginSupportPlugin {
2324
override fun apply(target: Project) {
@@ -120,6 +121,16 @@ class IrPrinterGradlePlugin : KotlinCompilerPluginSupportPlugin {
120121
it.inputPath.value(binary.linkTask.flatMap { it.destinationDirectory.asFile.map { it.absolutePath } })
121122
it.outputPath.set(project.output(extension, binary, "wasm"))
122123
}
124+
125+
if (binary is ExecutableWasm) {
126+
val optTaskName = "generate${binary.name.capitalized()}${target.targetName.capitalized()}WatOptimize"
127+
project.tasks.register(optTaskName, WasmDisTask::class.java) {
128+
it.dependsOn(binary.optimizeTask)
129+
it.wasmDisPath.set(wasmDisPathLazy)
130+
it.inputPath.value(binary.optimizeTask.flatMap { it.outputDirectory.asFile.map { it.absolutePath } })
131+
it.outputPath.set(project.output(extension, binary, "wasmOptimized"))
132+
}
133+
}
123134
}
124135
}
125136
}

0 commit comments

Comments
 (0)