Implemented collecting statistics about JS target mode

This commit is contained in:
Andrey Uskov
2020-09-03 14:45:20 +03:00
parent 4716228500
commit 05d3e48564
3 changed files with 13 additions and 1 deletions
@@ -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(
@@ -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
}
}
}
@@ -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),