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