[Gradle, Wasm] Standartize binaryen and d8 download instead of download task
^KT-65686 fixed
This commit is contained in:
committed by
Space Team
parent
5bd0bbb159
commit
b4e1fa8569
+3
-15
@@ -19,11 +19,7 @@ class KotlinWasmGradlePluginIT : KGPBaseTest() {
|
||||
@DisplayName("Check wasi target")
|
||||
@GradleTest
|
||||
fun wasiTarget(gradleVersion: GradleVersion) {
|
||||
project(
|
||||
"new-mpp-wasm-wasi-test",
|
||||
gradleVersion,
|
||||
dependencyManagement = DependencyManagement.DisabledDependencyManagement // requires custom d8 repository during build
|
||||
) {
|
||||
project("new-mpp-wasm-wasi-test", gradleVersion) {
|
||||
buildGradleKts.modify(::transformBuildScriptWithPluginsDsl)
|
||||
|
||||
build(":wasmWasiTest") {
|
||||
@@ -57,15 +53,10 @@ class KotlinWasmGradlePluginIT : KGPBaseTest() {
|
||||
@DisplayName("Check js target")
|
||||
@GradleTest
|
||||
fun jsTarget(gradleVersion: GradleVersion) {
|
||||
project(
|
||||
"new-mpp-wasm-test",
|
||||
gradleVersion,
|
||||
dependencyManagement = DependencyManagement.DisabledDependencyManagement // requires custom repository for :kotlinNodeJsSetup during build
|
||||
) {
|
||||
project("new-mpp-wasm-test", gradleVersion) {
|
||||
buildGradleKts.modify {
|
||||
transformBuildScriptWithPluginsDsl(it)
|
||||
.replace("<JsEngine>", "nodejs")
|
||||
.replace("<ApplyBinaryen>", "")
|
||||
}
|
||||
|
||||
kotlinSourcesDir("wasmJsTest").resolve("Test.kt").writeText(
|
||||
@@ -101,10 +92,7 @@ class KotlinWasmGradlePluginIT : KGPBaseTest() {
|
||||
@DisplayName("Check wasi target run")
|
||||
@GradleTest
|
||||
fun wasiRun(gradleVersion: GradleVersion) {
|
||||
project(
|
||||
"new-mpp-wasm-wasi-test", gradleVersion,
|
||||
dependencyManagement = DependencyManagement.DisabledDependencyManagement // requires d8 custom repository during build
|
||||
) {
|
||||
project("new-mpp-wasm-wasi-test", gradleVersion) {
|
||||
buildGradleKts.modify(::transformBuildScriptWithPluginsDsl)
|
||||
|
||||
build(":wasmWasiNodeRun") {
|
||||
|
||||
+5
-15
@@ -1669,22 +1669,18 @@ open class NewMultiplatformIT : BaseGradleIT() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun testWasmTest(engine: String, name: String, useBinaryen: Boolean) = with(
|
||||
private fun testWasmTest(engine: String, name: String) = with(
|
||||
Project("new-mpp-wasm-test", gradleVersionRequirement = GradleVersionRequired.AtLeast(TestVersions.Gradle.G_7_0))
|
||||
) {
|
||||
setupWorkingDir()
|
||||
gradleBuildScript().modify {
|
||||
transformBuildScriptWithPluginsDsl(it)
|
||||
.replace("<JsEngine>", engine)
|
||||
.replace("<ApplyBinaryen>", if (useBinaryen) "applyBinaryen()" else "")
|
||||
}
|
||||
build(":wasmJs${name}Test") {
|
||||
assertTasksExecuted(":compileKotlinWasmJs")
|
||||
if (useBinaryen) {
|
||||
assertTasksExecuted(":compileTestDevelopmentExecutableKotlinWasmJsOptimize")
|
||||
} else {
|
||||
assertTasksNotExecuted(":compileTestDevelopmentExecutableKotlinWasmJsOptimize")
|
||||
}
|
||||
|
||||
assertTasksNotExecuted(":compileTestDevelopmentExecutableKotlinWasmJsOptimize")
|
||||
assertTasksFailed(":wasmJs${name}Test")
|
||||
assertTestResults(
|
||||
"testProject/new-mpp-wasm-test/TEST-${engine}.xml",
|
||||
@@ -1694,16 +1690,10 @@ open class NewMultiplatformIT : BaseGradleIT() {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testWasmNodeTest() = testWasmTest("nodejs", "Node", useBinaryen = false)
|
||||
fun testWasmNodeTest() = testWasmTest("nodejs", "Node")
|
||||
|
||||
@Test
|
||||
fun testWasmWithBinaryenNodeTest() = testWasmTest("nodejs", "Node", useBinaryen = true)
|
||||
|
||||
@Test
|
||||
fun testWasmD8Test() = testWasmTest("d8", "D8", useBinaryen = false)
|
||||
|
||||
@Test
|
||||
fun testWasmWithBinaryenD8Test() = testWasmTest("d8", "D8", useBinaryen = true)
|
||||
fun testWasmD8Test() = testWasmTest("d8", "D8")
|
||||
|
||||
@Test
|
||||
fun testResolveMetadataCompileClasspathKt50925() {
|
||||
|
||||
+78
@@ -118,6 +118,45 @@ internal fun getGroovyDependencyManagementBlock(
|
||||
includeModule("org.nodejs", "node")
|
||||
}
|
||||
}
|
||||
ivy {
|
||||
url = uri("https://nodejs.org/download/v8-canary")
|
||||
|
||||
patternLayout {
|
||||
artifact("v[revision]/[artifact](-v[revision]-[classifier]).[ext]")
|
||||
}
|
||||
metadataSources {
|
||||
artifact()
|
||||
}
|
||||
content {
|
||||
includeModule("org.nodejs", "node")
|
||||
}
|
||||
}
|
||||
ivy {
|
||||
url = uri("https://github.com/WebAssembly/binaryen/releases/download")
|
||||
|
||||
patternLayout {
|
||||
artifact("version_[revision]/binaryen-version_[revision]-[classifier].[ext]")
|
||||
}
|
||||
metadataSources {
|
||||
artifact()
|
||||
}
|
||||
content {
|
||||
includeModule("com.github.webassembly", "binaryen")
|
||||
}
|
||||
}
|
||||
ivy {
|
||||
url = uri("https://storage.googleapis.com/chromium-v8/official/canary")
|
||||
|
||||
patternLayout {
|
||||
artifact("[artifact]-[revision].[ext]")
|
||||
}
|
||||
metadataSources {
|
||||
artifact()
|
||||
}
|
||||
content {
|
||||
includeModule("google.d8", "v8")
|
||||
}
|
||||
}
|
||||
${additionalDependencyRepositories.map { repo -> "maven{ url = \"$repo\" }" }.joinToString("\n")}
|
||||
${localRepo?.absolutePathString()?.let { repo -> "maven{ url = \"${repo.replace("\\", "\\\\")}\" }" } ?: ""}
|
||||
}
|
||||
@@ -232,6 +271,45 @@ internal fun getKotlinDependencyManagementBlock(
|
||||
includeModule("org.nodejs", "node")
|
||||
}
|
||||
}
|
||||
ivy {
|
||||
url = uri("https://nodejs.org/download/v8-canary")
|
||||
|
||||
patternLayout {
|
||||
artifact("v[revision]/[artifact](-v[revision]-[classifier]).[ext]")
|
||||
}
|
||||
metadataSources {
|
||||
artifact()
|
||||
}
|
||||
content {
|
||||
includeModule("org.nodejs", "node")
|
||||
}
|
||||
}
|
||||
ivy {
|
||||
url = uri("https://github.com/WebAssembly/binaryen/releases/download")
|
||||
|
||||
patternLayout {
|
||||
artifact("version_[revision]/binaryen-version_[revision]-[classifier].[ext]")
|
||||
}
|
||||
metadataSources {
|
||||
artifact()
|
||||
}
|
||||
content {
|
||||
includeModule("com.github.webassembly", "binaryen")
|
||||
}
|
||||
}
|
||||
ivy {
|
||||
url = uri("https://storage.googleapis.com/chromium-v8/official/canary")
|
||||
|
||||
patternLayout {
|
||||
artifact("[artifact]-[revision].[ext]")
|
||||
}
|
||||
metadataSources {
|
||||
artifact()
|
||||
}
|
||||
content {
|
||||
includeModule("google.d8", "v8")
|
||||
}
|
||||
}
|
||||
maven {
|
||||
url = uri("https://packages.jetbrains.team/maven/p/ij/intellij-dependencies/")
|
||||
}
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ rootProject.plugins.withType(org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJ
|
||||
tasks.register("runWebpack", Exec) {
|
||||
dependsOn(tasks.named('browserProductionWebpack'))
|
||||
|
||||
executable(kotlinNodeJs.requireConfigured().nodeExecutable)
|
||||
executable(kotlinNodeJs.requireConfigured().executable)
|
||||
|
||||
workingDir = "${rootProject.buildDir}/js/packages/kotlin-js-dce-mainProject"
|
||||
args = ["../../node_modules/webpack/bin/webpack.js"]
|
||||
|
||||
-1
@@ -39,7 +39,6 @@ kotlin {
|
||||
}
|
||||
}
|
||||
}
|
||||
<ApplyBinaryen>
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
|
||||
Reference in New Issue
Block a user