[K/JS] Move JS IR box tests setup into separated function

This commit is contained in:
Artem Kobzar
2023-03-19 22:53:05 +00:00
committed by Space Team
parent d3200b2c65
commit 7a79de6d16
6 changed files with 69 additions and 76 deletions
@@ -1,7 +1,6 @@
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsCompilerAttribute
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages
import org.jetbrains.kotlin.gradle.targets.js.d8.D8RootPlugin
description = "Atomicfu Compiler Plugin"
@@ -105,43 +104,24 @@ runtimeJar()
sourcesJar()
javadocJar()
testsJar()
useD8Plugin()
projectTest(jUnitMode = JUnitMode.JUnit5) {
useJUnitPlatform()
useJsIrBoxTests(version = version, buildDir = "$buildDir/")
workingDir = rootDir
dependsOn(":dist")
dependsOn(atomicfuJsIrRuntimeForTests)
val localAtomicfuJsIrRuntimeForTests: FileCollection = atomicfuJsIrRuntimeForTests
val localAtomicfuJsClasspath: FileCollection = atomicfuJsClasspath
val localAtomicfuJvmClasspath: FileCollection = atomicfuJvmClasspath
doFirst {
systemProperty("atomicfuJsIrRuntimeForTests.classpath", localAtomicfuJsIrRuntimeForTests.asPath)
systemProperty("atomicfuJs.classpath", localAtomicfuJsClasspath.asPath)
systemProperty("atomicfuJvm.classpath", localAtomicfuJvmClasspath.asPath)
}
setUpJsIrBoxTests()
}
val d8Plugin = D8RootPlugin.apply(rootProject)
d8Plugin.version = v8Version
fun Test.setupV8() {
dependsOn(d8Plugin.setupTaskProvider)
val v8ExecutablePath = d8Plugin.requireConfigured().executablePath.absolutePath
doFirst {
systemProperty("javascript.engine.path.V8", v8ExecutablePath)
}
}
fun Test.setUpJsIrBoxTests() {
setupV8()
dependsOn(":dist")
dependsOn(":kotlin-stdlib-js-ir:compileKotlinJs")
systemProperty("kotlin.js.full.stdlib.path", "libraries/stdlib/js-ir/build/classes/kotlin/js/main")
dependsOn(":kotlin-stdlib-js-ir-minimal-for-test:compileKotlinJs")
systemProperty("kotlin.js.reduced.stdlib.path", "libraries/stdlib/js-ir-minimal-for-test/build/classes/kotlin/js/main")
dependsOn(":kotlin-test:kotlin-test-js-ir:compileKotlinJs")
systemProperty("kotlin.js.kotlin.test.path", "libraries/kotlin.test/js-ir/build/classes/kotlin/js/main")
systemProperty("kotlin.js.kotlin.test.path", "libraries/kotlin.test/js-ir/build/classes/kotlin/js/main")
systemProperty("kotlin.js.test.root.out.dir", "$buildDir/")
}
+2 -14
View File
@@ -1,6 +1,5 @@
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsCompilerAttribute
import org.jetbrains.kotlin.gradle.targets.js.d8.D8RootPlugin
description = "Kotlin Serialization Compiler Plugin"
@@ -9,9 +8,6 @@ plugins {
id("jps-compatible")
}
val d8Plugin = D8RootPlugin.apply(rootProject)
d8Plugin.version = v8Version
val jsonJsIrRuntimeForTests: Configuration by configurations.creating {
attributes {
attribute(KotlinPlatformType.attribute, KotlinPlatformType.js)
@@ -80,6 +76,7 @@ runtimeJar()
sourcesJar()
javadocJar()
testsJar()
useD8Plugin()
projectTest(parallel = true, jUnitMode = JUnitMode.JUnit5) {
workingDir = rootDir
@@ -90,22 +87,13 @@ projectTest(parallel = true, jUnitMode = JUnitMode.JUnit5) {
val generateTests by generator("org.jetbrains.kotlinx.serialization.TestGeneratorKt")
fun Test.setUpJsIrBoxTests() {
dependsOn(d8Plugin.setupTaskProvider)
dependsOn(":kotlin-stdlib-js-ir:compileKotlinJs")
dependsOn(":kotlin-test:kotlin-test-js-ir:compileKotlinJs")
useJsIrBoxTests(version = version, buildDir = "$buildDir/")
val localJsCoreRuntimeForTests: FileCollection = coreJsIrRuntimeForTests
val localJsJsonRuntimeForTests: FileCollection = jsonJsIrRuntimeForTests
val v8ExecutablePath = d8Plugin.requireConfigured().executablePath.absolutePath
doFirst {
systemProperty("javascript.engine.path.V8", v8ExecutablePath)
systemProperty("serialization.core.path", localJsCoreRuntimeForTests.asPath)
systemProperty("serialization.json.path", localJsJsonRuntimeForTests.asPath)
}
systemProperty("kotlin.js.test.root.out.dir", "$buildDir/")
systemProperty("kotlin.js.full.stdlib.path", "libraries/stdlib/js-ir/build/classes/kotlin/js/main")
systemProperty("kotlin.js.reduced.stdlib.path", "libraries/stdlib/js-ir-minimal-for-test/build/classes/kotlin/js/main")
systemProperty("kotlin.js.kotlin.test.path", "libraries/kotlin.test/js-ir/build/classes/kotlin/js/main")
}