build.gradle.kts: collect statistics about auto reload
This commit is contained in:
+14
@@ -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.internal.statistic.service.fus.collectors.ProjectUsagesCollector
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import org.jetbrains.kotlin.idea.KotlinPluginUtil
|
import org.jetbrains.kotlin.idea.KotlinPluginUtil
|
||||||
|
import org.jetbrains.kotlin.idea.core.script.settings.KotlinScriptingSettings
|
||||||
import org.jetbrains.kotlin.idea.project.NewInferenceForIDEAnalysisComponent
|
import org.jetbrains.kotlin.idea.project.NewInferenceForIDEAnalysisComponent
|
||||||
|
|
||||||
class IDESettingsFUSCollector : ProjectUsagesCollector() {
|
class IDESettingsFUSCollector : ProjectUsagesCollector() {
|
||||||
|
|
||||||
override fun getUsages(project: Project): Set<UsageDescriptor> {
|
override fun getUsages(project: Project): Set<UsageDescriptor> {
|
||||||
val usages = mutableSetOf<UsageDescriptor>()
|
val usages = mutableSetOf<UsageDescriptor>()
|
||||||
|
|
||||||
@Suppress("DEPRECATION")
|
@Suppress("DEPRECATION")
|
||||||
val inferenceState = NewInferenceForIDEAnalysisComponent.isEnabledForV1(project)
|
val inferenceState = NewInferenceForIDEAnalysisComponent.isEnabledForV1(project)
|
||||||
val data = FeatureUsageData()
|
usages.add(UsageDescriptor("newInference", flagUsage(inferenceState)))
|
||||||
.addData("enabled", inferenceState)
|
|
||||||
.addData("pluginVersion", KotlinPluginUtil.getPluginVersion())
|
val scriptingAutoReloadEnabled = KotlinScriptingSettings.getInstance(project).isAutoReloadEnabled
|
||||||
|
usages.add(UsageDescriptor("scriptingAutoReloadEnabled", flagUsage(scriptingAutoReloadEnabled)))
|
||||||
|
|
||||||
usages.add(UsageDescriptor("newInference", data))
|
|
||||||
return usages
|
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 getGroupId() = "kotlin.ide.settings"
|
||||||
override fun getVersion(): Int = 1
|
override fun getVersion(): Int = 1
|
||||||
}
|
}
|
||||||
@@ -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"/>
|
<statistics.projectUsagesCollector implementation="org.jetbrains.kotlin.idea.statistics.ProjectConfigurationCollector"/>
|
||||||
|
|
||||||
<trafficLightRendererContributor implementation="org.jetbrains.kotlin.idea.core.script.ScriptTrafficLightRendererContributor"/>
|
<trafficLightRendererContributor implementation="org.jetbrains.kotlin.idea.core.script.ScriptTrafficLightRendererContributor"/>
|
||||||
|
<fileTypeUsageSchemaDescriptor schema="Gradle Script" implementationClass="org.jetbrains.kotlin.idea.core.script.KotlinGradleScriptFileTypeSchemaDetector"/>
|
||||||
</extensions>
|
</extensions>
|
||||||
</idea-plugin>
|
</idea-plugin>
|
||||||
|
|||||||
@@ -72,5 +72,6 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio.
|
|||||||
|
|
||||||
<extensions defaultExtensionNs="com.intellij">
|
<extensions defaultExtensionNs="com.intellij">
|
||||||
<trafficLightRendererContributor implementation="org.jetbrains.kotlin.idea.core.script.ScriptTrafficLightRendererContributor"/>
|
<trafficLightRendererContributor implementation="org.jetbrains.kotlin.idea.core.script.ScriptTrafficLightRendererContributor"/>
|
||||||
|
<fileTypeUsageSchemaDescriptor schema="Gradle Script" implementationClass="org.jetbrains.kotlin.idea.core.script.KotlinGradleScriptFileTypeSchemaDetector"/>
|
||||||
</extensions>
|
</extensions>
|
||||||
</idea-plugin>
|
</idea-plugin>
|
||||||
|
|||||||
@@ -72,5 +72,6 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio.
|
|||||||
|
|
||||||
<extensions defaultExtensionNs="com.intellij">
|
<extensions defaultExtensionNs="com.intellij">
|
||||||
<trafficLightRendererContributor implementation="org.jetbrains.kotlin.idea.core.script.ScriptTrafficLightRendererContributor"/>
|
<trafficLightRendererContributor implementation="org.jetbrains.kotlin.idea.core.script.ScriptTrafficLightRendererContributor"/>
|
||||||
|
<fileTypeUsageSchemaDescriptor schema="Gradle Script" implementationClass="org.jetbrains.kotlin.idea.core.script.KotlinGradleScriptFileTypeSchemaDetector"/>
|
||||||
</extensions>
|
</extensions>
|
||||||
</idea-plugin>
|
</idea-plugin>
|
||||||
|
|||||||
Reference in New Issue
Block a user