From ec3e5c695925e0fc94cc65f2d49529ebc530d6b8 Mon Sep 17 00:00:00 2001 From: Sergey Igushkin Date: Tue, 19 Mar 2019 21:08:45 +0300 Subject: [PATCH] Revert "Use KotlinTarget.disambiguationClassifier for task & configuration names" --- .../kotlin/gradle/plugin/KotlinPlugin.kt | 31 +++++++------------ .../gradle/plugin/TaskToFriendTaskMapper.kt | 6 ++-- .../gradle/plugin/mpp/kotlinCompilations.kt | 16 ++++------ .../kotlin/gradle/plugin/mpp/kotlinTargets.kt | 2 +- .../kotlin/gradle/tasks/TasksProvider.kt | 4 +-- 5 files changed, 24 insertions(+), 35 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt index c660b0cbd6c..f3e1da42dd1 100755 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt @@ -30,8 +30,9 @@ import org.gradle.api.tasks.compile.AbstractCompile import org.gradle.api.tasks.compile.JavaCompile import org.gradle.jvm.tasks.Jar import org.gradle.tooling.provider.model.ToolingModelBuilderRegistry -import org.jetbrains.kotlin.gradle.dsl.* +import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptionsImpl +import org.jetbrains.kotlin.gradle.dsl.KotlinSingleJavaTargetExtension import org.jetbrains.kotlin.gradle.dsl.kotlinExtension import org.jetbrains.kotlin.gradle.internal.Kapt3KotlinGradleSubplugin import org.jetbrains.kotlin.gradle.internal.KaptVariantData @@ -42,7 +43,6 @@ import org.jetbrains.kotlin.gradle.model.builder.KotlinModelBuilder import org.jetbrains.kotlin.gradle.plugin.mpp.* import org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubplugin import org.jetbrains.kotlin.gradle.tasks.* -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.gradle.utils.* import java.io.File import java.net.URL @@ -398,8 +398,6 @@ internal abstract class AbstractKotlinPlugin( } companion object { - const val KOTLIN_TARGET_NAME = "kotlin" - fun configureProjectGlobalSettings(project: Project, kotlinPluginVersion: String) { configureDefaultVersionsResolutionStrategy(project, kotlinPluginVersion) configureClassInspectionForIC(project) @@ -558,19 +556,18 @@ internal fun configureDefaultVersionsResolutionStrategy(project: Project, kotlin internal open class KotlinPlugin( kotlinPluginVersion: String, registry: ToolingModelBuilderRegistry -) : AbstractKotlinPlugin(KotlinTasksProvider(targetDisambiguationClassifier), kotlinPluginVersion, registry) { +) : AbstractKotlinPlugin(KotlinTasksProvider(targetName), kotlinPluginVersion, registry) { companion object { - // Don't add anything to the task names - private const val targetDisambiguationClassifier: String = "" + private const val targetName = "" // use empty suffix for the task names } override fun buildSourceSetProcessor(project: Project, compilation: KotlinCompilation<*>, kotlinPluginVersion: String) = Kotlin2JvmSourceSetProcessor(project, tasksProvider, compilation, kotlinPluginVersion) override fun apply(project: Project) { - val target = KotlinWithJavaTarget(project, KotlinPlatformType.jvm, KOTLIN_TARGET_NAME).apply { - disambiguationClassifier = targetDisambiguationClassifier + val target = KotlinWithJavaTarget(project, KotlinPlatformType.jvm, targetName).apply { + disambiguationClassifier = null // don't add anything to the task names } (project.kotlinExtension as KotlinJvmProjectExtension).target = target @@ -583,10 +580,10 @@ internal open class KotlinPlugin( internal open class KotlinCommonPlugin( kotlinPluginVersion: String, registry: ToolingModelBuilderRegistry -) : AbstractKotlinPlugin(KotlinTasksProvider(targetDisambiguationClassifier), kotlinPluginVersion, registry) { +) : AbstractKotlinPlugin(KotlinTasksProvider(targetName), kotlinPluginVersion, registry) { companion object { - private const val targetDisambiguationClassifier = "common" + private const val targetName = "common" } override fun buildSourceSetProcessor( @@ -597,9 +594,7 @@ internal open class KotlinCommonPlugin( KotlinCommonSourceSetProcessor(project, compilation, tasksProvider, kotlinPluginVersion) override fun apply(project: Project) { - val target = KotlinWithJavaTarget(project, KotlinPlatformType.common, KOTLIN_TARGET_NAME).apply { - disambiguationClassifier = targetDisambiguationClassifier - } + val target = KotlinWithJavaTarget(project, KotlinPlatformType.common, targetName) (project.kotlinExtension as KotlinCommonProjectExtension).target = target super.apply(project) @@ -609,10 +604,10 @@ internal open class KotlinCommonPlugin( internal open class Kotlin2JsPlugin( kotlinPluginVersion: String, registry: ToolingModelBuilderRegistry -) : AbstractKotlinPlugin(KotlinTasksProvider(targetDisambiguationClassifier), kotlinPluginVersion, registry) { +) : AbstractKotlinPlugin(KotlinTasksProvider(targetName), kotlinPluginVersion, registry) { companion object { - private const val targetDisambiguationClassifier = "2Js" + private const val targetName = "2Js" } override fun buildSourceSetProcessor( @@ -625,9 +620,7 @@ internal open class Kotlin2JsPlugin( ) override fun apply(project: Project) { - val target = KotlinWithJavaTarget(project, KotlinPlatformType.js, KOTLIN_TARGET_NAME).apply { - disambiguationClassifier = targetDisambiguationClassifier - } + val target = KotlinWithJavaTarget(project, KotlinPlatformType.js, targetName) (project.kotlinExtension as Kotlin2JsProjectExtension).target = target super.apply(project) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/TaskToFriendTaskMapper.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/TaskToFriendTaskMapper.kt index 7a171a81c5d..c105b4bcfdc 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/TaskToFriendTaskMapper.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/TaskToFriendTaskMapper.kt @@ -33,17 +33,17 @@ internal abstract class TaskToFriendTaskMapper { sealed internal class RegexTaskToFriendTaskMapper( private val prefix: String, suffix: String, - private val targetDisambiguationClasssifier: String, + private val targetName: String, private val postfixReplacement: String ) : TaskToFriendTaskMapper() { class Default(targetName: String) : RegexTaskToFriendTaskMapper("compile", "TestKotlin", targetName, "Kotlin") class Android(targetName: String) : RegexTaskToFriendTaskMapper("compile", "(Unit|Android)TestKotlin", targetName, "Kotlin") - private val regex = "$prefix(.*)$suffix${targetDisambiguationClasssifier.capitalize()}".toRegex() + private val regex = "$prefix(.*)$suffix${targetName.capitalize()}".toRegex() override fun getFriendByName(name: String): String? { val match = regex.matchEntire(name) ?: return null val variant = match.groups[1]?.value ?: "" - return prefix + variant + postfixReplacement + targetDisambiguationClasssifier.capitalize() + return prefix + variant + postfixReplacement + targetName.capitalize() } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt index 3befe92004a..906e28e626e 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilations.kt @@ -10,8 +10,10 @@ import org.gradle.api.Project import org.gradle.api.attributes.AttributeContainer import org.gradle.api.file.FileCollection import org.gradle.util.ConfigureUtil -import org.jetbrains.kotlin.gradle.dsl.* +import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions +import org.jetbrains.kotlin.gradle.dsl.KotlinCompile import org.jetbrains.kotlin.gradle.dsl.kotlinExtension +import org.jetbrains.kotlin.gradle.dsl.multiplatformExtensionOrNull import org.jetbrains.kotlin.gradle.plugin.* import org.jetbrains.kotlin.gradle.plugin.sources.defaultSourceSetLanguageSettingsChecker import org.jetbrains.kotlin.gradle.plugin.sources.getSourceSetHierarchy @@ -23,19 +25,13 @@ import java.util.concurrent.Callable internal fun KotlinCompilation<*>.composeName(prefix: String? = null, suffix: String? = null): String { val compilationNamePart = compilationName.takeIf { it != KotlinCompilation.MAIN_COMPILATION_NAME } - val targetNamePart = - if (target is KotlinWithJavaTarget<*>) - "" // no name disambiguation is needed for single-platform projects - else target.disambiguationClassifier + val targetNamePart = target.disambiguationClassifier return lowerCamelCaseName(prefix, targetNamePart, compilationNamePart, suffix) } internal val KotlinCompilation<*>.defaultSourceSetName: String - get() = when (this) { - is KotlinWithJavaCompilation<*> -> compilationName // no name disambiguation is needed for single-platform projects - else -> lowerCamelCaseName(target.disambiguationClassifier, compilationName) - } + get() = lowerCamelCaseName(target.disambiguationClassifier, compilationName) abstract class AbstractKotlinCompilation( target: KotlinTarget, @@ -151,7 +147,7 @@ abstract class AbstractKotlinCompilation( "compile", compilationName.takeIf { it != KotlinCompilation.MAIN_COMPILATION_NAME }, "Kotlin", - target.disambiguationClassifier + target.targetName ) override val compileAllTaskName: String diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinTargets.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinTargets.kt index e5343262fdd..7c123baab41 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinTargets.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinTargets.kt @@ -239,7 +239,7 @@ abstract class AbstractKotlinTarget( } internal fun KotlinTarget.disambiguateName(simpleName: String) = - lowerCamelCaseName(disambiguationClassifier, simpleName) + lowerCamelCaseName(targetName, simpleName) internal fun javaApiUsageForMavenScoping() = if (isGradleVersionAtLeast(5, 3)) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/TasksProvider.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/TasksProvider.kt index aa59efc5480..66ddc4fcee5 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/TasksProvider.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/TasksProvider.kt @@ -39,7 +39,7 @@ internal fun registerTask(project: Project, name: String, type: Class } } -internal open class KotlinTasksProvider(targetDisambiguationClassifier: String) { +internal open class KotlinTasksProvider(val targetName: String) { open fun registerKotlinJVMTask( project: Project, name: String, @@ -109,7 +109,7 @@ internal open class KotlinTasksProvider(targetDisambiguationClassifier: String) } protected open val taskToFriendTaskMapper: TaskToFriendTaskMapper = - RegexTaskToFriendTaskMapper.Default(targetDisambiguationClassifier) + RegexTaskToFriendTaskMapper.Default(targetName) private inline fun taskOrWorkersTask(properties: PropertiesProvider): Class = if (properties.parallelTasksInProject != true) Task::class.java else WorkersTask::class.java