diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt index 69aca00f25e..a6f9a6f4af0 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt @@ -16,6 +16,7 @@ import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpack import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig +import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig.Mode import org.jetbrains.kotlin.gradle.tasks.registerTask import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName import javax.inject.Inject @@ -66,6 +67,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : target.project.tasks.getByName(compilation.processResourcesTaskName) ) + it.mode = Mode.DEVELOPMENT it.bin = "webpack-dev-server/bin/webpack-dev-server.js" it.compilation = compilation it.description = "start webpack dev server" @@ -100,6 +102,11 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : compileKotlinTask ) + it.mode = when (buildVariant.kind) { + BuildVariantKind.RELEASE -> Mode.PRODUCTION + BuildVariantKind.DEBUG -> Mode.DEVELOPMENT + } + it.compilation = compilation it.description = "build webpack bundle" diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt index e5318d92f5f..ec90632ccc3 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt @@ -20,6 +20,7 @@ import org.jetbrains.kotlin.gradle.targets.js.RequiredKotlinJsDependency import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin import org.jetbrains.kotlin.gradle.targets.js.npm.RequiresNpmDependencies import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject +import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig.Mode import org.jetbrains.kotlin.gradle.testing.internal.reportsDir import org.jetbrains.kotlin.gradle.utils.injected import java.io.File @@ -47,6 +48,9 @@ open class KotlinWebpack : DefaultTask(), RequiresNpmDependencies { target.project.path + "@" + target.name + ":" + it.compilationName } + @Input + var mode: Mode = Mode.PRODUCTION + @get:PathSensitive(PathSensitivity.ABSOLUTE) @get:InputFile val entry: File @@ -110,6 +114,7 @@ open class KotlinWebpack : DefaultTask(), RequiresNpmDependencies { execHandleFactory, bin, KotlinWebpackConfig( + mode = mode, entry = entry, reportEvaluatedConfigFile = if (saveEvaluatedConfigFile) evaluatedConfigFile else null, outputPath = destinationDirectory,