[Gradle, JS] Configure prod and dev compilations

This commit is contained in:
Ilya Goncharov
2019-12-26 16:14:23 +03:00
parent abf2a9e073
commit 222c663fac
4 changed files with 21 additions and 10 deletions
@@ -61,13 +61,13 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) :
commonWebpackConfigurations.add(body)
}
override fun configureMain(compilation: KotlinJsCompilation) {
override fun configureMain(compilation: KotlinJsIrCompilation) {
configureRun(compilation)
configureBuild(compilation)
}
private fun configureRun(
compilation: KotlinJsCompilation
compilation: KotlinJsIrCompilation
) {
val project = compilation.target.project
@@ -117,7 +117,7 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) :
}
private fun configureBuild(
compilation: KotlinJsCompilation
compilation: KotlinJsIrCompilation
) {
val project = compilation.target.project
val nodeJs = NodeJsRootPlugin.apply(project.rootProject)
@@ -164,7 +164,7 @@ abstract class KotlinJsIrSubTarget(
}
}
protected abstract fun configureMain(compilation: KotlinJsCompilation)
protected abstract fun configureMain(compilation: KotlinJsIrCompilation)
companion object {
const val RUN_TASK_NAME = "run"
@@ -5,11 +5,11 @@
package org.jetbrains.kotlin.gradle.targets.js.ir
import org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions
import org.jetbrains.kotlin.gradle.plugin.KotlinJsIrSourceSetProcessor
import org.jetbrains.kotlin.gradle.plugin.KotlinOnlyTargetConfigurator
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetProcessor
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetWithTestsConfigurator
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsIrReportAggregatingTestRun
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
import org.jetbrains.kotlin.gradle.testing.internal.kotlinTestRegistry
@@ -54,15 +54,26 @@ open class KotlinJsIrTargetConfigurator(kotlinPluginVersion: String) :
target.compilations.all {
it.compileKotlinTask.kotlinOptions {
moduleKind = "umd"
sourceMap = true
sourceMapEmbedSources = null
configureOptions(DISABLE_PRE_IR)
}
freeCompilerArgs += listOf(DISABLE_PRE_IR)
it.productionCompileTask.kotlinOptions {
configureOptions(ENABLE_DCE, GENERATE_D_TS)
}
it.developmentCompileTask.kotlinOptions {
configureOptions(GENERATE_D_TS)
}
}
}
private fun KotlinJsOptions.configureOptions(vararg additionalCompilerArgs: String) {
moduleKind = "umd"
sourceMap = true
freeCompilerArgs += additionalCompilerArgs.toList()
}
override fun defineConfigurationsForTarget(target: KotlinJsIrTarget) {
super.defineConfigurationsForTarget(target)
implementationToApiElements(target)
@@ -34,7 +34,7 @@ open class KotlinNodeJsIr @Inject constructor(target: KotlinJsIrTarget) :
it.useMocha { }
}
override fun configureMain(compilation: KotlinJsCompilation) {
override fun configureMain(compilation: KotlinJsIrCompilation) {
configureRun(compilation)
}