diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProperties.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProperties.kt index 750e44c548b..0682f4b62a1 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProperties.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProperties.kt @@ -145,7 +145,7 @@ internal class PropertiesProvider private constructor(private val project: Proje var mpp13XFlagsSetByPlugin: Boolean get() = booleanProperty("kotlin.internal.mpp.13X.flags.setByPlugin") ?: false - set(value) { project.extensions.extraProperties.set("kotlin.internal.mpp.13X.flags.setByPlugin") { "$value" } } + set(value) { project.extensions.extraProperties.set("kotlin.internal.mpp.13X.flags.setByPlugin", "$value") } val mppHierarchicalStructureByDefault: Boolean get() = booleanProperty(KOTLIN_MPP_HIERARCHICAL_STRUCTURE_BY_DEFAULT) ?: false diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/internal/hierarchicalStructureMigrationHandling.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/internal/hierarchicalStructureMigrationHandling.kt index cd8d5083d39..93446f7273d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/internal/hierarchicalStructureMigrationHandling.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/internal/hierarchicalStructureMigrationHandling.kt @@ -14,11 +14,12 @@ import org.jetbrains.kotlin.gradle.utils.SingleWarningPerBuild import org.jetbrains.kotlin.gradle.utils.getOrPut internal fun handleHierarchicalStructureFlagsMigration(project: Project) { - if (project.rootProject === project) { - SingleActionPerProject.run(project.rootProject, "handleHierarchicalStructureFlagsMigration - rootProject") { - doHandleHierarchicalStructureFlagsMigration(project.rootProject) - } - } else { + SingleActionPerProject.run(project.rootProject, "handleHierarchicalStructureFlagsMigration - rootProject") { + doHandleHierarchicalStructureFlagsMigration(project.rootProject) + } + + // rootProject will be handled with the SingleActionPerProject above + if (project.rootProject !== project) { doHandleHierarchicalStructureFlagsMigration(project) } } @@ -41,7 +42,7 @@ private fun PropertiesProvider.checkHmppFeatureFlagsForConsistency(project: Proj if (hierarchicalStructureSupport) { if (project === project.rootProject) { when (enableGranularSourceSetsMetadata) { - true -> warnGranularMetadataTrueHasNoEffect(project) + true -> if (!mpp13XFlagsSetByPlugin) warnGranularMetadataTrueHasNoEffect(project) false -> errorGranularMetadataFalseUnsupported() null -> Unit }