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 ""))