[Gradle, JS] Add webpack mode depends on build variant kind

This commit is contained in:
Ilya Goncharov
2019-10-16 15:26:28 +03:00
parent 603e263003
commit 973cd51497
2 changed files with 12 additions and 0 deletions
@@ -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"
@@ -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,