[Gradle, JS] Set compiler arg ir and produce-* unconditionally

^KT-63312 fixed
This commit is contained in:
Ilya Goncharov
2023-11-17 10:25:21 +00:00
committed by Space Team
parent 41477b25a1
commit 342c9e8c81
11 changed files with 43 additions and 161 deletions
@@ -18,7 +18,6 @@ import org.jetbrains.kotlin.gradle.targets.js.npm.fromSrcPackageJson
import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnLockCopyTask.Companion.STORE_YARN_LOCK_NAME
import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnLockCopyTask.Companion.UPGRADE_YARN_LOCK
import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnLockCopyTask.Companion.YARN_LOCK_MISMATCH_MESSAGE
import org.jetbrains.kotlin.gradle.tasks.USING_JS_IR_BACKEND_MESSAGE
import org.jetbrains.kotlin.gradle.testbase.*
import org.jetbrains.kotlin.gradle.testbase.TestVersions.Gradle.G_7_6
import org.jetbrains.kotlin.gradle.util.replaceText
@@ -40,8 +39,6 @@ class Kotlin2JsIrGradlePluginIT : KGPBaseTest() {
fun generateDts(gradleVersion: GradleVersion) {
project("kotlin2JsIrDtsGeneration", gradleVersion) {
build("build") {
checkIrCompilationMessage()
assertFileInProjectExists("build/js/packages/kotlin2JsIrDtsGeneration/kotlin/kotlin2JsIrDtsGeneration.js")
val dts = projectPath.resolve("build/js/packages/kotlin2JsIrDtsGeneration/kotlin/kotlin2JsIrDtsGeneration.d.ts")
assertFileExists(dts)
@@ -747,17 +744,11 @@ class Kotlin2JsIrGradlePluginIT : KGPBaseTest() {
}
}
protected fun BuildResult.checkIrCompilationMessage() {
assertOutputContains(USING_JS_IR_BACKEND_MESSAGE)
}
@DisplayName("test compilation can access main compilation")
@GradleTest
fun testCompileTestCouldAccessProduction(gradleVersion: GradleVersion) {
project("kotlin2JsProjectWithTests", gradleVersion) {
build("build") {
checkIrCompilationMessage()
assertTasksExecuted(
":compileKotlinJs",
":compileTestKotlinJs"
@@ -774,7 +765,6 @@ class Kotlin2JsIrGradlePluginIT : KGPBaseTest() {
fun testCompilerTestAccessInternalProduction(gradleVersion: GradleVersion) {
project("kotlin2JsInternalTest", gradleVersion) {
build("build") {
checkIrCompilationMessage()
}
}
}
@@ -1180,8 +1170,6 @@ class Kotlin2JsIrGradlePluginIT : KGPBaseTest() {
fun testNodeJsForkOptions(gradleVersion: GradleVersion) {
project("kotlin-js-nodejs-custom-node-module", gradleVersion) {
build("build") {
checkIrCompilationMessage()
// It makes sense only since Tests will be run on Gradle 7.2
assertOutputDoesNotContain("Execution optimizations have been disabled for task ':nodeTest'")
@@ -9,7 +9,6 @@ import org.gradle.api.logging.LogLevel
import org.gradle.testkit.runner.BuildResult
import org.gradle.util.GradleVersion
import org.jetbrains.kotlin.gradle.tasks.USING_JS_INCREMENTAL_COMPILATION_MESSAGE
import org.jetbrains.kotlin.gradle.tasks.USING_JS_IR_BACKEND_MESSAGE
import org.jetbrains.kotlin.gradle.testbase.*
import org.junit.jupiter.api.DisplayName
@@ -36,21 +35,12 @@ abstract class AbstractKotlinJsIncrementalGradlePluginIT(
jsOptions = defaultJsOptions,
)
protected fun BuildResult.checkIrCompilationMessage() {
if (irBackend) {
assertOutputContains(USING_JS_IR_BACKEND_MESSAGE)
} else {
assertOutputDoesNotContain(USING_JS_IR_BACKEND_MESSAGE)
}
}
@DisplayName("incremental compilation for js works")
@GradleTest
fun testIncrementalCompilation(gradleVersion: GradleVersion) {
val buildOptions = defaultBuildOptions.copy(logLevel = LogLevel.DEBUG)
project("kotlin2JsICProject", gradleVersion, buildOptions = buildOptions) {
build("compileKotlinJs", "compileTestKotlinJs") {
checkIrCompilationMessage()
assertOutputContains(USING_JS_INCREMENTAL_COMPILATION_MESSAGE)
assertCompiledKotlinSources(projectPath.allKotlinFiles.relativizeTo(projectPath), output)
}
@@ -64,7 +54,6 @@ abstract class AbstractKotlinJsIncrementalGradlePluginIT(
it.replace("val x = 0", "val x = \"a\"")
}
build("compileKotlinJs", "compileTestKotlinJs") {
checkIrCompilationMessage()
assertOutputContains(USING_JS_INCREMENTAL_COMPILATION_MESSAGE)
val affectedFiles = listOf("A.kt", "useAInLibMain.kt", "useAInAppMain.kt", "useAInAppTest.kt").mapNotNull {
projectPath.findInPath(it)
@@ -77,13 +66,10 @@ abstract class AbstractKotlinJsIncrementalGradlePluginIT(
@DisplayName("non-incremental compilation works")
@GradleTest
fun testIncrementalCompilationDisabled(gradleVersion: GradleVersion) {
val jsOptions = defaultJsOptions.run {
if (irBackend) copy(incrementalJsKlib = false) else copy(incrementalJs = false)
}
val jsOptions = defaultJsOptions.copy(incrementalJsKlib = false, incrementalJs = false)
val options = defaultBuildOptions.copy(jsOptions = jsOptions)
project("kotlin2JsICProject", gradleVersion, buildOptions = options) {
build("compileKotlinJs", "compileTestKotlinJs") {
checkIrCompilationMessage()
assertOutputDoesNotContain(USING_JS_INCREMENTAL_COMPILATION_MESSAGE)
}
}