[Gradle][KPM] Add kotlinToolingMetadataOfMainModule for tests
This commit is contained in:
+13
-6
@@ -25,11 +25,13 @@ import org.gradle.kotlin.dsl.create
|
|||||||
import org.jetbrains.kotlin.gradle.plugin.*
|
import org.jetbrains.kotlin.gradle.plugin.*
|
||||||
import kotlin.test.*
|
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)
|
val module = kpmModules.getByName(moduleName)
|
||||||
return module.buildKotlinToolingMetadataTask!!.get().kotlinToolingMetadata
|
return module.buildKotlinToolingMetadataTask!!.get().kotlinToolingMetadata
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private val Project.kotlinToolingMetadataOfMainModule get() = kotlinToolingMetadataOfModule(KotlinGradleModule.MAIN_MODULE_NAME)
|
||||||
|
|
||||||
class BuildKotlinToolingMetadataTest : AbstractKpmExtensionTest() {
|
class BuildKotlinToolingMetadataTest : AbstractKpmExtensionTest() {
|
||||||
@Test
|
@Test
|
||||||
fun `multiple targets`() {
|
fun `multiple targets`() {
|
||||||
@@ -45,7 +47,7 @@ class BuildKotlinToolingMetadataTest : AbstractKpmExtensionTest() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// When
|
// When
|
||||||
val metadata = project.kotlinToolingMetadataOfModule()
|
val metadata = project.kotlinToolingMetadataOfMainModule
|
||||||
|
|
||||||
// Then
|
// Then
|
||||||
assertEquals("Gradle", metadata.buildSystem)
|
assertEquals("Gradle", metadata.buildSystem)
|
||||||
@@ -57,16 +59,21 @@ class BuildKotlinToolingMetadataTest : AbstractKpmExtensionTest() {
|
|||||||
val jvmTarget = metadata.projectTargets.single { it.platformType == jvm.name }
|
val jvmTarget = metadata.projectTargets.single { it.platformType == jvm.name }
|
||||||
assertEquals(KotlinJvmVariant::class.java.canonicalName, jvmTarget.target)
|
assertEquals(KotlinJvmVariant::class.java.canonicalName, jvmTarget.target)
|
||||||
|
|
||||||
val nativeTargets = metadata.projectTargets.filter { it.platformType == native.name }.sortedBy { it.platformType }
|
val nativeTargets = metadata.projectTargets.filter { it.platformType == native.name }.map { it.target }.toSet()
|
||||||
assertEquals(KotlinLinuxArm64Variant::class.java.canonicalName, nativeTargets[0].target)
|
assertEquals(
|
||||||
assertEquals(KotlinLinuxX64Variant::class.java.canonicalName, nativeTargets[1].target)
|
setOf(
|
||||||
|
KotlinLinuxArm64Variant::class.java.canonicalName,
|
||||||
|
KotlinLinuxX64Variant::class.java.canonicalName
|
||||||
|
),
|
||||||
|
nativeTargets
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class KotlinToolingMetadataWithModelMappingTest {
|
class KotlinToolingMetadataWithModelMappingTest {
|
||||||
private val project = ProjectBuilder.builder().build().also { addBuildEventsListenerRegistryMock(it) } as ProjectInternal
|
private val project = ProjectBuilder.builder().build().also { addBuildEventsListenerRegistryMock(it) } as ProjectInternal
|
||||||
private val multiplatformExtension get() = project.extensions.getByType(KotlinMultiplatformExtension::class.java)
|
private val multiplatformExtension get() = project.extensions.getByType(KotlinMultiplatformExtension::class.java)
|
||||||
private fun getKotlinToolingMetadata() = project.kotlinToolingMetadataOfModule()
|
private fun getKotlinToolingMetadata() = project.kotlinToolingMetadataOfMainModule
|
||||||
|
|
||||||
@BeforeTest
|
@BeforeTest
|
||||||
fun setup() {
|
fun setup() {
|
||||||
|
|||||||
Reference in New Issue
Block a user