From 0406659ac8564c59005d0a628992ccbc9365100a Mon Sep 17 00:00:00 2001 From: "sebastian.sellmair" Date: Wed, 17 Mar 2021 11:48:56 +0100 Subject: [PATCH] BuildKotlinToolingMetadataTask: Strip _Decorated classes from target name --- .../gradle/BuildKotlinToolingMetadataTest.kt | 29 +++++++++++++++++++ .../tooling/BuildKotlinToolingMetadataTask.kt | 11 +++++-- .../kotlin/tooling/DeserializeStringTest.kt | 16 +++++----- 3 files changed, 46 insertions(+), 10 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/BuildKotlinToolingMetadataTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/BuildKotlinToolingMetadataTest.kt index 088310d5c4c..ad133a29c81 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/BuildKotlinToolingMetadataTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/BuildKotlinToolingMetadataTest.kt @@ -20,7 +20,11 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginWrapper import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType.* import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion +import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMetadataTarget +import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetWithHostTests +import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget +import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget import org.jetbrains.kotlin.gradle.tooling.buildKotlinToolingMetadataTask import org.jetbrains.kotlin.konan.target.KonanTarget import org.jetbrains.kotlin.library.KotlinAbiVersion @@ -81,6 +85,31 @@ class BuildKotlinToolingMetadataTest { listOf(common, androidJvm, jvm, js, native).map { it.name }.sorted(), metadata.projectTargets.map { it.platformType }.sorted() ) + + assertEquals( + KotlinMetadataTarget::class.java.canonicalName, + metadata.projectTargets.single { it.platformType == common.name }.target + ) + + assertEquals( + KotlinAndroidTarget::class.java.canonicalName, + metadata.projectTargets.single { it.platformType == androidJvm.name }.target + ) + + assertEquals( + KotlinJvmTarget::class.java.canonicalName, + metadata.projectTargets.single { it.platformType == jvm.name }.target + ) + + assertEquals( + KotlinJsTarget::class.java.canonicalName, + metadata.projectTargets.single { it.platformType == js.name }.target + ) + + assertEquals( + KotlinNativeTargetWithHostTests::class.java.canonicalName, + metadata.projectTargets.single { it.platformType == native.name }.target + ) } @Test diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tooling/BuildKotlinToolingMetadataTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tooling/BuildKotlinToolingMetadataTask.kt index 27e365ca4b2..ed353e5143e 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tooling/BuildKotlinToolingMetadataTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tooling/BuildKotlinToolingMetadataTask.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.gradle.tooling import com.android.build.gradle.BaseExtension import org.gradle.api.DefaultTask import org.gradle.api.Project +import org.gradle.api.internal.GeneratedSubclass import org.gradle.api.provider.Property import org.gradle.api.tasks.* import org.jetbrains.kotlin.compilerRunner.konanVersion @@ -16,7 +17,6 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension import org.jetbrains.kotlin.gradle.dsl.KotlinSingleTargetExtension import org.jetbrains.kotlin.gradle.dsl.kotlinExtension import org.jetbrains.kotlin.gradle.plugin.* -import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsSubTargetContainerDsl @@ -108,12 +108,18 @@ private fun KotlinProjectExtension.buildProjectTargets(): List