diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/hierarchy/defaultKotlinHierarchySetup.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/hierarchy/defaultKotlinHierarchySetup.kt index 37096fa3dfc..4745be37e3b 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/hierarchy/defaultKotlinHierarchySetup.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/hierarchy/defaultKotlinHierarchySetup.kt @@ -85,8 +85,11 @@ private suspend fun Project.illegalTargetNamesUsed(): Set { val targetNames = targets.map { it.name }.toSet() return targets.flatMap { it.compilations }.mapNotNull { compilation -> val hierarchy = KotlinHierarchyTemplate.default.buildHierarchy(compilation) ?: return@mapNotNull null - val nodeNames = hierarchy.childrenClosure.mapNotNull { it.node as? KotlinHierarchy.Node.Group }.map { it.name }.toSet() - nodeNames.intersect(targetNames) + val nodeNames = hierarchy.childrenClosure + .mapNotNull { it.node as? KotlinHierarchy.Node.Group } + .map { it.name } + .toSortedSet(String.CASE_INSENSITIVE_ORDER) + targetNames.intersect(nodeNames) }.flatten().toSet() } diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/diagnosticsTests/DefaultHierarchySetupDiagnosticTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/diagnosticsTests/DefaultHierarchySetupDiagnosticTest.kt index c22cb6bb01f..577389412f8 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/diagnosticsTests/DefaultHierarchySetupDiagnosticTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/diagnosticsTests/DefaultHierarchySetupDiagnosticTest.kt @@ -39,7 +39,7 @@ class DefaultHierarchySetupDiagnosticTest { fun `test - warning KotlinTargetHierarchyFallbackIllegalTargetNames`() = buildProjectWithMPP().runLifecycleAwareTest { val kotlin = multiplatformExtension kotlin.linuxX64("linux") // <- illegal: Will clash with 'linux' group - kotlin.linuxArm64("native") // <-- illegal: Will clash with 'native' group + kotlin.linuxArm64("Native") // <-- illegal: Will clash with 'native' group kotlin.jvm() project.launchInStage(KotlinPluginLifecycle.Stage.ReadyForExecution) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/resources/expectedDiagnostics/KotlinDefaultHierarchyFallbackIllegalTargetNames.txt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/resources/expectedDiagnostics/KotlinDefaultHierarchyFallbackIllegalTargetNames.txt index fa3b0bacc3d..6993ac5cbda 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/resources/expectedDiagnostics/KotlinDefaultHierarchyFallbackIllegalTargetNames.txt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/resources/expectedDiagnostics/KotlinDefaultHierarchyFallbackIllegalTargetNames.txt @@ -1,6 +1,6 @@ [KotlinDefaultHierarchyFallbackIllegalTargetNames | WARNING] The Default Kotlin Hierarchy was not applied to 'root project 'test'': Illegal target names were found: -[native, linux] +[Native, linux] To suppress the 'Default Hierarchy Template' add 'kotlin.mpp.applyDefaultHierarchyTemplate=false'