From 3e8b27db4b9d5e2d358a28ee7b460b404251fbc3 Mon Sep 17 00:00:00 2001 From: Sergey Igushkin Date: Tue, 1 Feb 2022 01:12:40 +0400 Subject: [PATCH] Model mapping: reorder setup, create the modules early This is needed in order for the fragment locator to correctly locate the test module when the `commonTest` source set is created. --- .../plugin/mpp/KotlinMultiplatformPlugin.kt | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt index 970fcb890a2..75f5bacb284 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt @@ -77,6 +77,18 @@ class KotlinMultiplatformPlugin : Plugin { project.plugins.apply(JavaBasePlugin::class.java) + if (project.hasKpmModel) { + setupFragmentsMetadataForKpmModules(project) + setupKpmModulesPublication(project) + registerDefaultVariantFactories(project) + with(project.kpmModules) { + create(KotlinGradleModule.MAIN_MODULE_NAME) { + it.makePublic() + } + create(KotlinGradleModule.TEST_MODULE_NAME) + } + } + val targetsContainer = project.container(KotlinTarget::class.java) val kotlinMultiplatformExtension = project.extensions.getByType(KotlinMultiplatformExtension::class.java) val targetsFromPreset = TargetFromPresetExtension(kotlinMultiplatformExtension) @@ -134,13 +146,6 @@ class KotlinMultiplatformPlugin : Plugin { } } } - - if (project.hasKpmModel) { - setupFragmentsMetadataForKpmModules(project) - setupKpmModulesPublication(project) - registerDefaultVariantFactories(project) - project.kpmModules.matching { it.name == KotlinGradleModule.MAIN_MODULE_NAME }.all { it.makePublic() } - } } private fun exportProjectStructureMetadataForOtherBuilds(