Collect Maven and JPS targets
This commit is contained in:
@@ -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
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+6
@@ -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 ""))
|
||||
|
||||
+6
@@ -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 ""))
|
||||
|
||||
Reference in New Issue
Block a user