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 bb5b2f4cafe..dfff43c1a1f 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 @@ -33,6 +33,8 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : KotlinJsSubTarget(target, "browser"), KotlinJsBrowserDsl { + private val commonWebpackConfigurations: MutableList Unit> = mutableListOf() + private val commonRunConfigurations: MutableList Unit> = mutableListOf() private val dceConfigurations: MutableList Unit> = mutableListOf() private lateinit var buildVariants: NamedDomainObjectContainer @@ -47,11 +49,11 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : } override fun runTask(body: KotlinWebpack.() -> Unit) { - TODO() + commonRunConfigurations.add(body) } override fun webpackTask(body: KotlinWebpack.() -> Unit) { - TODO() + commonWebpackConfigurations.add(body) } @ExperimentalDce @@ -116,6 +118,10 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : it.dependsOn(compileKotlinTask) } } + + commonRunConfigurations.forEach { configure -> + it.configure() + } } dceTaskProvider.configure { @@ -171,6 +177,10 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : it.dependsOn(compileKotlinTask) } } + + commonWebpackConfigurations.forEach { configure -> + it.configure() + } } dceTaskProvider.configure { @@ -198,8 +208,8 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : val kotlinTask = compilation.compileKotlinTask return project.registerTask(dceTaskName) { - dceConfigurations.forEach { configuration -> - it.configuration() + dceConfigurations.forEach { configure -> + it.configure() } it.dependsOn(kotlinTask) 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 3b45228dd2c..e649d3413aa 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 @@ -56,8 +56,8 @@ open class KotlinWebpack : DefaultTask(), RequiresNpmDependencies { var entry: File? = null get() = field ?: compilation.compileKotlinTask.outputFile - @Input - var resolveFromModulesFirst: Boolean = false + @get:Internal + internal var resolveFromModulesFirst: Boolean = false @Suppress("unused") val runtimeClasspath: FileCollection