From 05d3e48564ddf3361090491d9055dfe431ca02a2 Mon Sep 17 00:00:00 2001 From: Andrey Uskov Date: Thu, 3 Sep 2020 14:45:20 +0300 Subject: [PATCH] Implemented collecting statistics about JS target mode --- .../kotlin/idea/statistics/KotlinGradleFUSLogger.kt | 3 ++- .../kotlin/gradle/targets/js/KotlinJsTargetPreset.kt | 10 ++++++++++ .../kotlin/statistics/metrics/StringMetrics.kt | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/statistics/KotlinGradleFUSLogger.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/statistics/KotlinGradleFUSLogger.kt index e43ab4b19a8..2b3617ae439 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/statistics/KotlinGradleFUSLogger.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/statistics/KotlinGradleFUSLogger.kt @@ -102,7 +102,8 @@ class KotlinGradleFUSLogger : StartupActivity, DumbAware, Runnable { container.log( GradleStatisticsEvents.JS, BooleanMetrics.JS_GENERATE_EXTERNALS, - StringMetrics.JS_GENERATE_EXECUTABLE_DEFAULT + StringMetrics.JS_GENERATE_EXECUTABLE_DEFAULT, + StringMetrics.JS_TARGET_MODE ) container.log( diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetPreset.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetPreset.kt index 0792dc38472..5bae1ff7ca3 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetPreset.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetPreset.kt @@ -10,10 +10,12 @@ package org.jetbrains.kotlin.gradle.plugin.mpp import org.gradle.api.Project import org.jetbrains.kotlin.gradle.plugin.* +import org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatsService import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTargetConfigurator import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTargetPreset import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName +import org.jetbrains.kotlin.statistics.metrics.StringMetrics open class KotlinJsTargetPreset( project: Project, @@ -68,6 +70,14 @@ open class KotlinJsTargetPreset( """.trimIndent() ) } + val buildStatsService = KotlinBuildStatsService.getInstance() + when { + isBrowserConfigured && isNodejsConfigured -> buildStatsService?.report(StringMetrics.JS_TARGET_MODE, "both") + isBrowserConfigured -> buildStatsService?.report(StringMetrics.JS_TARGET_MODE, "browser") + isNodejsConfigured -> buildStatsService?.report(StringMetrics.JS_TARGET_MODE, "nodejs") + !isBrowserConfigured && !isNodejsConfigured -> buildStatsService?.report(StringMetrics.JS_TARGET_MODE, "none") + } + Unit } } } diff --git a/libraries/tools/kotlin-gradle-statistics/src/org/jetbrains/kotlin/statistics/metrics/StringMetrics.kt b/libraries/tools/kotlin-gradle-statistics/src/org/jetbrains/kotlin/statistics/metrics/StringMetrics.kt index b0d6a446d5e..4817d9bbed9 100644 --- a/libraries/tools/kotlin-gradle-statistics/src/org/jetbrains/kotlin/statistics/metrics/StringMetrics.kt +++ b/libraries/tools/kotlin-gradle-statistics/src/org/jetbrains/kotlin/statistics/metrics/StringMetrics.kt @@ -41,6 +41,7 @@ enum class StringMetrics(val type: StringOverridePolicy, val anonymization: Stri KOTLIN_LANGUAGE_VERSION(OVERRIDE, COMPONENT_VERSION), KOTLIN_API_VERSION(OVERRIDE, COMPONENT_VERSION), JS_GENERATE_EXECUTABLE_DEFAULT(CONCAT, SAFE), + JS_TARGET_MODE(CONCAT, SAFE), // Compiler parameters JVM_DEFAULTS(CONCAT, SAFE),