From 390b4e30a0723e76614ad05a834470c506b9a72e Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Wed, 21 Jun 2023 09:04:26 +0200 Subject: [PATCH] [Gradle][Minor] Move reporting of targets out of 'configureSourceSets' ^KT-58676 In Progress --- .../plugin/mpp/KotlinMultiplatformPlugin.kt | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt index 9b80341309a..af1c837c1f9 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt @@ -13,9 +13,8 @@ import org.gradle.api.plugins.JavaBasePlugin import org.gradle.api.tasks.TaskProvider import org.gradle.jvm.tasks.Jar import org.gradle.util.GradleVersion -import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension +import org.jetbrains.kotlin.gradle.dsl.* import org.jetbrains.kotlin.gradle.dsl.explicitApiModeAsCompilerArg -import org.jetbrains.kotlin.gradle.dsl.kotlinExtension import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension import org.jetbrains.kotlin.gradle.internal.customizeKotlinDependencies import org.jetbrains.kotlin.gradle.plugin.* @@ -59,6 +58,7 @@ class KotlinMultiplatformPlugin : Plugin { setupDefaultPresets(project) customizeKotlinDependencies(project) configureSourceSets(project) + setupTargetsBuildStatsReport(project) // set up metadata publishing kotlinMultiplatformExtension.targetFromPreset( @@ -188,13 +188,6 @@ class KotlinMultiplatformPlugin : Plugin { compilation.defaultSourceSet.dependsOn(commonSourceSet) } } - - /* Report the platform to tbe build stats service */ - val targetName = if (target is KotlinNativeTarget) - target.konanTarget.name - else - target.platformType.name - KotlinBuildStatsService.getInstance()?.report(StringMetrics.MPP_PLATFORMS, targetName) } project.launchInStage(KotlinPluginLifecycle.Stage.ReadyForExecution) { @@ -204,6 +197,18 @@ class KotlinMultiplatformPlugin : Plugin { } } + private fun setupTargetsBuildStatsReport(project: Project) { + project.multiplatformExtension.targets.all { target -> + /* Report the platform to tbe build stats service */ + val targetName = if (target is KotlinNativeTarget) + target.konanTarget.name + else + target.platformType.name + KotlinBuildStatsService.getInstance()?.report(StringMetrics.MPP_PLATFORMS, targetName) + } + } + + companion object { const val METADATA_TARGET_NAME = "metadata"