diff --git a/idea/resources/META-INF/plugin-common.xml b/idea/resources/META-INF/plugin-common.xml
index b7f1af99293..10e4a1fe7cf 100644
--- a/idea/resources/META-INF/plugin-common.xml
+++ b/idea/resources/META-INF/plugin-common.xml
@@ -3231,8 +3231,12 @@
+
+
+
+
diff --git a/idea/src/org/jetbrains/kotlin/idea/framework/TargetRetrieveActivity.kt b/idea/src/org/jetbrains/kotlin/idea/framework/TargetRetrieveActivity.kt
new file mode 100644
index 00000000000..028168f378d
--- /dev/null
+++ b/idea/src/org/jetbrains/kotlin/idea/framework/TargetRetrieveActivity.kt
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2010-2019 JetBrains s.r.o. 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.framework
+
+import com.intellij.openapi.project.Project
+import com.intellij.openapi.startup.StartupActivity
+import org.jetbrains.kotlin.idea.configuration.BuildSystemType
+import org.jetbrains.kotlin.idea.configuration.getBuildSystemType
+import org.jetbrains.kotlin.idea.project.platform
+import org.jetbrains.kotlin.idea.util.projectStructure.allModules
+import org.jetbrains.kotlin.platform.impl.isCommon
+import org.jetbrains.kotlin.platform.impl.isJavaScript
+import org.jetbrains.kotlin.platform.impl.isJvm
+import org.jetbrains.kotlin.platform.impl.isKotlinNative
+import org.jetbrains.kotlin.statistics.KotlinJPSTargetTrigger
+import org.jetbrains.kotlin.statistics.KotlinMavenTargetTrigger
+import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger
+
+class TargetRetrieveActivity : StartupActivity {
+
+ override fun runActivity(project: Project) {
+ project.allModules().forEach {
+ val buildSystem = it.getBuildSystemType()
+ val platform = when {
+ it.platform.isJvm -> "jvm"
+ it.platform.isJavaScript -> "js"
+ it.platform.isCommon -> "common"
+ it.platform.isKotlinNative -> "native"
+ else -> "unknown"
+ }
+ when {
+ buildSystem == BuildSystemType.JPS ->
+ KotlinStatisticsTrigger.trigger(
+ KotlinJPSTargetTrigger::class.java,
+ platform
+ )
+ buildSystem.toString().toLowerCase().contains("maven") ->
+ KotlinStatisticsTrigger.trigger(
+ KotlinMavenTargetTrigger::class.java,
+ platform
+ )
+ }
+ }
+ }
+}
\ No newline at end of file
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 560cd43e78f..a5556c3ed65 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
@@ -27,11 +27,17 @@ open class KotlinStatisticsTrigger(private val groupIdSufix: String) : Applicati
open class KotlinIdeStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("ide.$groupIdSufix")
open class KotlinGradlePluginStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("gradle.$groupIdSufix")
+open class KotlinMavenPluginStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("maven.$groupIdSufix")
+open class KotlinJPSPluginStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("jps.$groupIdSufix")
class KotlinVersionTrigger : KotlinGradlePluginStatisticsTrigger("kotlin_version")
class KotlinTargetTrigger : KotlinGradlePluginStatisticsTrigger("target")
+class KotlinMavenTargetTrigger : KotlinMavenPluginStatisticsTrigger("target")
+
+class KotlinJPSTargetTrigger : KotlinJPSPluginStatisticsTrigger("target")
+
class KotlinProjectLibraryUsageTrigger : KotlinGradlePluginStatisticsTrigger("library")
open class KotlinIdeActionTrigger(groupIdSufix: String? = null) : KotlinIdeStatisticsTrigger("action" + (if (groupIdSufix != null) ".$groupIdSufix" else ""))
diff --git a/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt.182 b/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt.182
index e12e2a143e4..e5183a7a04f 100644
--- a/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt.182
+++ b/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt.182
@@ -16,11 +16,17 @@ open class KotlinStatisticsTrigger(private val groupIdSufix: String) {
open class KotlinIdeStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("ide.$groupIdSufix")
open class KotlinGradlePluginStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("gradle.$groupIdSufix")
+open class KotlinMavenPluginStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("maven.$groupIdSufix")
+open class KotlinJPSPluginStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("jps.$groupIdSufix")
class KotlinVersionTrigger : KotlinGradlePluginStatisticsTrigger("kotlin_version")
class KotlinTargetTrigger : KotlinGradlePluginStatisticsTrigger("target")
+class KotlinMavenTargetTrigger : KotlinMavenPluginStatisticsTrigger("target")
+
+class KotlinJPSTargetTrigger : KotlinJPSPluginStatisticsTrigger("target")
+
class KotlinProjectLibraryUsageTrigger : KotlinGradlePluginStatisticsTrigger("library")
open class KotlinIdeActionTrigger(groupIdSufix: String? = null) : KotlinIdeStatisticsTrigger("action" + (if (groupIdSufix != null) ".$groupIdSufix" else ""))