From fbf06b549532bcc423b0616c046f1baf5c20315b Mon Sep 17 00:00:00 2001 From: Artem Kobzar Date: Thu, 29 Dec 2022 13:32:01 +0000 Subject: [PATCH] [K/JS] Add a secret system property to enable the old Kotlin/JS compiler only for tests until it will be removed from the sources --- .../jetbrains/kotlin/cli/common/Properties.kt | 3 ++- .../common/arguments/K2JSCompilerArguments.kt | 3 ++- .../jetbrains/kotlin/cli/js/K2JSCompiler.java | 2 +- ...AbstractIncrementalJsCompilerRunnerTest.kt | 3 +++ ...rementalMultiModuleJsCompilerRunnerTest.kt | 3 +++ ...dBackend.args => jsOldBackend_strict.args} | 0 ...OldBackend.out => jsOldBackend_strict.out} | 0 .../jetbrains/kotlin/cli/AbstractCliTest.java | 7 +++++++ .../AbstractKotlinCompilerIntegrationTest.kt | 3 +++ .../kotlin/cli/CliTestGenerated.java | 6 +++--- .../cli/AnalysisHandlerExtensionTest.kt | 7 +++++++ .../kotlin/cli/LauncherScriptTest.kt | 8 ++++++- .../CompileKotlinAgainstCustomBinariesTest.kt | 21 +++++++++++++++++-- .../AbstractMultiPlatformIntegrationTest.kt | 3 +++ .../jps/build/AbstractLookupTrackerTest.kt | 3 +++ .../jps/build/BaseKotlinJpsBuildTestCase.kt | 2 ++ .../jps/build/KotlinJpsBuildTestBase.kt | 3 +++ .../AbstractJsProtoComparisonTest.kt | 3 +++ .../differentClassloaders/gradle.properties | 3 ++- .../gradle.properties | 1 + .../gradle.properties | 3 ++- .../my-lib-foo/gradle.properties | 3 ++- .../third-party-lib/gradle.properties | 1 + .../js-composite-build/gradle.properties | 1 + .../gradle.properties | 1 + .../gradle.properties | 1 + .../gradle.properties | 1 + .../gradle.properties | 3 ++- .../gradle.properties | 1 + .../kotlin-js-compiler-warn/gradle.properties | 1 + .../kotlin-js-dce/gradle.properties | 1 + .../gradle.properties | 1 + .../gradle.properties | 1 + .../gradle.properties | 3 ++- .../gradle.properties | 3 ++- .../gradle.properties | 1 + .../gradle.properties | 1 + .../gradle.properties | 3 ++- .../gradle.properties | 1 + .../gradle.properties | 1 + .../kotlin2JsICProject/gradle.properties | 1 + .../kotlin2JsInternalTest/gradle.properties | 1 + .../kotlin2JsModuleKind/gradle.properties | 1 + .../gradle.properties | 1 + .../kotlin2JsProject/gradle.properties | 1 + .../gradle.properties | 1 + .../gradle.properties | 1 + .../gradle.properties | 1 + .../npm-dependencies/gradle.properties | 1 + 49 files changed, 109 insertions(+), 16 deletions(-) rename compiler/testData/cli/js/{jsOldBackend.args => jsOldBackend_strict.args} (100%) rename compiler/testData/cli/js/{jsOldBackend.out => jsOldBackend_strict.out} (100%) create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/hierarchical-mpp-with-js-published-modules/third-party-lib/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-composite-build/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-dynamic-webpack-config-d/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable-browser-nodejs/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-library-with-executable/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-browser-project/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-compiler-warn/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-dce/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-dependency-with-js-files/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-nodejs-custom-node-module/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-project-with-test-dependencies/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-test-webpack-config/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-yarn-resolutions/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-mpp-classpathMode/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin2JsICProject/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin2JsInternalTest/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin2JsModuleKind/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin2JsNoOutputFileProject/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin2JsProject/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin2JsProjectWithCustomSourceset/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin2JsProjectWithSourceMap/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin2JsProjectWithTests/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/npm-dependencies/gradle.properties diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/Properties.kt b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/Properties.kt index 0ef60f1ac2d..a8734b8d934 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/Properties.kt +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/Properties.kt @@ -55,7 +55,8 @@ enum class CompilerSystemProperties(val property: String, val alwaysDirectAccess USER_HOME("user.home", alwaysDirectAccess = true), JAVA_VERSION("java.specification.version", alwaysDirectAccess = true), JAVA_HOME("java.home", alwaysDirectAccess = true), - JAVA_CLASS_PATH("java.class.path", alwaysDirectAccess = true) + JAVA_CLASS_PATH("java.class.path", alwaysDirectAccess = true), + KOTLIN_JS_COMPILER_LEGACY_FORCE_ENABLED("kotlin.js.compiler.legacy.force_enabled", alwaysDirectAccess = true) ; private fun getProperFunction(custom: T?, default: T): T { diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JSCompilerArguments.kt b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JSCompilerArguments.kt index 5b009b240f7..9bc4e7ddb51 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JSCompilerArguments.kt +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JSCompilerArguments.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.cli.common.arguments +import org.jetbrains.kotlin.cli.common.CompilerSystemProperties import org.jetbrains.kotlin.cli.common.arguments.K2JsArgumentConstants.* import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector @@ -365,7 +366,7 @@ class K2JSCompilerArguments : CommonCompilerArguments() { collector.deprecationWarn(irBaseClassInMetadata, false, "-Xir-base-class-in-metadata") collector.deprecationWarn(irNewIr2Js, true, "-Xir-new-ir2js") - if (languageVersion >= LanguageVersion.KOTLIN_1_9) { + if (languageVersion >= LanguageVersion.KOTLIN_1_9 && CompilerSystemProperties.KOTLIN_JS_COMPILER_LEGACY_FORCE_ENABLED.value != "true") { collector.deprecationWarn(legacyDeprecatedNoWarn, false, "-Xlegacy-deprecated-no-warn") collector.deprecationWarn(useDeprecatedLegacyCompiler, false, "-Xuse-deprecated-legacy-compiler") } diff --git a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JSCompiler.java b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JSCompiler.java index ccb680af87f..87ae56253f4 100644 --- a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JSCompiler.java +++ b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JSCompiler.java @@ -184,7 +184,7 @@ public class K2JSCompiler extends CLICompiler { LanguageVersionSettings languageVersionSettings = CommonConfigurationKeysKt.getLanguageVersionSettings(configuration); - if (languageVersionSettings.getLanguageVersion().compareTo(LanguageVersion.KOTLIN_1_9) >= 0) { + if (CompilerSystemProperties.KOTLIN_JS_COMPILER_LEGACY_FORCE_ENABLED.getValue() != "true" && languageVersionSettings.getLanguageVersion().compareTo(LanguageVersion.KOTLIN_1_9) >= 0) { messageCollector.report(ERROR, "Old Kotlin/JS compiler is no longer supported. Please migrate to the new JS IR backend", null); return COMPILATION_ERROR; } diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalJsCompilerRunnerTest.kt b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalJsCompilerRunnerTest.kt index 0d59e6f82b1..a518119f7e6 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalJsCompilerRunnerTest.kt +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalJsCompilerRunnerTest.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.incremental +import org.jetbrains.kotlin.cli.common.CompilerSystemProperties import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments import org.jetbrains.kotlin.incremental.testingUtils.BuildLogFinder import org.jetbrains.kotlin.incremental.utils.TestCompilationResult @@ -43,6 +44,8 @@ abstract class AbstractIncrementalJsCompilerRunnerTest : AbstractIncrementalComp sourceMap = true metaInfo = true useDeprecatedLegacyCompiler = true + // TODO: It will be deleted after all of our internal vendors will use the new Kotlin/JS compiler + CompilerSystemProperties.KOTLIN_JS_COMPILER_LEGACY_FORCE_ENABLED.value = "true" } protected open val scopeExpansionMode = CompileScopeExpansionMode.NEVER diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalMultiModuleJsCompilerRunnerTest.kt b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalMultiModuleJsCompilerRunnerTest.kt index 6f02d91cedc..eea2b292d6d 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalMultiModuleJsCompilerRunnerTest.kt +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalMultiModuleJsCompilerRunnerTest.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.incremental import org.jetbrains.kotlin.build.report.ICReporter +import org.jetbrains.kotlin.cli.common.CompilerSystemProperties import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.incremental.multiproject.ModulesApiHistoryJs @@ -29,6 +30,8 @@ abstract class AbstractIncrementalMultiModuleJsCompilerRunnerTest : sourceMap = true metaInfo = true useDeprecatedLegacyCompiler = true + // TODO: It will be deleted after all of our internal vendors will use the new Kotlin/JS compiler + CompilerSystemProperties.KOTLIN_JS_COMPILER_LEGACY_FORCE_ENABLED.value = "true" } override fun makeForSingleModule( diff --git a/compiler/testData/cli/js/jsOldBackend.args b/compiler/testData/cli/js/jsOldBackend_strict.args similarity index 100% rename from compiler/testData/cli/js/jsOldBackend.args rename to compiler/testData/cli/js/jsOldBackend_strict.args diff --git a/compiler/testData/cli/js/jsOldBackend.out b/compiler/testData/cli/js/jsOldBackend_strict.out similarity index 100% rename from compiler/testData/cli/js/jsOldBackend.out rename to compiler/testData/cli/js/jsOldBackend_strict.out diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/cli/AbstractCliTest.java b/compiler/tests-common/tests/org/jetbrains/kotlin/cli/AbstractCliTest.java index 0b6eb1b902c..a8897b0360e 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/cli/AbstractCliTest.java +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/cli/AbstractCliTest.java @@ -286,13 +286,20 @@ public abstract class AbstractCliTest extends TestCaseWithTmpdir { } protected void doJsTest(@NotNull String fileName) { + setupOldJsCompiler(fileName); doTest(fileName, new K2JSCompiler()); } protected void doJsDceTest(@NotNull String fileName) { + setupOldJsCompiler(fileName); doTest(fileName, new K2JSDce()); } + private void setupOldJsCompiler(String fileName) { + if (fileName == null) return; + CompilerSystemProperties.KOTLIN_JS_COMPILER_LEGACY_FORCE_ENABLED.setValue(Boolean.toString(!fileName.contains("_strict"))); + } + protected void doMetadataTest(@NotNull String fileName) { doTest(fileName, new K2MetadataCompiler()); } diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/jvm/compiler/AbstractKotlinCompilerIntegrationTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/jvm/compiler/AbstractKotlinCompilerIntegrationTest.kt index 05c145d94a1..0876a49e7ec 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/jvm/compiler/AbstractKotlinCompilerIntegrationTest.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/jvm/compiler/AbstractKotlinCompilerIntegrationTest.kt @@ -20,6 +20,7 @@ import com.intellij.openapi.util.io.FileUtil import com.intellij.util.io.ZipUtil import org.jetbrains.kotlin.cli.AbstractCliTest import org.jetbrains.kotlin.cli.common.CLICompiler +import org.jetbrains.kotlin.cli.common.CompilerSystemProperties import org.jetbrains.kotlin.cli.common.ExitCode import org.jetbrains.kotlin.cli.js.K2JSCompiler import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler @@ -167,6 +168,8 @@ abstract class AbstractKotlinCompilerIntegrationTest : TestCaseWithTmpdir() { args.add("-output") args.add(output.path) args.add("-meta-info") + // TODO: It will be deleted after all of our internal vendors will use the new Kotlin/JS compiler + CompilerSystemProperties.KOTLIN_JS_COMPILER_LEGACY_FORCE_ENABLED.value = "true" } else if (compiler is K2JVMCompiler || compiler is K2MetadataCompiler) { if (classpath.isNotEmpty()) { args.add("-classpath") diff --git a/compiler/tests-gen/org/jetbrains/kotlin/cli/CliTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/cli/CliTestGenerated.java index 8be68e2b86d..248960f68f5 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/cli/CliTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/cli/CliTestGenerated.java @@ -1205,9 +1205,9 @@ public class CliTestGenerated extends AbstractCliTest { runTest("compiler/testData/cli/js/jsHelp.args"); } - @TestMetadata("jsOldBackend.args") - public void testJsOldBackend() throws Exception { - runTest("compiler/testData/cli/js/jsOldBackend.args"); + @TestMetadata("jsOldBackend_strict.args") + public void testJsOldBackend_strict() throws Exception { + runTest("compiler/testData/cli/js/jsOldBackend_strict.args"); } @TestMetadata("kotlinHomeWithoutStdlib.args") diff --git a/compiler/tests/org/jetbrains/kotlin/cli/AnalysisHandlerExtensionTest.kt b/compiler/tests/org/jetbrains/kotlin/cli/AnalysisHandlerExtensionTest.kt index 484e97479a3..15a71431805 100644 --- a/compiler/tests/org/jetbrains/kotlin/cli/AnalysisHandlerExtensionTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/cli/AnalysisHandlerExtensionTest.kt @@ -11,6 +11,7 @@ import com.intellij.mock.MockProject import com.intellij.openapi.project.Project import org.jetbrains.kotlin.analyzer.AnalysisResult import org.jetbrains.kotlin.cli.common.CLITool +import org.jetbrains.kotlin.cli.common.CompilerSystemProperties import org.jetbrains.kotlin.cli.common.ExitCode import org.jetbrains.kotlin.cli.js.K2JSCompiler import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler @@ -70,6 +71,12 @@ class AnalysisHandlerExtensionTest : TestCaseWithTmpdir() { listOf("-Xuse-deprecated-legacy-compiler", "-output", tmpdir.resolve("out.js").absolutePath) else listOf("-d", tmpdir.resolve("out").absolutePath) + + if (compiler is K2JSCompiler) { + // TODO: It will be deleted after all of our internal vendors will use the new Kotlin/JS compiler + CompilerSystemProperties.KOTLIN_JS_COMPILER_LEGACY_FORCE_ENABLED.value = "true" + } + val (output, exitCode) = CompilerTestUtil.executeCompiler(compiler, args + outputPath + extras) assertEquals(expectedExitCode, exitCode, output) } diff --git a/compiler/tests/org/jetbrains/kotlin/cli/LauncherScriptTest.kt b/compiler/tests/org/jetbrains/kotlin/cli/LauncherScriptTest.kt index 5705f4e0fed..169f42cf1f1 100644 --- a/compiler/tests/org/jetbrains/kotlin/cli/LauncherScriptTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/cli/LauncherScriptTest.kt @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.cli import com.intellij.openapi.util.SystemInfo import com.intellij.openapi.util.text.StringUtil +import org.jetbrains.kotlin.cli.common.CompilerSystemProperties import org.jetbrains.kotlin.cli.common.ExitCode import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler import org.jetbrains.kotlin.test.KotlinTestUtils @@ -142,7 +143,12 @@ class LauncherScriptTest : TestCaseWithTmpdir() { runProcess( "kotlinc-js", "$testDataDirectory/emptyMain.kt", - "-Xlegacy-deprecated-no-warn", "-Xuse-deprecated-legacy-compiler", "-output", File(tmpdir, "out.js").path + "-nowarn", + "-Xlegacy-deprecated-no-warn", + "-Xuse-deprecated-legacy-compiler", + "-D${CompilerSystemProperties.KOTLIN_JS_COMPILER_LEGACY_FORCE_ENABLED.property}=true", + "-output", + File(tmpdir, "out.js").path, ) } diff --git a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.kt b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.kt index 49bc063f192..d85f69f0d6a 100644 --- a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.jvm.compiler import com.intellij.openapi.util.io.FileUtil import org.jetbrains.kotlin.cli.common.CLICompiler +import org.jetbrains.kotlin.cli.common.CompilerSystemProperties import org.jetbrains.kotlin.cli.common.ExitCode import org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport import org.jetbrains.kotlin.cli.common.messages.MessageRenderer @@ -101,7 +102,13 @@ class CompileKotlinAgainstCustomBinariesTest : AbstractKotlinCompilerIntegration private fun doTestKotlinLibraryWithWrongMetadataVersionJs(libraryName: String, vararg additionalOptions: String) { val library = compileJsLibrary(libraryName, additionalOptions = listOf("-Xmetadata-version=42.0.0")) - compileKotlin("source.kt", File(tmpdir, "usage.js"), listOf(library), K2JSCompiler(), additionalOptions.toList()) + compileKotlin( + "source.kt", + File(tmpdir, "usage.js"), + listOf(library), + K2JSCompiler(), + additionalOptions.toList() + ) } private fun doTestPreReleaseKotlinLibrary( @@ -130,6 +137,11 @@ class CompileKotlinAgainstCustomBinariesTest : AbstractKotlinCompilerIntegration else -> throw UnsupportedOperationException(compiler.toString()) } + if (compiler is K2JSCompiler) { + // TODO: It will be deleted after all of our internal vendors will use the new Kotlin/JS compiler + CompilerSystemProperties.KOTLIN_JS_COMPILER_LEGACY_FORCE_ENABLED.value = "true" + } + compileKotlin( "source.kt", usageDestination, listOf(result), compiler, additionalOptions.toList() + listOf("-language-version", LanguageVersion.LATEST_STABLE.versionString) @@ -590,7 +602,12 @@ class CompileKotlinAgainstCustomBinariesTest : AbstractKotlinCompilerIntegration } fun testInternalFromForeignModuleJs() { - compileKotlin("source.kt", File(tmpdir, "usage.js"), listOf(compileJsLibrary("library")), K2JSCompiler()) + compileKotlin( + "source.kt", + File(tmpdir, "usage.js"), + listOf(compileJsLibrary("library")), + K2JSCompiler(), + ) } fun testInternalFromFriendModuleJs() { diff --git a/compiler/tests/org/jetbrains/kotlin/multiplatform/AbstractMultiPlatformIntegrationTest.kt b/compiler/tests/org/jetbrains/kotlin/multiplatform/AbstractMultiPlatformIntegrationTest.kt index 5d04115949f..cedb601b77b 100644 --- a/compiler/tests/org/jetbrains/kotlin/multiplatform/AbstractMultiPlatformIntegrationTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/multiplatform/AbstractMultiPlatformIntegrationTest.kt @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.multiplatform import org.jetbrains.kotlin.cli.AbstractCliTest import org.jetbrains.kotlin.cli.common.CLICompiler +import org.jetbrains.kotlin.cli.common.CompilerSystemProperties import org.jetbrains.kotlin.cli.js.K2JSCompiler import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler import org.jetbrains.kotlin.cli.metadata.K2MetadataCompiler @@ -65,6 +66,8 @@ abstract class AbstractMultiPlatformIntegrationTest : KtUsefulTestCase() { if (jsSrc != null) { appendLine() appendLine("-- JS --") + // TODO: It will be deleted after all of our internal vendors will use the new Kotlin/JS compiler + CompilerSystemProperties.KOTLIN_JS_COMPILER_LEGACY_FORCE_ENABLED.value = "true" appendLine(K2JSCompiler().compile(jsSrc, commonSrc, "-Xuse-deprecated-legacy-compiler", "-output", jsDest!!)) } diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt index 220998de4e4..3a64919770f 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt @@ -11,6 +11,7 @@ import com.intellij.util.ThrowableRunnable import com.intellij.util.containers.Interner import org.jetbrains.kotlin.TestWithWorkingDir import org.jetbrains.kotlin.build.JvmSourceRoot +import org.jetbrains.kotlin.cli.common.CompilerSystemProperties import org.jetbrains.kotlin.cli.common.ExitCode import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments @@ -168,6 +169,8 @@ abstract class AbstractJsLookupTrackerTest : AbstractLookupTrackerTest() { reportOutputFiles = true freeArgs = filesToCompile.map { it.canonicalPath } useDeprecatedLegacyCompiler = true + // TODO: It will be deleted after all of our internal vendors will use the new Kotlin/JS compiler + CompilerSystemProperties.KOTLIN_JS_COMPILER_LEGACY_FORCE_ENABLED.value = "true" } configureAdditionalArgs(args) return runJSCompiler(args, env) diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/BaseKotlinJpsBuildTestCase.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/BaseKotlinJpsBuildTestCase.kt index 4fb21f1cbb9..6b2839f5328 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/BaseKotlinJpsBuildTestCase.kt +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/BaseKotlinJpsBuildTestCase.kt @@ -27,6 +27,7 @@ import org.jetbrains.jps.model.library.JpsLibrary import org.jetbrains.jps.model.library.JpsOrderRootType import org.jetbrains.jps.model.library.sdk.JpsSdk import org.jetbrains.jps.util.JpsPathUtil +import org.jetbrains.kotlin.cli.common.CompilerSystemProperties import org.jetbrains.kotlin.compilerRunner.JpsKotlinCompilerRunner import org.jetbrains.kotlin.test.WithMutedInDatabaseRunTest import org.jetbrains.kotlin.test.runTest @@ -36,6 +37,7 @@ abstract class BaseKotlinJpsBuildTestCase : JpsBuildTestCase() { override fun setUp() { super.setUp() System.setProperty("kotlin.jps.tests", "true") + CompilerSystemProperties.KOTLIN_JS_COMPILER_LEGACY_FORCE_ENABLED.value = "true" } override fun shouldRunTest(): Boolean { diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTestBase.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTestBase.kt index f0942ef13a3..f93c3ccab29 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTestBase.kt +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTestBase.kt @@ -11,6 +11,7 @@ import com.intellij.util.ThrowableRunnable import org.jetbrains.jps.model.java.JpsJavaExtensionService import org.jetbrains.jps.model.module.JpsModule import org.jetbrains.jps.util.JpsPathUtil +import org.jetbrains.kotlin.cli.common.CompilerSystemProperties import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments import org.jetbrains.kotlin.config.CompilerSettings import org.jetbrains.kotlin.config.KotlinFacetSettings @@ -91,6 +92,8 @@ abstract class KotlinJpsBuildTestBase : AbstractKotlinJpsBuildTestCase() { val facet = KotlinFacetSettings() facet.compilerArguments = K2JSCompilerArguments().apply { useDeprecatedLegacyCompiler = true + // TODO: It will be deleted after all of our internal vendors will use the new Kotlin/JS compiler + CompilerSystemProperties.KOTLIN_JS_COMPILER_LEGACY_FORCE_ENABLED.value = "true" } facet.targetPlatform = JsPlatforms.defaultJsPlatform diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/incremental/AbstractJsProtoComparisonTest.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/incremental/AbstractJsProtoComparisonTest.kt index 772b695b488..2d1ee73036b 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/incremental/AbstractJsProtoComparisonTest.kt +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/incremental/AbstractJsProtoComparisonTest.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.jps.incremental +import org.jetbrains.kotlin.cli.common.CompilerSystemProperties import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2JsArgumentConstants import org.jetbrains.kotlin.compilerRunner.OutputItemsCollectorImpl @@ -51,6 +52,8 @@ abstract class AbstractJsProtoComparisonTest : AbstractProtoComparisonTest