From e863d81f304a750c53e6a35b8dd37eea3b4caf01 Mon Sep 17 00:00:00 2001 From: Anton Yalyshev Date: Fri, 13 Mar 2020 17:27:34 +0300 Subject: [PATCH] Improve wizards names composition for FUS reporter --- .../NewProjectWizardsFUSCollector.kt | 51 ++----------------- .../GradleKotlinFrameworkSupportProvider.kt | 3 +- ...DslGradleKotlinFrameworkSupportProvider.kt | 2 +- ...radleAbstractMultiplatformModuleBuilder.kt | 5 +- ...eAbstractMultiplatformModuleBuilder.kt.192 | 5 +- .../framework/JavaFrameworkSupportProvider.kt | 2 +- .../idea/framework/KotlinModuleBuilder.kt | 2 +- 7 files changed, 13 insertions(+), 57 deletions(-) diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/NewProjectWizardsFUSCollector.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/NewProjectWizardsFUSCollector.kt index 4e8c8b52ffc..656b5a7e9f4 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/NewProjectWizardsFUSCollector.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/statistics/NewProjectWizardsFUSCollector.kt @@ -6,54 +6,11 @@ package org.jetbrains.kotlin.idea.statistics object NewProjectWizardsFUSCollector { - data class WizardDescription(val name: String, val group: String, val isKotlinDsl: Boolean?) - - private val classToNameMap = mapOf( - "KotlinModuleBuilder__JVM_(JVM_1_6)" to "JVM | IDEA", - "KotlinModuleBuilder__JS" to "JS | IDEA", - "KotlinGradleNativeMultiplatformModuleBuilder" to "Native | Gradle", - "KotlinGradleSharedMultiplatformModuleBuilder" to "Multiplatform Library | Gradle", - "KotlinGradleWebMultiplatformModuleBuilder" to "JS Client and JVM Server | Gradle", - "KotlinGradleMobileMultiplatformModuleBuilder" to "Mobile Android/iOS | Gradle", - "KotlinGradleMobileSharedMultiplatformModuleBuilder" to "Mobile Shared Library | Gradle", - "KotlinJavaFrameworkSupportProvider" to "Kotlin/JVM", - "GradleKotlinJavaFrameworkSupportProvider" to "Kotlin/JVM", - "GradleKotlinJSFrameworkSupportProvider" to "Kotlin/JS", - "GradleKotlinJSBrowserFrameworkSupportProvider" to "Kotlin/JS for browser", - "GradleKotlinJSNodeFrameworkSupportProvider" to "Kotlin/JS for Node.js", - "GradleKotlinMPPFrameworkSupportProvider" to "Kotlin/Multiplatform_aggregated", - "GradleKotlinMPPSourceSetsFrameworkSupportProvider" to "Kotlin/Multiplatform", - "KotlinDslGradleKotlinJavaFrameworkSupportProvider" to "Kotlin/JVM", - "KotlinDslGradleKotlinJSBrowserFrameworkSupportProvider" to "Kotlin/JS for browser", - "KotlinDslGradleKotlinJSNodeFrameworkSupportProvider" to "Kotlin/JS for Node.js", - "KotlinDslGradleKotlinMPPFrameworkSupportProvider" to "Kotlin/Multiplatform" - ) - - private fun parseWizardClass(className: String): WizardDescription { - val wizardName = classToNameMap[className] ?: "unknown" - - val wizardGroup = if (wizardName == "unknown") "unknown" - else if (className.startsWith("KotlinJava")) "Java" - else if (className.startsWith("Gradle") || className.startsWith("KotlinDslGradle")) "Gradle" - else "Kotlin" - - val isBasedOnKotlinDSL = if (wizardName != "unknown") className.startsWith("KotlinDsl") - else null - - return WizardDescription(wizardName, wizardGroup, isBasedOnKotlinDSL) - } - - fun log(wizardClassName: String) { - val wizardDescription = parseWizardClass(wizardClassName) - + fun log(name: String, group: String, isKotlinDsl: Boolean) { val contextData = mapOf( - "name" to wizardDescription.name, - "group" to wizardDescription.group, - "isKotlinDsl" to wizardDescription.isKotlinDsl.toString() + "name" to name, + "group" to group, + "isKotlinDsl" to isKotlinDsl.toString() ) - - KotlinFUSLogger.log(FUSEventGroups.NPWizards, "Finished", contextData) } - - } \ No newline at end of file diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/GradleKotlinFrameworkSupportProvider.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/GradleKotlinFrameworkSupportProvider.kt index 00c063b479e..17412f63f80 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/GradleKotlinFrameworkSupportProvider.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/GradleKotlinFrameworkSupportProvider.kt @@ -154,7 +154,7 @@ abstract class GradleKotlinFrameworkSupportProvider( ProjectCodeStyleImporter.apply(module.project, KotlinStyleGuideCodeStyle.INSTANCE) GradlePropertiesFileFacade.forProject(module.project).addCodeStyleProperty(KotlinStyleGuideCodeStyle.CODE_STYLE_SETTING) } - NewProjectWizardsFUSCollector.log(this.javaClass.simpleName) + NewProjectWizardsFUSCollector.log(this.presentableName, "Gradle", false) } protected open fun updateSettingsScript(settingsBuilder: SettingsScriptBuilder, specifyPluginVersionIfNeeded: Boolean) {} @@ -331,6 +331,7 @@ open class GradleKotlinMPPSourceSetsFrameworkSupportProvider : GradleKotlinMPPFr explicitPluginVersion: String? ) { super.addSupport(buildScriptData, module, sdk, specifyPluginVersionIfNeeded, explicitPluginVersion) + NewProjectWizardsFUSCollector.log(this.presentableName + " as framework", "Gradle", false) buildScriptData.addOther( """kotlin { diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinDslGradleKotlinFrameworkSupportProvider.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinDslGradleKotlinFrameworkSupportProvider.kt index bc4e7cfde98..c3774f85360 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinDslGradleKotlinFrameworkSupportProvider.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinDslGradleKotlinFrameworkSupportProvider.kt @@ -106,7 +106,7 @@ abstract class KotlinDslGradleKotlinFrameworkSupportProvider( GradlePropertiesFileFacade.forProject(module.project).addCodeStyleProperty(KotlinStyleGuideCodeStyle.CODE_STYLE_SETTING) } - NewProjectWizardsFUSCollector.log(this.javaClass.simpleName) + NewProjectWizardsFUSCollector.log(this.presentableName, "Gradle", true) } protected abstract fun getOldSyntaxPluginDefinition(): String diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleAbstractMultiplatformModuleBuilder.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleAbstractMultiplatformModuleBuilder.kt index d99f6180531..142e97e9071 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleAbstractMultiplatformModuleBuilder.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleAbstractMultiplatformModuleBuilder.kt @@ -25,8 +25,7 @@ import org.jetbrains.plugins.gradle.settings.DistributionType import com.intellij.openapi.externalSystem.model.project.ProjectData import com.intellij.openapi.externalSystem.service.project.wizard.ExternalModuleSettingsStep import com.intellij.openapi.roots.ui.configuration.ModulesProvider -import org.jetbrains.kotlin.idea.statistics.FUSEventGroups -import org.jetbrains.kotlin.idea.statistics.KotlinFUSLogger +import org.jetbrains.kotlin.idea.statistics.NewProjectWizardsFUSCollector import org.jetbrains.plugins.gradle.service.settings.GradleProjectSettingsControl import javax.swing.Icon @@ -91,7 +90,7 @@ abstract class KotlinGradleAbstractMultiplatformModuleBuilder( override fun setupModule(module: Module) { try { - KotlinFUSLogger.log(FUSEventGroups.NPWizards, this.javaClass.simpleName) + NewProjectWizardsFUSCollector.log(this.presentableName, "Kotlin", false) module.gradleModuleBuilder = this super.setupModule(module) diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleAbstractMultiplatformModuleBuilder.kt.192 b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleAbstractMultiplatformModuleBuilder.kt.192 index c479b6557b2..e0fabd6de2c 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleAbstractMultiplatformModuleBuilder.kt.192 +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleAbstractMultiplatformModuleBuilder.kt.192 @@ -26,8 +26,7 @@ import org.jetbrains.plugins.gradle.service.project.wizard.GradleModuleBuilder import org.jetbrains.plugins.gradle.service.settings.GradleProjectSettingsControl import org.jetbrains.plugins.gradle.settings.DistributionType import com.intellij.openapi.externalSystem.model.project.ProjectData -import org.jetbrains.kotlin.idea.statistics.FUSEventGroups -import org.jetbrains.kotlin.idea.statistics.KotlinFUSLogger +import org.jetbrains.kotlin.idea.statistics.NewProjectWizardsFUSCollector import javax.swing.Icon abstract class KotlinGradleAbstractMultiplatformModuleBuilder( @@ -77,7 +76,7 @@ abstract class KotlinGradleAbstractMultiplatformModuleBuilder( override fun setupModule(module: Module) { try { - KotlinFUSLogger.log(FUSEventGroups.NPWizards, this.javaClass.simpleName) + NewProjectWizardsFUSCollector.log(this.presentableName, "Kotlin", false) module.gradleModuleBuilder = this super.setupModule(module) diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/framework/JavaFrameworkSupportProvider.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/framework/JavaFrameworkSupportProvider.kt index ab2503fa827..6adbbd4bf95 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/framework/JavaFrameworkSupportProvider.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/framework/JavaFrameworkSupportProvider.kt @@ -57,7 +57,7 @@ class JavaFrameworkSupportProvider : FrameworkSupportInModuleProvider() { if (isNewProject) { ProjectCodeStyleImporter.apply(module.project, KotlinStyleGuideCodeStyle.INSTANCE) } - NewProjectWizardsFUSCollector.log("KotlinJavaFrameworkSupportProvider") + NewProjectWizardsFUSCollector.log("Kotlin/JVM", "Java", false) } override fun onFrameworkSelectionChanged(selected: Boolean) { diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/framework/KotlinModuleBuilder.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/framework/KotlinModuleBuilder.kt index 87642025a46..d826d61ece2 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/framework/KotlinModuleBuilder.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/framework/KotlinModuleBuilder.kt @@ -45,7 +45,7 @@ class KotlinModuleBuilder( } override fun setupRootModel(rootModel: ModifiableRootModel) { - NewProjectWizardsFUSCollector.log(this.javaClass.simpleName + ": ${this.targetPlatform}") + NewProjectWizardsFUSCollector.log(this.builderName, "Kotlin", false) super.setupRootModel(rootModel) if (!targetPlatform.isJvm()) { migrateNonJvmSourceFolders(rootModel)