From 46f8feaf98b8c30a36d37c4052b676d430b4f516 Mon Sep 17 00:00:00 2001 From: Sergey Rostov Date: Thu, 22 Aug 2019 09:52:55 +0300 Subject: [PATCH] build.gradle.kts: collect statistics about auto reload --- .../KotlinGradleScriptFileTypeSchemaDetector.kt | 14 ++++++++++++++ .../idea/statistics/IDESettingsFUSCollector.kt | 16 ++++++++++++---- idea/resources/META-INF/plugin.xml | 1 + idea/resources/META-INF/plugin.xml.as35 | 1 + idea/resources/META-INF/plugin.xml.as36 | 1 + 5 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/KotlinGradleScriptFileTypeSchemaDetector.kt diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/KotlinGradleScriptFileTypeSchemaDetector.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/KotlinGradleScriptFileTypeSchemaDetector.kt new file mode 100644 index 00000000000..0cefeee61f6 --- /dev/null +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/KotlinGradleScriptFileTypeSchemaDetector.kt @@ -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") +} \ No newline at end of file diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt index 6024ebef80f..c4089c33944 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/IDESettingsFUSCollector.kt @@ -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 { val usages = mutableSetOf() + @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 } \ No newline at end of file diff --git a/idea/resources/META-INF/plugin.xml b/idea/resources/META-INF/plugin.xml index 7517f9e44a6..8edf711bf91 100644 --- a/idea/resources/META-INF/plugin.xml +++ b/idea/resources/META-INF/plugin.xml @@ -80,5 +80,6 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio. + diff --git a/idea/resources/META-INF/plugin.xml.as35 b/idea/resources/META-INF/plugin.xml.as35 index 746e1a18628..9837fb69954 100644 --- a/idea/resources/META-INF/plugin.xml.as35 +++ b/idea/resources/META-INF/plugin.xml.as35 @@ -72,5 +72,6 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio. + diff --git a/idea/resources/META-INF/plugin.xml.as36 b/idea/resources/META-INF/plugin.xml.as36 index d5e8b6a4aa0..1ec08ed16fa 100644 --- a/idea/resources/META-INF/plugin.xml.as36 +++ b/idea/resources/META-INF/plugin.xml.as36 @@ -72,5 +72,6 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio. +