[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)
|
setupDefaultPresets(project)
|
||||||
customizeKotlinDependencies(project)
|
customizeKotlinDependencies(project)
|
||||||
configureSourceSets(project)
|
configureSourceSets(project)
|
||||||
setupTargetsBuildStatsReport(project)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setupDefaultPresets(project: 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 {
|
companion object {
|
||||||
const val METADATA_TARGET_NAME = "metadata"
|
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.UserDefinedAttributesSetupAction
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.apple.AddBuildListenerForXCodeSetupAction
|
import org.jetbrains.kotlin.gradle.plugin.mpp.apple.AddBuildListenerForXCodeSetupAction
|
||||||
import org.jetbrains.kotlin.gradle.plugin.sources.LanguageSettingsSetupAction
|
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.scripting.internal.ScriptingGradleSubpluginSetupAction
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.npm.AddNpmDependencyExtensionProjectSetupAction
|
import org.jetbrains.kotlin.gradle.targets.js.npm.AddNpmDependencyExtensionProjectSetupAction
|
||||||
import org.jetbrains.kotlin.gradle.targets.metadata.KotlinMetadataTargetSetupAction
|
import org.jetbrains.kotlin.gradle.targets.metadata.KotlinMetadataTargetSetupAction
|
||||||
@@ -62,6 +63,7 @@ internal fun Project.registerKotlinPluginExtensions() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isMultiplatform) {
|
if (isMultiplatform) {
|
||||||
|
register(project, MultiplatformBuildStatsReportSetupAction)
|
||||||
register(project, KotlinMetadataTargetSetupAction)
|
register(project, KotlinMetadataTargetSetupAction)
|
||||||
register(project, KotlinArtifactsExtensionSetupAction)
|
register(project, KotlinArtifactsExtensionSetupAction)
|
||||||
register(project, MultiplatformPublishingSetupAction)
|
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