[Gradle, JS] Default source-set name w/o legacy disambiguation in mixed

This commit is contained in:
Ilya Goncharov
2020-01-23 11:42:34 +03:00
parent 27b9c6ff29
commit 808a776efb
3 changed files with 27 additions and 17 deletions
@@ -3,7 +3,9 @@
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/ */
@file:Suppress("PackageDirectoryMismatch") // Old package for compatibility @file:Suppress("PackageDirectoryMismatch")
// Old package for compatibility
package org.jetbrains.kotlin.gradle.plugin.mpp package org.jetbrains.kotlin.gradle.plugin.mpp
import org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions import org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions
@@ -11,6 +13,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationWithResources
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
import org.jetbrains.kotlin.gradle.targets.js.npm.PackageJson import org.jetbrains.kotlin.gradle.targets.js.npm.PackageJson
import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
open class KotlinJsCompilation( open class KotlinJsCompilation(
target: KotlinTarget, target: KotlinTarget,
@@ -28,4 +31,10 @@ import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
fun packageJson(handler: PackageJson.() -> Unit) { fun packageJson(handler: PackageJson.() -> Unit) {
packageJsonHandlers.add(handler) packageJsonHandlers.add(handler)
} }
override val defaultSourceSetName: String
get() = lowerCamelCaseName(
target.disambiguationClassifier?.removePrefix(LEGACY_DISAMBIGUATION_CLASSIFIER),
compilationName
)
} }
@@ -12,7 +12,6 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinOnlyTargetConfigurator
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetProcessor import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetProcessor
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetWithTestsConfigurator import org.jetbrains.kotlin.gradle.plugin.KotlinTargetWithTestsConfigurator
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
import org.jetbrains.kotlin.gradle.plugin.mpp.defaultSourceSetName
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTargetConfigurator import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTargetConfigurator
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
import org.jetbrains.kotlin.gradle.testing.internal.kotlinTestRegistry import org.jetbrains.kotlin.gradle.testing.internal.kotlinTestRegistry
@@ -69,10 +69,12 @@ class KotlinJsSingleTargetPreset(
// In a Kotlin/JS single-platform project, we don't need any disambiguation suffixes or prefixes in the names: // In a Kotlin/JS single-platform project, we don't need any disambiguation suffixes or prefixes in the names:
override fun provideTargetDisambiguationClassifier(target: KotlinOnlyTarget<KotlinJsCompilation>): String? = override fun provideTargetDisambiguationClassifier(target: KotlinOnlyTarget<KotlinJsCompilation>): String? =
irPreset?.let { "legacy" } irPreset?.let { LEGACY_DISAMBIGUATION_CLASSIFIER }
override fun createKotlinTargetConfigurator() = KotlinJsTargetConfigurator( override fun createKotlinTargetConfigurator() = KotlinJsTargetConfigurator(
kotlinPluginVersion, kotlinPluginVersion,
irPreset?.let { KotlinJsIrTargetConfigurator(kotlinPluginVersion) } irPreset?.let { KotlinJsIrTargetConfigurator(kotlinPluginVersion) }
) )
} }
const val LEGACY_DISAMBIGUATION_CLASSIFIER = "legacy"