[Gradle] Implement MultiplatformBuildStatsReportSetupAction
KT-61634
This commit is contained in:
committed by
Space Team
parent
070b80a05f
commit
382482a26c
-13
@@ -35,7 +35,6 @@ class KotlinMultiplatformPlugin : Plugin<Project> {
|
||||
setupDefaultPresets(project)
|
||||
customizeKotlinDependencies(project)
|
||||
configureSourceSets(project)
|
||||
setupTargetsBuildStatsReport(project)
|
||||
}
|
||||
|
||||
fun setupDefaultPresets(project: Project) {
|
||||
@@ -80,18 +79,6 @@ class KotlinMultiplatformPlugin : Plugin<Project> {
|
||||
}
|
||||
}
|
||||
|
||||
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"
|
||||
|
||||
|
||||
+2
@@ -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)
|
||||
|
||||
+20
@@ -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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user