[Gradle, JS] Configure prod and dev compilations
This commit is contained in:
+3
-3
@@ -61,13 +61,13 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) :
|
|||||||
commonWebpackConfigurations.add(body)
|
commonWebpackConfigurations.add(body)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun configureMain(compilation: KotlinJsCompilation) {
|
override fun configureMain(compilation: KotlinJsIrCompilation) {
|
||||||
configureRun(compilation)
|
configureRun(compilation)
|
||||||
configureBuild(compilation)
|
configureBuild(compilation)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun configureRun(
|
private fun configureRun(
|
||||||
compilation: KotlinJsCompilation
|
compilation: KotlinJsIrCompilation
|
||||||
) {
|
) {
|
||||||
|
|
||||||
val project = compilation.target.project
|
val project = compilation.target.project
|
||||||
@@ -117,7 +117,7 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) :
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun configureBuild(
|
private fun configureBuild(
|
||||||
compilation: KotlinJsCompilation
|
compilation: KotlinJsIrCompilation
|
||||||
) {
|
) {
|
||||||
val project = compilation.target.project
|
val project = compilation.target.project
|
||||||
val nodeJs = NodeJsRootPlugin.apply(project.rootProject)
|
val nodeJs = NodeJsRootPlugin.apply(project.rootProject)
|
||||||
|
|||||||
+1
-1
@@ -164,7 +164,7 @@ abstract class KotlinJsIrSubTarget(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract fun configureMain(compilation: KotlinJsCompilation)
|
protected abstract fun configureMain(compilation: KotlinJsIrCompilation)
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val RUN_TASK_NAME = "run"
|
const val RUN_TASK_NAME = "run"
|
||||||
|
|||||||
+16
-5
@@ -5,11 +5,11 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.targets.js.ir
|
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.KotlinJsIrSourceSetProcessor
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinOnlyTargetConfigurator
|
import org.jetbrains.kotlin.gradle.plugin.KotlinOnlyTargetConfigurator
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetProcessor
|
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetProcessor
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetWithTestsConfigurator
|
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.targets.js.KotlinJsIrReportAggregatingTestRun
|
||||||
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
|
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
|
||||||
import org.jetbrains.kotlin.gradle.testing.internal.kotlinTestRegistry
|
import org.jetbrains.kotlin.gradle.testing.internal.kotlinTestRegistry
|
||||||
@@ -54,15 +54,26 @@ open class KotlinJsIrTargetConfigurator(kotlinPluginVersion: String) :
|
|||||||
|
|
||||||
target.compilations.all {
|
target.compilations.all {
|
||||||
it.compileKotlinTask.kotlinOptions {
|
it.compileKotlinTask.kotlinOptions {
|
||||||
moduleKind = "umd"
|
configureOptions(DISABLE_PRE_IR)
|
||||||
sourceMap = true
|
}
|
||||||
sourceMapEmbedSources = null
|
|
||||||
|
|
||||||
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) {
|
override fun defineConfigurationsForTarget(target: KotlinJsIrTarget) {
|
||||||
super.defineConfigurationsForTarget(target)
|
super.defineConfigurationsForTarget(target)
|
||||||
implementationToApiElements(target)
|
implementationToApiElements(target)
|
||||||
|
|||||||
+1
-1
@@ -34,7 +34,7 @@ open class KotlinNodeJsIr @Inject constructor(target: KotlinJsIrTarget) :
|
|||||||
it.useMocha { }
|
it.useMocha { }
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun configureMain(compilation: KotlinJsCompilation) {
|
override fun configureMain(compilation: KotlinJsIrCompilation) {
|
||||||
configureRun(compilation)
|
configureRun(compilation)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user