diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/DukatIntegrationIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/DukatIntegrationIT.kt index c35164c2ca9..89ed6c99fc3 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/DukatIntegrationIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/DukatIntegrationIT.kt @@ -107,7 +107,7 @@ class DukatIntegrationIT : BaseGradleIT() { } val externalSrcs = "build/externals/$projectName/src" - project.build("generateExternalsIntegrated") { + project.build("compileKotlinJs") { assertSuccessful() assertSingleFileExists(externalSrcs, "index.module_decamelize.kt") @@ -162,7 +162,7 @@ class DukatIntegrationIT : BaseGradleIT() { } val externalSrcs = "build/externals/$projectName/src" - project.build("generateExternalsIntegrated") { + project.build("compileKotlinJs") { assertSuccessful() assertSingleFileExists(externalSrcs, "index.module_decamelize.kt") diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsCompilation.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsCompilation.kt index f29cfb3578d..bd90d2d800b 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsCompilation.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsCompilation.kt @@ -34,10 +34,10 @@ open class KotlinJsCompilation( private val kotlinProperties = PropertiesProvider(target.project) - internal val externalsOutputFormat: ExternalsOutputFormat + internal open val externalsOutputFormat: ExternalsOutputFormat get() = kotlinProperties.externalsOutputFormat ?: defaultExternalsOutputFormat - internal open val defaultExternalsOutputFormat: ExternalsOutputFormat = ExternalsOutputFormat.BINARY + internal open val defaultExternalsOutputFormat: ExternalsOutputFormat = ExternalsOutputFormat.SOURCE override val kotlinOptions: KotlinJsOptions = KotlinJsOptionsImpl() diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dukat/DukatCompilationResolverPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dukat/DukatCompilationResolverPlugin.kt index 9b82bd3dd3e..c4fc3f51bc5 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dukat/DukatCompilationResolverPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dukat/DukatCompilationResolverPlugin.kt @@ -45,7 +45,9 @@ internal class DukatCompilationResolverPlugin( val target = compilation.target - if (target is KotlinJsIrTarget || target is KotlinJsTarget && externalsOutputFormat != ExternalsOutputFormat.SOURCE) { + val legacyTargetNotReuseIrTask = + target is KotlinJsTarget && (target.irTarget == null || externalsOutputFormat != ExternalsOutputFormat.SOURCE) + if (target is KotlinJsIrTarget || legacyTargetNotReuseIrTask) { compilation.compileKotlinTaskProvider.dependsOn(integratedTask) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrCompilation.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrCompilation.kt index 768f4b77f4d..8d24db0083e 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrCompilation.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrCompilation.kt @@ -17,8 +17,7 @@ class KotlinJsIrCompilation( name: String ) : KotlinJsCompilation(target, name) { - override val defaultExternalsOutputFormat: ExternalsOutputFormat - get() = ExternalsOutputFormat.SOURCE + override val externalsOutputFormat: ExternalsOutputFormat = ExternalsOutputFormat.SOURCE internal val allSources: MutableSet = mutableSetOf()