From 32839c7ba26e6936bf5df57ebff5b922125eb8d4 Mon Sep 17 00:00:00 2001 From: Alexander Likhachev Date: Thu, 18 Nov 2021 21:52:29 +0300 Subject: [PATCH] [Gradle, JS] Move KJS configuration cache tests to other KJS tests Previously some JS IR tasks weren't covered by tests #KT-45745 In Progress #KT-49253 In Progress --- .../kotlin/gradle/ConfigurationCacheIT.kt | 43 ----------------- .../kotlin/gradle/Kotlin2JsGradlePluginIT.kt | 46 ++++++++++++++++++- .../build.gradle.kts | 2 +- .../settings.gradle.kts | 8 ---- 4 files changed, 46 insertions(+), 53 deletions(-) delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-project-with-test-dependencies/settings.gradle.kts diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationCacheIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationCacheIT.kt index f51adc9d564..f65dd599c6f 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationCacheIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationCacheIT.kt @@ -127,36 +127,6 @@ class ConfigurationCacheIT : AbstractConfigurationCacheIT() { } } - @DisplayName("instant execution is working for JS project") - @GradleTest - fun testInstantExecutionForJs(gradleVersion: GradleVersion) { - project("instantExecutionToJs", gradleVersion) { - testConfigurationCacheOf( - "assemble", - executedTaskNames = listOf(":compileKotlinJs") - ) - } - } - - @DisplayName("is working for JS project") - @GradleTest - fun testConfigurationCacheJsPlugin(gradleVersion: GradleVersion) { - project("kotlin-js-browser-project", gradleVersion) { - buildGradleKts.modify(::transformBuildScriptWithPluginsDsl) - - testConfigurationCacheOf( - ":app:build", - executedTaskNames = listOf( - ":app:packageJson", - ":app:publicPackageJson", - ":app:compileKotlinJs", - ":app:processDceKotlinJs", - ":app:browserProductionWebpack", - ) - ) - } - } - @DisplayName("works with Dukat") @GradleTest fun testConfigurationCacheDukatSrc(gradleVersion: GradleVersion) { @@ -200,19 +170,6 @@ class ConfigurationCacheIT : AbstractConfigurationCacheIT() { } } } - - @DisplayName("KT-48241: works in JS with test dependencies") - @GradleTest - fun testConfigurationCacheJsWithTestDependencies(gradleVersion: GradleVersion) { - project("kotlin-js-project-with-test-dependencies", gradleVersion) { - buildGradleKts.modify(::transformBuildScriptWithPluginsDsl) - - testConfigurationCacheOf( - "assemble", - executedTaskNames = listOf(":kotlinNpmInstall") - ) - } - } } @SimpleGradlePluginTests diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt index bc43d18d1f9..8d43d394fae 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt @@ -380,7 +380,7 @@ abstract class AbstractKotlin2JsGradlePluginIT(protected val irBackend: Boolean) jsCompilerType = if (irBackend) KotlinJsCompilerType.IR else KotlinJsCompilerType.LEGACY, ) - override val defaultBuildOptions = + final override val defaultBuildOptions = super.defaultBuildOptions.copy( jsOptions = defaultJsOptions, warningMode = WarningMode.Summary @@ -1015,6 +1015,38 @@ abstract class AbstractKotlin2JsGradlePluginIT(protected val irBackend: Boolean) } } + @DisplayName("configuration cache is working for kotlin2js plugin") + @GradleTest + fun testConfigurationCache(gradleVersion: GradleVersion) { + project("instantExecutionToJs", gradleVersion) { + assertSimpleConfigurationCacheScenarioWorks( + "assemble", + buildOptions = defaultBuildOptions.withConfigurationCache, + executedTaskNames = listOf(":compileKotlinJs") + ) + } + } + + @DisplayName("configuration cache is working for kotlin/js browser project") + @GradleTest + fun testConfigurationCacheBrowser(gradleVersion: GradleVersion) { + project("kotlin-js-browser-project", gradleVersion) { + buildGradleKts.modify(::transformBuildScriptWithPluginsDsl) + + assertSimpleConfigurationCacheScenarioWorks( + ":app:build", + buildOptions = defaultBuildOptions.withConfigurationCache, + executedTaskNames = listOf( + ":app:packageJson", + ":app:publicPackageJson", + ":app:compileKotlinJs", + if (irBackend) ":app:compileProductionExecutableKotlinJs" else ":app:processDceKotlinJs", + ":app:browserProductionWebpack", + ) + ) + } + } + private fun TestProject.getSubprojectPackageJson(subProject: String, projectName: String? = null) = projectPath.resolve("build/js/packages/${projectName ?: projectName}-$subProject") .resolve(NpmProject.PACKAGE_JSON) @@ -1084,4 +1116,16 @@ class GeneralKotlin2JsGradlePluginIT : KGPBaseTest() { } } } + + @DisplayName("KT-48241: configuration cache works with test dependencies") + @GradleTest + fun testConfigurationCacheJsWithTestDependencies(gradleVersion: GradleVersion) { + project("kotlin-js-project-with-test-dependencies", gradleVersion) { + assertSimpleConfigurationCacheScenarioWorks( + "assemble", + buildOptions = defaultBuildOptions.withConfigurationCache, + executedTaskNames = listOf(":kotlinNpmInstall") + ) + } + } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-project-with-test-dependencies/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-project-with-test-dependencies/build.gradle.kts index 3033bc76903..774614c3378 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-project-with-test-dependencies/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-project-with-test-dependencies/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - kotlin("js").version("") + kotlin("js") } group = "com.example" diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-project-with-test-dependencies/settings.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-project-with-test-dependencies/settings.gradle.kts deleted file mode 100644 index e55aac67f4f..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-project-with-test-dependencies/settings.gradle.kts +++ /dev/null @@ -1,8 +0,0 @@ -pluginManagement { - repositories { - mavenLocal() - gradlePluginPortal() - } -} - -rootProject.name = "kotlin-js-project-with-test-dependencies" \ No newline at end of file