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 ab96a20f802..8dbc91c45e1 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 @@ -35,7 +35,6 @@ class KotlinMultiplatformPlugin : Plugin { setupDefaultPresets(project) customizeKotlinDependencies(project) configureSourceSets(project) - setupTargetsBuildStatsReport(project) } fun setupDefaultPresets(project: Project) { @@ -80,18 +79,6 @@ 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" diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/registerKotlinPluginExtensions.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/registerKotlinPluginExtensions.kt index 2705406eaf9..c0374da150c 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/registerKotlinPluginExtensions.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/registerKotlinPluginExtensions.kt @@ -37,6 +37,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.SyncLanguageSettingsWithKotlinExte import org.jetbrains.kotlin.gradle.plugin.mpp.UserDefinedAttributesSetupAction import org.jetbrains.kotlin.gradle.plugin.mpp.apple.AddBuildListenerForXCodeSetupAction import org.jetbrains.kotlin.gradle.plugin.sources.LanguageSettingsSetupAction +import org.jetbrains.kotlin.gradle.plugin.statistics.MultiplatformBuildStatsReportSetupAction import org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubpluginSetupAction import org.jetbrains.kotlin.gradle.targets.js.npm.AddNpmDependencyExtensionProjectSetupAction import org.jetbrains.kotlin.gradle.targets.metadata.KotlinMetadataTargetSetupAction @@ -62,6 +63,7 @@ internal fun Project.registerKotlinPluginExtensions() { } if (isMultiplatform) { + register(project, MultiplatformBuildStatsReportSetupAction) register(project, KotlinMetadataTargetSetupAction) register(project, KotlinArtifactsExtensionSetupAction) register(project, MultiplatformPublishingSetupAction) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/statistics/MultiplatformPlatformReportSetupAction.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/statistics/MultiplatformPlatformReportSetupAction.kt new file mode 100644 index 00000000000..b4baa4b2215 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/statistics/MultiplatformPlatformReportSetupAction.kt @@ -0,0 +1,20 @@ +/* + * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.gradle.plugin.statistics + +import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension +import org.jetbrains.kotlin.gradle.plugin.KotlinProjectSetupAction +import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget +import org.jetbrains.kotlin.statistics.metrics.StringMetrics + +internal val MultiplatformBuildStatsReportSetupAction = KotlinProjectSetupAction { + 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) + } +}