build: pin binaryen to version 130
This commit is contained in:
parent
539d57c129
commit
272f80fa05
@ -14,8 +14,11 @@ import org.gradle.kotlin.dsl.create
|
|||||||
import org.gradle.kotlin.dsl.named
|
import org.gradle.kotlin.dsl.named
|
||||||
import org.gradle.kotlin.dsl.register
|
import org.gradle.kotlin.dsl.register
|
||||||
import org.gradle.process.CommandLineArgumentProvider
|
import org.gradle.process.CommandLineArgumentProvider
|
||||||
|
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
||||||
|
import org.jetbrains.kotlin.gradle.targets.wasm.binaryen.BinaryenEnvSpec
|
||||||
import org.jetbrains.kotlin.gradle.targets.wasm.binaryen.BinaryenExec
|
import org.jetbrains.kotlin.gradle.targets.wasm.binaryen.BinaryenExec
|
||||||
|
import org.jetbrains.kotlin.gradle.targets.wasm.binaryen.BinaryenPlugin
|
||||||
import java.net.URI
|
import java.net.URI
|
||||||
|
|
||||||
abstract class PumpkinExtension @Inject constructor(objects: ObjectFactory) {
|
abstract class PumpkinExtension @Inject constructor(objects: ObjectFactory) {
|
||||||
@ -23,6 +26,7 @@ abstract class PumpkinExtension @Inject constructor(objects: ObjectFactory) {
|
|||||||
val apiArtifact: Property<String> = objects.property(String::class.java).convention("pumpkin-api-kt")
|
val apiArtifact: Property<String> = objects.property(String::class.java).convention("pumpkin-api-kt")
|
||||||
val apiVersion: Property<String> = objects.property(String::class.java).convention("0.1.0-dev")
|
val apiVersion: Property<String> = objects.property(String::class.java).convention("0.1.0-dev")
|
||||||
val wasmToolsVersion: Property<String> = objects.property(String::class.java).convention("1.258.0")
|
val wasmToolsVersion: Property<String> = objects.property(String::class.java).convention("1.258.0")
|
||||||
|
val binaryenVersion: Property<String> = objects.property(String::class.java).convention("130")
|
||||||
val pluginClass: Property<String> = objects.property(String::class.java)
|
val pluginClass: Property<String> = objects.property(String::class.java)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -41,6 +45,7 @@ class PumpkinPlugin : Plugin<Project> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@OptIn(ExperimentalWasmDsl::class)
|
||||||
private fun configurePlugin(
|
private fun configurePlugin(
|
||||||
project: Project,
|
project: Project,
|
||||||
extension: PumpkinExtension,
|
extension: PumpkinExtension,
|
||||||
@ -50,6 +55,11 @@ class PumpkinPlugin : Plugin<Project> {
|
|||||||
"io.github.pumpkin-mc.plugin requires org.jetbrains.kotlin.multiplatform."
|
"io.github.pumpkin-mc.plugin requires org.jetbrains.kotlin.multiplatform."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Binaryen 130 fixes Linux release stack overflows on Kotlin-generated Wasm.
|
||||||
|
// https://github.com/WebAssembly/binaryen/pull/8595
|
||||||
|
project.plugins.apply(BinaryenPlugin::class.java)
|
||||||
|
project.extensions.getByType(BinaryenEnvSpec::class.java).version.set(extension.binaryenVersion)
|
||||||
|
|
||||||
project.dependencies.add(
|
project.dependencies.add(
|
||||||
apiSources.name,
|
apiSources.name,
|
||||||
"${extension.apiGroup.get()}:${extension.apiArtifact.get()}-wasm-wasi:${extension.apiVersion.get()}:sources@jar",
|
"${extension.apiGroup.get()}:${extension.apiArtifact.get()}-wasm-wasi:${extension.apiVersion.get()}:sources@jar",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user