build.gradle.kts: collect statistics about auto reload

This commit is contained in:
Sergey Rostov
2019-08-22 09:52:55 +03:00
parent 6c90279694
commit 46f8feaf98
5 changed files with 29 additions and 4 deletions
@@ -0,0 +1,14 @@
/*
* Copyright 2010-2019 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.idea.core.script
import com.intellij.internal.statistic.collectors.fus.fileTypes.FileTypeUsageSchemaDescriptor
import com.intellij.openapi.vfs.VirtualFile
class KotlinGradleScriptFileTypeSchemaDetector : FileTypeUsageSchemaDescriptor {
override fun describes(file: VirtualFile): Boolean =
file.name.endsWith(".gradle.kts")
}
@@ -10,22 +10,30 @@ import com.intellij.internal.statistic.eventLog.FeatureUsageData
import com.intellij.internal.statistic.service.fus.collectors.ProjectUsagesCollector
import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.idea.KotlinPluginUtil
import org.jetbrains.kotlin.idea.core.script.settings.KotlinScriptingSettings
import org.jetbrains.kotlin.idea.project.NewInferenceForIDEAnalysisComponent
class IDESettingsFUSCollector : ProjectUsagesCollector() {
override fun getUsages(project: Project): Set<UsageDescriptor> {
val usages = mutableSetOf<UsageDescriptor>()
@Suppress("DEPRECATION")
val inferenceState = NewInferenceForIDEAnalysisComponent.isEnabledForV1(project)
val data = FeatureUsageData()
.addData("enabled", inferenceState)
.addData("pluginVersion", KotlinPluginUtil.getPluginVersion())
usages.add(UsageDescriptor("newInference", flagUsage(inferenceState)))
val scriptingAutoReloadEnabled = KotlinScriptingSettings.getInstance(project).isAutoReloadEnabled
usages.add(UsageDescriptor("scriptingAutoReloadEnabled", flagUsage(scriptingAutoReloadEnabled)))
usages.add(UsageDescriptor("newInference", data))
return usages
}
private fun flagUsage(enabled: Boolean): FeatureUsageData {
return FeatureUsageData()
.addData("enabled", enabled)
.addData("pluginVersion", KotlinPluginUtil.getPluginVersion())
}
override fun getGroupId() = "kotlin.ide.settings"
override fun getVersion(): Int = 1
}
+1
View File
@@ -80,5 +80,6 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio.
<statistics.projectUsagesCollector implementation="org.jetbrains.kotlin.idea.statistics.ProjectConfigurationCollector"/>
<trafficLightRendererContributor implementation="org.jetbrains.kotlin.idea.core.script.ScriptTrafficLightRendererContributor"/>
<fileTypeUsageSchemaDescriptor schema="Gradle Script" implementationClass="org.jetbrains.kotlin.idea.core.script.KotlinGradleScriptFileTypeSchemaDetector"/>
</extensions>
</idea-plugin>
+1
View File
@@ -72,5 +72,6 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio.
<extensions defaultExtensionNs="com.intellij">
<trafficLightRendererContributor implementation="org.jetbrains.kotlin.idea.core.script.ScriptTrafficLightRendererContributor"/>
<fileTypeUsageSchemaDescriptor schema="Gradle Script" implementationClass="org.jetbrains.kotlin.idea.core.script.KotlinGradleScriptFileTypeSchemaDetector"/>
</extensions>
</idea-plugin>
+1
View File
@@ -72,5 +72,6 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio.
<extensions defaultExtensionNs="com.intellij">
<trafficLightRendererContributor implementation="org.jetbrains.kotlin.idea.core.script.ScriptTrafficLightRendererContributor"/>
<fileTypeUsageSchemaDescriptor schema="Gradle Script" implementationClass="org.jetbrains.kotlin.idea.core.script.KotlinGradleScriptFileTypeSchemaDetector"/>
</extensions>
</idea-plugin>