From 157046153fa7b1a30c10ed1f46a3114259d783a4 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Thu, 27 May 2021 17:00:53 +0300 Subject: [PATCH] [Gradle, JS] Add test with dynamic webpack.config.d --- .../kotlin/gradle/Kotlin2JsGradlePluginIT.kt | 16 +++++++++ .../build.gradle.kts | 36 +++++++++++++++++++ .../settings.gradle.kts | 8 +++++ .../src/main/kotlin/Main.kt | 5 +++ 4 files changed, 65 insertions(+) create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-dynamic-webpack-config-d/build.gradle.kts create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-dynamic-webpack-config-d/settings.gradle.kts create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-dynamic-webpack-config-d/src/main/kotlin/Main.kt 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 2cf8c6f3e66..b5b8c02cffe 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 @@ -830,4 +830,20 @@ abstract class AbstractKotlin2JsGradlePluginIT(val irBackend: Boolean) : BaseGra } } } + + @Test + fun testDynamicWebpackConfigD() { + with(Project("js-dynamic-webpack-config-d")) { + setupWorkingDir() + gradleBuildScript().modify(::transformBuildScriptWithPluginsDsl) + + build( + "build" + ) { + assertSuccessful() + assertFileExists("build/js/packages/js-dynamic-webpack-config-d") + assertFileContains("build/js/packages/js-dynamic-webpack-config-d/webpack.config.js", "// hello from patch.js") + } + } + } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-dynamic-webpack-config-d/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-dynamic-webpack-config-d/build.gradle.kts new file mode 100644 index 00000000000..5d48cd6b30b --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-dynamic-webpack-config-d/build.gradle.kts @@ -0,0 +1,36 @@ +plugins { + kotlin("js") version "" +} + +group = "com.example" +version = "1.0" + +repositories { + mavenLocal() + mavenCentral() +} + +kotlin { + js { + binaries.executable() + browser() + } +} + +tasks.register("foo") { + doLast { + val dir = projectDir.resolve("webpack.config.d") + dir.mkdirs() + val file = dir.resolve("patch.js") + file.createNewFile() + file.writeText("// hello from patch.js") + } +} + +tasks.named("browserTest") { + enabled = false +} + +tasks.withType { + dependsOn("foo") +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-dynamic-webpack-config-d/settings.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-dynamic-webpack-config-d/settings.gradle.kts new file mode 100644 index 00000000000..4501976308c --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-dynamic-webpack-config-d/settings.gradle.kts @@ -0,0 +1,8 @@ +pluginManagement { + repositories { + mavenLocal() + gradlePluginPortal() + } +} + +rootProject.name = "js-dynamic-webpack-config-d" \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-dynamic-webpack-config-d/src/main/kotlin/Main.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-dynamic-webpack-config-d/src/main/kotlin/Main.kt new file mode 100644 index 00000000000..5b5e5bba2b5 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/js-dynamic-webpack-config-d/src/main/kotlin/Main.kt @@ -0,0 +1,5 @@ +package com.example + +fun main() { + println("Hello, Webpack") +} \ No newline at end of file