diff --git a/idea/resources/META-INF/plugin-common.xml b/idea/resources/META-INF/plugin-common.xml index 94583e6ed9f..4d3d79714b7 100644 --- a/idea/resources/META-INF/plugin-common.xml +++ b/idea/resources/META-INF/plugin-common.xml @@ -3238,6 +3238,7 @@ + \ No newline at end of file diff --git a/usage-statistics/build.gradle.kts b/usage-statistics/build.gradle.kts index 9756628cd58..913f975f173 100644 --- a/usage-statistics/build.gradle.kts +++ b/usage-statistics/build.gradle.kts @@ -8,7 +8,7 @@ jvmTarget = "1.6" dependencies { compile(intellijDep()) { - includeJars("platform-api", "platform-impl", rootProject = rootProject) + includeJars("platform-api", "platform-impl", "extensions", rootProject = rootProject) isTransitive = false } } diff --git a/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt b/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt index f8571a91d68..3948f1cb3e2 100644 --- a/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt +++ b/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt @@ -5,8 +5,13 @@ package org.jetbrains.kotlin.statistics +import com.intellij.ide.plugins.PluginManager +import com.intellij.internal.statistic.beans.UsageDescriptor import com.intellij.internal.statistic.service.fus.collectors.ApplicationUsageTriggerCollector +import com.intellij.internal.statistic.service.fus.collectors.ApplicationUsagesCollector import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger +import com.intellij.openapi.extensions.PluginId +import java.util.HashSet open class KotlinStatisticsTrigger(private val groupIdSufix: String) : ApplicationUsageTriggerCollector() { override fun getGroupId() = "statistics.kotlin.$groupIdSufix" @@ -18,6 +23,10 @@ open class KotlinStatisticsTrigger(private val groupIdSufix: String) : Applicati } } +abstract class KotlinStatisticsStateCollector(private val groupIdSufix: String) : ApplicationUsagesCollector() { + override fun getGroupId(): String = "statistics.kotlin.$groupIdSufix" +} + open class KotlinIdeStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("ide.$groupIdSufix") open class KotlinGradlePluginStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("gradle.$groupIdSufix") @@ -32,4 +41,16 @@ open class KotlinIdeActionTrigger(groupIdSufix: String? = null) : KotlinIdeStati class KotlinIdeRefactoringTrigger : KotlinIdeActionTrigger("refactoring") -class KotlinIdeNewFileTemplateTrigger : KotlinIdeStatisticsTrigger("newFileTempl") \ No newline at end of file +class KotlinIdeNewFileTemplateTrigger : KotlinIdeStatisticsTrigger("newFileTempl") + +class KotlinPluginVersionCollector : KotlinStatisticsStateCollector("pluginVersion") { + override fun getUsages(): MutableSet { + val usagesSet = HashSet() + + val plugin = PluginManager.getPlugin(PluginId.getId("org.jetbrains.kotlin")) + val version = plugin?.version ?: "undefined" + usagesSet.add(UsageDescriptor(version, 1)) + + return usagesSet + } +} \ No newline at end of file diff --git a/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt.181 b/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt.181 index c4a12529208..c3d57e484d7 100644 --- a/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt.181 +++ b/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt.181 @@ -13,6 +13,8 @@ open class KotlinStatisticsTrigger(private val groupIdSufix: String) { } } +abstract class KotlinStatisticsStateCollector(private val groupIdSufix: String) + open class KotlinIdeStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("ide.$groupIdSufix") open class KotlinGradlePluginStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("gradle.$groupIdSufix") @@ -27,4 +29,6 @@ open class KotlinIdeActionTrigger(groupIdSufix: String? = null) : KotlinIdeStati class KotlinIdeRefactoringTrigger : KotlinIdeActionTrigger("refactoring") -class KotlinIdeNewFileTemplateTrigger : KotlinIdeStatisticsTrigger("newFileTempl") \ No newline at end of file +class KotlinIdeNewFileTemplateTrigger : KotlinIdeStatisticsTrigger("newFileTempl") + +class KotlinPluginVersionCollector : KotlinStatisticsStateCollector("pluginVersion") \ No newline at end of file