From 69a87efdd96794041130c5da68efa0e4e57c2169 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Wed, 22 Mar 2023 05:29:10 +0100 Subject: [PATCH] js.tests: change paths to kotlin-stdlib-js.klib Change the expected klib name of stdlib KT-56106 --- .../build.gradle.kts | 1 - compiler/testData/cli/js/fir.args | 2 +- compiler/testData/cli/js/firLightTreeOn.args | 2 +- compiler/testData/cli/js/firMpp.args | 2 +- compiler/testData/cli/js/firMppWithKlib.args | 2 +- compiler/testData/cli/js/successfulHmpp.args | 2 +- compiler/tests-against-klib/build.gradle.kts | 2 +- .../ir/AbstractIrCompileKotlinAgainstKlibTest.kt | 2 +- .../kotlin/klib/AbstractKlibIrTextTestCase.kt | 2 +- .../jetbrains/kotlin/klib/FilePathsInKlibTest.kt | 2 +- jps/jps-plugin/build.gradle.kts | 2 +- js/js.tests/build.gradle.kts | 16 ++++++++-------- .../incremental/AbstractInvalidationTest.kt | 2 +- .../test/ir/AbstractJsPartialLinkageTestCase.kt | 2 +- libraries/stdlib/build.gradle.kts | 7 +++++++ .../src/main/kotlin/setupIrJsBoxTests.kt | 7 ++++--- 16 files changed, 31 insertions(+), 24 deletions(-) diff --git a/compiler/incremental-compilation-impl/build.gradle.kts b/compiler/incremental-compilation-impl/build.gradle.kts index a6c35a63368..2211cd8635b 100644 --- a/compiler/incremental-compilation-impl/build.gradle.kts +++ b/compiler/incremental-compilation-impl/build.gradle.kts @@ -43,7 +43,6 @@ sourceSets { projectTest(parallel = true) { workingDir = rootDir - dependsOn(":kotlin-stdlib-js-ir:packFullRuntimeKLib") useJsIrBoxTests(version = version, buildDir = "$buildDir/") } diff --git a/compiler/testData/cli/js/fir.args b/compiler/testData/cli/js/fir.args index 1ebd6d9b7b2..af25dc66c28 100644 --- a/compiler/testData/cli/js/fir.args +++ b/compiler/testData/cli/js/fir.args @@ -6,4 +6,4 @@ $TEMP_DIR$ -ir-output-name fir -libraries -libraries/stdlib/js-ir/build/classes/kotlin/js/main +libraries/stdlib/build/classes/kotlin/js/main diff --git a/compiler/testData/cli/js/firLightTreeOn.args b/compiler/testData/cli/js/firLightTreeOn.args index 80df6bc0ead..24c3ba88223 100644 --- a/compiler/testData/cli/js/firLightTreeOn.args +++ b/compiler/testData/cli/js/firLightTreeOn.args @@ -7,4 +7,4 @@ $TEMP_DIR$ -ir-output-name fir -libraries -libraries/stdlib/js-ir/build/classes/kotlin/js/main +libraries/stdlib/build/classes/kotlin/js/main diff --git a/compiler/testData/cli/js/firMpp.args b/compiler/testData/cli/js/firMpp.args index 9b0825493a4..8a2eb98fbaa 100644 --- a/compiler/testData/cli/js/firMpp.args +++ b/compiler/testData/cli/js/firMpp.args @@ -9,4 +9,4 @@ $TEMP_DIR$ firMpp -XXLanguage\:+MultiPlatformProjects -libraries -libraries/stdlib/js-ir/build/classes/kotlin/js/main +libraries/stdlib/build/classes/kotlin/js/main diff --git a/compiler/testData/cli/js/firMppWithKlib.args b/compiler/testData/cli/js/firMppWithKlib.args index 04d50a2ee19..66bd43f7c4c 100644 --- a/compiler/testData/cli/js/firMppWithKlib.args +++ b/compiler/testData/cli/js/firMppWithKlib.args @@ -10,4 +10,4 @@ firMppWithKlib -XXLanguage\:+MultiPlatformProjects -Xir-produce-klib-file=true -libraries -libraries/stdlib/js-ir/build/classes/kotlin/js/main +libraries/stdlib/build/classes/kotlin/js/main diff --git a/compiler/testData/cli/js/successfulHmpp.args b/compiler/testData/cli/js/successfulHmpp.args index a84787b3f82..527f07a8e35 100644 --- a/compiler/testData/cli/js/successfulHmpp.args +++ b/compiler/testData/cli/js/successfulHmpp.args @@ -15,4 +15,4 @@ fir-hmpp -Xfragment-refines=b\:a -Xfragment-refines=c\:b -libraries -libraries/stdlib/js-ir/build/classes/kotlin/js/main +libraries/stdlib/build/classes/kotlin/js/main diff --git a/compiler/tests-against-klib/build.gradle.kts b/compiler/tests-against-klib/build.gradle.kts index 9e94482bf7d..3267f80086c 100644 --- a/compiler/tests-against-klib/build.gradle.kts +++ b/compiler/tests-against-klib/build.gradle.kts @@ -23,7 +23,7 @@ sourceSets { testsJar {} projectTest(parallel = true) { - dependsOn(":kotlin-stdlib-js-ir:compileKotlinJs") + dependsOn(":kotlin-stdlib:jsJar") workingDir = rootDir systemProperty("kotlin.test.script.classpath", testSourceSet.output.classesDirs.joinToString(File.pathSeparator)) } diff --git a/compiler/tests-against-klib/tests/org/jetbrains/kotlin/codegen/ir/AbstractIrCompileKotlinAgainstKlibTest.kt b/compiler/tests-against-klib/tests/org/jetbrains/kotlin/codegen/ir/AbstractIrCompileKotlinAgainstKlibTest.kt index 8afb60e9c67..21144e06614 100644 --- a/compiler/tests-against-klib/tests/org/jetbrains/kotlin/codegen/ir/AbstractIrCompileKotlinAgainstKlibTest.kt +++ b/compiler/tests-against-klib/tests/org/jetbrains/kotlin/codegen/ir/AbstractIrCompileKotlinAgainstKlibTest.kt @@ -78,7 +78,7 @@ abstract class AbstractCompileKotlinAgainstKlibTest : AbstractBlackBoxCodegenTes listOf( "-output", klibName, "-Xir-produce-klib-file", - "-libraries", "libraries/stdlib/js-ir/build/classes/kotlin/js/main/" + "-libraries", "libraries/stdlib/build/classes/kotlin/js/main/" ) + sourceFiles ) if (exitCode != ExitCode.OK) { diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/klib/AbstractKlibIrTextTestCase.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/klib/AbstractKlibIrTextTestCase.kt index 575c45ca04f..1a5debf02a7 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/klib/AbstractKlibIrTextTestCase.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/klib/AbstractKlibIrTextTestCase.kt @@ -240,7 +240,7 @@ abstract class AbstractKlibIrTextTestCase : CodegenTestCase() { return result.getFullList(TopologicalLibraryOrder) } - private val runtimeKlibPath = "libraries/stdlib/js-ir/build/classes/kotlin/js/main" + private val runtimeKlibPath = "libraries/stdlib/build/classes/kotlin/js/main" private fun buildFragmentAndLinkIt(stdlib: KotlinLibrary, ignoreErrors: Boolean, expectActualSymbols: MutableMap): Pair { return generateIrModule(stdlib, ignoreErrors, expectActualSymbols) diff --git a/compiler/tests/org/jetbrains/kotlin/klib/FilePathsInKlibTest.kt b/compiler/tests/org/jetbrains/kotlin/klib/FilePathsInKlibTest.kt index 719a0985e01..e6d8c0a28a6 100644 --- a/compiler/tests/org/jetbrains/kotlin/klib/FilePathsInKlibTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/klib/FilePathsInKlibTest.kt @@ -45,7 +45,7 @@ class FilePathsInKlibTest : CodegenTestCase() { return psiManager.findDirectory(vDirectory)?.files?.map { it as KtFile } ?: error("Cannot load KtFiles") } - private val runtimeKlibPath = "libraries/stdlib/js-ir/build/classes/kotlin/js/main" + private val runtimeKlibPath = "libraries/stdlib/build/classes/kotlin/js/main" private fun analyseKtFiles(configuration: CompilerConfiguration, ktFiles: List): ModulesStructure { return prepareAnalyzedSourceModule( diff --git a/jps/jps-plugin/build.gradle.kts b/jps/jps-plugin/build.gradle.kts index 3091a1bbefc..071230a423a 100644 --- a/jps/jps-plugin/build.gradle.kts +++ b/jps/jps-plugin/build.gradle.kts @@ -111,7 +111,7 @@ projectTest(parallel = true) { // do not replace with compile/runtime dependency, // because it forces Intellij reindexing after each compiler change dependsOn(":kotlin-compiler:dist") - dependsOn(":kotlin-stdlib-js-ir:packFullRuntimeKLib") + dependsOn(":kotlin-stdlib:jsJarForTests") workingDir = rootDir } diff --git a/js/js.tests/build.gradle.kts b/js/js.tests/build.gradle.kts index 69f5b50e505..ba21e55286e 100644 --- a/js/js.tests/build.gradle.kts +++ b/js/js.tests/build.gradle.kts @@ -242,12 +242,12 @@ fun Test.setUpJsBoxTests(jsEnabled: Boolean, jsIrEnabled: Boolean, firEnabled: B } if (jsIrEnabled) { - dependsOn(":kotlin-stdlib-js-ir:compileKotlinJs") - systemProperty("kotlin.js.full.stdlib.path", "libraries/stdlib/js-ir/build/classes/kotlin/js/main") - inputs.dir(rootDir.resolve("libraries/stdlib/js-ir/build/classes/kotlin/js/main")) + dependsOn(":kotlin-stdlib:jsJar") + systemProperty("kotlin.js.full.stdlib.path", "libraries/stdlib/build/classes/kotlin/js/main") + inputs.dir(rootDir.resolve("libraries/stdlib/build/classes/kotlin/js/main")) - systemProperty("kotlin.js.stdlib.klib.path", "libraries/stdlib/js-ir/build/libs/kotlin-stdlib-js-ir-js-$version.klib") - inputs.file(rootDir.resolve("libraries/stdlib/js-ir/build/libs/kotlin-stdlib-js-ir-js-$version.klib")) + systemProperty("kotlin.js.stdlib.klib.path", "libraries/stdlib/build/libs/kotlin-stdlib-js-$version.klib") + inputs.file(rootDir.resolve("libraries/stdlib/build/libs/kotlin-stdlib-js-$version.klib")) 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") @@ -408,9 +408,9 @@ projectTest("jsStdlibApiTest", parallel = true, maxHeapSizeMb = 4096) { include("org/jetbrains/kotlin/js/testOld/api/*") inputs.dir(rootDir.resolve("libraries/stdlib/api/js")) - dependsOn(":kotlin-stdlib-js-ir:compileKotlinJs") - systemProperty("kotlin.js.full.stdlib.path", "libraries/stdlib/js-ir/build/classes/kotlin/js/main") - inputs.dir(rootDir.resolve("libraries/stdlib/js-ir/build/classes/kotlin/js/main")) + dependsOn(":kotlin-stdlib:jsJar") + systemProperty("kotlin.js.full.stdlib.path", "libraries/stdlib/build/classes/kotlin/js/main") + inputs.dir(rootDir.resolve("libraries/stdlib/build/classes/kotlin/js/main")) setTestNameIncludePatterns(listOf("org.jetbrains.kotlin.js.testOld.api.ApiTest.*")) diff --git a/js/js.tests/test/org/jetbrains/kotlin/incremental/AbstractInvalidationTest.kt b/js/js.tests/test/org/jetbrains/kotlin/incremental/AbstractInvalidationTest.kt index c0f521942bc..a7fd6965682 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/incremental/AbstractInvalidationTest.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/incremental/AbstractInvalidationTest.kt @@ -59,7 +59,7 @@ abstract class AbstractInvalidationTest( private val STDLIB_KLIB = File(System.getProperty("kotlin.js.stdlib.klib.path") ?: error("Please set stdlib path")).canonicalPath private const val BOX_FUNCTION_NAME = "box" - private const val STDLIB_MODULE_NAME = "kotlin-kotlin-stdlib-js-ir" + private const val STDLIB_MODULE_NAME = "kotlin-kotlin-stdlib" private val TEST_FILE_IGNORE_PATTERN = Regex("^.*\\..+\\.\\w\\w$") diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/AbstractJsPartialLinkageTestCase.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/AbstractJsPartialLinkageTestCase.kt index 89ddf7e4b3e..9137a0792a3 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/AbstractJsPartialLinkageTestCase.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/AbstractJsPartialLinkageTestCase.kt @@ -46,7 +46,7 @@ abstract class AbstractJsPartialLinkageTestCase(private val compilerType: Compil private inner class JsTestConfiguration(testPath: String) : PartialLinkageTestUtils.TestConfiguration { override val testDir: File = File(testPath).absoluteFile override val buildDir: File get() = this@AbstractJsPartialLinkageTestCase.buildDir - override val stdlibFile: File get() = File("libraries/stdlib/js-ir/build/classes/kotlin/js/main").absoluteFile + override val stdlibFile: File get() = File("libraries/stdlib/build/classes/kotlin/js/main").absoluteFile override val testModeConstructorParameters = mapOf("isJs" to "true") override fun customizeModuleSources(moduleName: String, moduleSourceDir: File) { diff --git a/libraries/stdlib/build.gradle.kts b/libraries/stdlib/build.gradle.kts index 9672b673e3f..5a478342ac7 100644 --- a/libraries/stdlib/build.gradle.kts +++ b/libraries/stdlib/build.gradle.kts @@ -626,6 +626,13 @@ tasks { manifest.attributes(mapOf("Implementation-Title" to "kotlin-stdlib-js")) } + val jsJarForTests by registering(Copy::class) { + from(jsJar) + rename { _ -> "full-runtime.klib" } + // some tests expect stdlib-js klib in this location + into(rootProject.buildDir.resolve("js-ir-runtime")) + } + val jsV1Jar by existing(Jar::class) { val jsResultingJarFile = jsResultingJar.get().archiveFile inputs.file(jsResultingJarFile) diff --git a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/setupIrJsBoxTests.kt b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/setupIrJsBoxTests.kt index 507546c9284..e5d7c6a6f70 100644 --- a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/setupIrJsBoxTests.kt +++ b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/setupIrJsBoxTests.kt @@ -7,12 +7,13 @@ import org.gradle.api.tasks.testing.Test fun Test.useJsIrBoxTests( version: Any, buildDir: String = "", - fullStdLib: String = "libraries/stdlib/js-ir/build/classes/kotlin/js/main", + fullStdLib: String = "libraries/stdlib/build/classes/kotlin/js/main", reducedStdlibPath: String = "libraries/stdlib/js-ir-minimal-for-test/build/classes/kotlin/js/main", kotlinJsTestPath: String = "libraries/kotlin.test/js-ir/build/classes/kotlin/js/main" ) { setupV8() - dependsOn(":kotlin-stdlib-js-ir:compileKotlinJs") + dependsOn(":kotlin-stdlib:jsJar") + dependsOn(":kotlin-stdlib:jsJarForTests") // TODO: think how to remove dependency on the artifact in this place dependsOn(":kotlin-test:kotlin-test-js-ir:compileKotlinJs") dependsOn(":kotlin-stdlib-js-ir-minimal-for-test:compileKotlinJs") @@ -20,5 +21,5 @@ fun Test.useJsIrBoxTests( systemProperty("kotlin.js.full.stdlib.path", fullStdLib) systemProperty("kotlin.js.reduced.stdlib.path", reducedStdlibPath) systemProperty("kotlin.js.kotlin.test.path", kotlinJsTestPath) - systemProperty("kotlin.js.stdlib.klib.path", "libraries/stdlib/js-ir/build/libs/kotlin-stdlib-js-ir-js-$version.klib") + systemProperty("kotlin.js.stdlib.klib.path", "libraries/stdlib/build/libs/kotlin-stdlib-js-$version.klib") } \ No newline at end of file