From f5c05c1a5286e0a8add026cb4524e7fa19a0d0e9 Mon Sep 17 00:00:00 2001 From: Anton Lakotka Date: Thu, 24 Mar 2022 11:42:30 +0100 Subject: [PATCH] [Gradle][KPM] Add kotlinToolingMetadataOfMainModule for tests --- .../kpm/BuildKotlinToolingMetadataTest.kt | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/BuildKotlinToolingMetadataTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/BuildKotlinToolingMetadataTest.kt index bbf13dbbdd8..33b20b05d3b 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/BuildKotlinToolingMetadataTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/BuildKotlinToolingMetadataTest.kt @@ -25,11 +25,13 @@ import org.gradle.kotlin.dsl.create import org.jetbrains.kotlin.gradle.plugin.* import kotlin.test.* -private fun Project.kotlinToolingMetadataOfModule(moduleName: String = KotlinGradleModule.MAIN_MODULE_NAME): KotlinToolingMetadata { +private fun Project.kotlinToolingMetadataOfModule(moduleName: String): KotlinToolingMetadata { val module = kpmModules.getByName(moduleName) return module.buildKotlinToolingMetadataTask!!.get().kotlinToolingMetadata } +private val Project.kotlinToolingMetadataOfMainModule get() = kotlinToolingMetadataOfModule(KotlinGradleModule.MAIN_MODULE_NAME) + class BuildKotlinToolingMetadataTest : AbstractKpmExtensionTest() { @Test fun `multiple targets`() { @@ -45,7 +47,7 @@ class BuildKotlinToolingMetadataTest : AbstractKpmExtensionTest() { } // When - val metadata = project.kotlinToolingMetadataOfModule() + val metadata = project.kotlinToolingMetadataOfMainModule // Then assertEquals("Gradle", metadata.buildSystem) @@ -57,16 +59,21 @@ class BuildKotlinToolingMetadataTest : AbstractKpmExtensionTest() { val jvmTarget = metadata.projectTargets.single { it.platformType == jvm.name } assertEquals(KotlinJvmVariant::class.java.canonicalName, jvmTarget.target) - val nativeTargets = metadata.projectTargets.filter { it.platformType == native.name }.sortedBy { it.platformType } - assertEquals(KotlinLinuxArm64Variant::class.java.canonicalName, nativeTargets[0].target) - assertEquals(KotlinLinuxX64Variant::class.java.canonicalName, nativeTargets[1].target) + val nativeTargets = metadata.projectTargets.filter { it.platformType == native.name }.map { it.target }.toSet() + assertEquals( + setOf( + KotlinLinuxArm64Variant::class.java.canonicalName, + KotlinLinuxX64Variant::class.java.canonicalName + ), + nativeTargets + ) } } class KotlinToolingMetadataWithModelMappingTest { private val project = ProjectBuilder.builder().build().also { addBuildEventsListenerRegistryMock(it) } as ProjectInternal private val multiplatformExtension get() = project.extensions.getByType(KotlinMultiplatformExtension::class.java) - private fun getKotlinToolingMetadata() = project.kotlinToolingMetadataOfModule() + private fun getKotlinToolingMetadata() = project.kotlinToolingMetadataOfMainModule @BeforeTest fun setup() {