[Gradle, JS] Dukat with both create externals only once
This commit is contained in:
+8
@@ -6,6 +6,7 @@
|
||||
package org.jetbrains.kotlin.gradle.targets.js.dukat
|
||||
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.disambiguateName
|
||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.plugins.CompilationResolverPlugin
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.resolved.KotlinRootNpmResolution
|
||||
@@ -37,6 +38,13 @@ internal class DukatCompilationResolverPlugin(
|
||||
|
||||
compilation.compileKotlinTaskProvider.dependsOn(integratedTask)
|
||||
|
||||
val target = compilation.target
|
||||
if (target is KotlinJsTarget && target.irTarget != null) {
|
||||
target.irTarget?.compilations?.named(compilation.name) {
|
||||
it.compileKotlinTaskProvider.dependsOn(integratedTask)
|
||||
}
|
||||
}
|
||||
|
||||
project.registerTask<SeparateDukatTask>(
|
||||
separateTaskName,
|
||||
listOf(compilation)
|
||||
|
||||
+4
-1
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.gradle.plugin.sources.KotlinDependencyScope
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.compilationDependencyConfigurationByScope
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.sourceSetDependencyConfigurationByScope
|
||||
import org.jetbrains.kotlin.gradle.plugin.usesPlatformOf
|
||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.*
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject.Companion.PACKAGE_JSON
|
||||
@@ -72,7 +73,9 @@ internal class KotlinCompilationNpmResolver(
|
||||
|
||||
val plugins: List<CompilationResolverPlugin> = projectResolver.resolver.plugins
|
||||
.flatMap {
|
||||
if (compilation.isMain()) {
|
||||
val target = compilation.target
|
||||
// If mixedMode (BOTH) register only for legacy target
|
||||
if (compilation.isMain() && ((target is KotlinJsTarget) || (target is KotlinJsIrTarget && !target.mixedMode))) {
|
||||
it.createCompilationResolverPlugins(this)
|
||||
} else {
|
||||
emptyList()
|
||||
|
||||
Reference in New Issue
Block a user