From 4189bc88c2721d903bc3c8dbd563dcf949e1d366 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Tue, 18 Feb 2020 13:01:07 +0300 Subject: [PATCH] [Gradle, JS] Provide disambiguation classifier for both mode --- .../gradle/targets/js/KotlinJsTargetPreset.kt | 7 +++++-- .../targets/js/ir/KotlinJsIrTargetPreset.kt | 18 ++++++++++++++---- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetPreset.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetPreset.kt index 5f50fbc26ff..e28cc93e04f 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetPreset.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetPreset.kt @@ -69,10 +69,13 @@ class KotlinJsSingleTargetPreset( project, kotlinPluginVersion ) { - // In a Kotlin/JS single-platform project, we don't need any disambiguation suffixes or prefixes in the names: override fun provideTargetDisambiguationClassifier(target: KotlinOnlyTarget): String? = - null + irPreset?.let { + super.provideTargetDisambiguationClassifier(target) + ?.removePrefix(target.name.removeCapitalizedJsCompilerSuffix(JsCompilerType.legacy)) + ?.decapitalize() + } override fun createKotlinTargetConfigurator() = KotlinJsTargetConfigurator( kotlinPluginVersion diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTargetPreset.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTargetPreset.kt index 70b017e833c..cae7dd51c72 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTargetPreset.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTargetPreset.kt @@ -12,6 +12,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinCompilationFactory import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTarget import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTargetPreset +import org.jetbrains.kotlin.gradle.plugin.removeCapitalizedJsCompilerSuffix import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName open class KotlinJsIrTargetPreset( @@ -52,11 +53,20 @@ open class KotlinJsIrTargetPreset( class KotlinJsIrSingleTargetPreset( project: Project, kotlinPluginVersion: String -) : - KotlinJsIrTargetPreset(project, kotlinPluginVersion) { - +) : KotlinJsIrTargetPreset( + project, + kotlinPluginVersion +) { // In a Kotlin/JS single-platform project, we don't need any disambiguation suffixes or prefixes in the names: - override fun provideTargetDisambiguationClassifier(target: KotlinOnlyTarget): String? = null + override fun provideTargetDisambiguationClassifier(target: KotlinOnlyTarget): String? { + return if (mixedMode!!) { + super.provideTargetDisambiguationClassifier(target) + ?.removePrefix(target.name.removeCapitalizedJsCompilerSuffix(JsCompilerType.ir)) + ?.decapitalize() + } else { + null + } + } override fun createKotlinTargetConfigurator(): KotlinOnlyTargetConfigurator = KotlinJsIrTargetConfigurator(kotlinPluginVersion)