From ecb89ad2594e81a62e7b8ed41679e5ce2693cca8 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Tue, 18 Feb 2020 13:36:52 +0300 Subject: [PATCH] [Gradle, JS] Disambiguation classifier consider single platform plugin --- .../jetbrains/kotlin/gradle/plugin/JsCompilerType.kt | 10 ++++++++-- .../kotlin/gradle/targets/js/KotlinJsCompilation.kt | 5 +++-- .../kotlin/gradle/targets/js/KotlinJsTarget.kt | 2 +- .../kotlin/gradle/targets/js/KotlinJsTargetPreset.kt | 6 +++--- .../gradle/targets/js/ir/KotlinJsIrCompilation.kt | 2 +- .../gradle/targets/js/ir/KotlinJsIrTargetPreset.kt | 4 ++-- 6 files changed, 18 insertions(+), 11 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/JsCompilerType.kt b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/JsCompilerType.kt index bd497b0703d..46c8e2371ec 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/JsCompilerType.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/JsCompilerType.kt @@ -30,5 +30,11 @@ enum class JsCompilerType : Named, Serializable { } } -fun String.removeCapitalizedJsCompilerSuffix(compilerType: JsCompilerType): String = - removeSuffix(compilerType.name.capitalize()) \ No newline at end of file +fun String.removeJsCompilerSuffix(compilerType: JsCompilerType): String { + val truncatedString = removeSuffix(compilerType.name) + if (this != truncatedString) { + return truncatedString + } + + return removeSuffix(compilerType.name.capitalize()) +} \ No newline at end of file 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 68a5ed93e64..64c4415f8dc 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 @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions import org.jetbrains.kotlin.gradle.plugin.JsCompilerType import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationWithResources import org.jetbrains.kotlin.gradle.plugin.KotlinTarget -import org.jetbrains.kotlin.gradle.plugin.removeCapitalizedJsCompilerSuffix +import org.jetbrains.kotlin.gradle.plugin.removeJsCompilerSuffix import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget import org.jetbrains.kotlin.gradle.targets.js.npm.PackageJson import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile @@ -38,7 +38,8 @@ open class KotlinJsCompilation( override val defaultSourceSetName: String get() = lowerCamelCaseName( (target as KotlinJsTarget).irTarget?.let { - target.disambiguationClassifier?.removeCapitalizedJsCompilerSuffix(JsCompilerType.legacy) + target.disambiguationClassifier + ?.removeJsCompilerSuffix(JsCompilerType.legacy) } ?: target.disambiguationClassifier, compilationName ) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt index e6fb770233c..b789b2c7132 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt @@ -70,7 +70,7 @@ constructor( ): KotlinVariant { return super.createKotlinVariant(componentName, compilation, usageContexts).apply { irTarget?.let { - artifactTargetName = targetName.removeCapitalizedJsCompilerSuffix(JsCompilerType.legacy) + artifactTargetName = targetName.removeJsCompilerSuffix(JsCompilerType.legacy) } } } 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 e28cc93e04f..662aa038e05 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 @@ -11,7 +11,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp import org.gradle.api.Project import org.jetbrains.kotlin.gradle.plugin.JsCompilerType import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType -import org.jetbrains.kotlin.gradle.plugin.removeCapitalizedJsCompilerSuffix +import org.jetbrains.kotlin.gradle.plugin.removeJsCompilerSuffix import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTargetConfigurator import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTargetPreset @@ -37,7 +37,7 @@ open class KotlinJsTargetPreset( platformType ).apply { this.irTarget = irPreset?.createTarget( - lowerCamelCaseName(name.removeCapitalizedJsCompilerSuffix(JsCompilerType.legacy), JsCompilerType.ir.name) + lowerCamelCaseName(name.removeJsCompilerSuffix(JsCompilerType.legacy), JsCompilerType.ir.name) ) } } @@ -73,7 +73,7 @@ class KotlinJsSingleTargetPreset( override fun provideTargetDisambiguationClassifier(target: KotlinOnlyTarget): String? = irPreset?.let { super.provideTargetDisambiguationClassifier(target) - ?.removePrefix(target.name.removeCapitalizedJsCompilerSuffix(JsCompilerType.legacy)) + ?.removePrefix(target.name.removeJsCompilerSuffix(JsCompilerType.legacy)) ?.decapitalize() } 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 b674619b9cd..77006289aae 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 @@ -48,7 +48,7 @@ class KotlinJsIrCompilation( return lowerCamelCaseName( if ((target as KotlinJsIrTarget).mixedMode) target.disambiguationClassifier - ?.removeCapitalizedJsCompilerSuffix(JsCompilerType.ir) + ?.removeJsCompilerSuffix(JsCompilerType.ir) else target.disambiguationClassifier, compilationName 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 cae7dd51c72..c16dff8c8e5 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,7 +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.plugin.removeJsCompilerSuffix import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName open class KotlinJsIrTargetPreset( @@ -61,7 +61,7 @@ class KotlinJsIrSingleTargetPreset( override fun provideTargetDisambiguationClassifier(target: KotlinOnlyTarget): String? { return if (mixedMode!!) { super.provideTargetDisambiguationClassifier(target) - ?.removePrefix(target.name.removeCapitalizedJsCompilerSuffix(JsCompilerType.ir)) + ?.removePrefix(target.name.removeJsCompilerSuffix(JsCompilerType.ir)) ?.decapitalize() } else { null