From 6fe730a12ec266e774870fe97502d2365d8b3b6d Mon Sep 17 00:00:00 2001 From: Alexander Likhachev Date: Fri, 16 Jul 2021 16:32:46 +0300 Subject: [PATCH] [Gradle, JS] Add IT that no tasks configured on help task execution #KT-47559 Fixed --- .../kotlin/gradle/Kotlin2JsGradlePluginIT.kt | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) 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 2cc3fa2d2b3..1083c75bbf3 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 @@ -925,6 +925,40 @@ abstract class AbstractKotlin2JsGradlePluginIT(val irBackend: Boolean) : BaseGra } } + @Test + fun testBrowserNoTasksConfigurationOnHelp() = with(transformProjectWithPluginsDsl("kotlin-js-browser-project")) { + gradleBuildScript().appendText( + "\n" + """ + allprojects { + tasks.configureEach { + if (this is org.gradle.configuration.Help) return@configureEach + throw GradleException("Task ${'$'}{path} shouldn't be configured") + } + } + """.trimIndent() + ) + build { + assertSuccessful() + } + } + + @Test + fun testNodeJsNoTasksConfigurationOnHelp() = with(transformProjectWithPluginsDsl("kotlin-js-nodejs-project")) { + gradleBuildScript().appendText( + "\n" + """ + allprojects { + tasks.configureEach { + if (it instanceof org.gradle.configuration.Help) return + throw new GradleException("Task ${'$'}{path} shouldn't be configured") + } + } + """.trimIndent() + ) + build { + assertSuccessful() + } + } + private fun CompiledProject.getSubprojectPackageJson(subProject: String, projectName: String? = null) = fileInWorkingDir("build/js/packages/${projectName ?: project.projectName}-$subProject") .resolve(NpmProject.PACKAGE_JSON)