Collect Maven and JPS targets

This commit is contained in:
Vadim Brilyantov
2019-01-16 16:44:50 +03:00
parent 04b705ef2c
commit f5312f42c5
4 changed files with 64 additions and 0 deletions
@@ -3231,8 +3231,12 @@
<checkinHandlerFactory implementation="org.jetbrains.kotlin.idea.vcs.BunchFileCheckInHandlerFactory"/>
<postStartupActivity implementation="org.jetbrains.kotlin.idea.framework.TargetRetrieveActivity"/>
<!--FUS triggers-->
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinTargetTrigger"/>
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinMavenTargetTrigger"/>
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinJPSTargetTrigger"/>
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger"/>
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinIdeNewFileTemplateTrigger"/>
@@ -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
)
}
}
}
}
@@ -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 ""))
@@ -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 ""))