Improve wizards names composition for FUS reporter
This commit is contained in:
+4
-47
@@ -6,54 +6,11 @@
|
|||||||
package org.jetbrains.kotlin.idea.statistics
|
package org.jetbrains.kotlin.idea.statistics
|
||||||
|
|
||||||
object NewProjectWizardsFUSCollector {
|
object NewProjectWizardsFUSCollector {
|
||||||
data class WizardDescription(val name: String, val group: String, val isKotlinDsl: Boolean?)
|
fun log(name: String, group: String, 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)
|
|
||||||
|
|
||||||
val contextData = mapOf(
|
val contextData = mapOf(
|
||||||
"name" to wizardDescription.name,
|
"name" to name,
|
||||||
"group" to wizardDescription.group,
|
"group" to group,
|
||||||
"isKotlinDsl" to wizardDescription.isKotlinDsl.toString()
|
"isKotlinDsl" to isKotlinDsl.toString()
|
||||||
)
|
)
|
||||||
|
|
||||||
KotlinFUSLogger.log(FUSEventGroups.NPWizards, "Finished", contextData)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
+2
-1
@@ -154,7 +154,7 @@ abstract class GradleKotlinFrameworkSupportProvider(
|
|||||||
ProjectCodeStyleImporter.apply(module.project, KotlinStyleGuideCodeStyle.INSTANCE)
|
ProjectCodeStyleImporter.apply(module.project, KotlinStyleGuideCodeStyle.INSTANCE)
|
||||||
GradlePropertiesFileFacade.forProject(module.project).addCodeStyleProperty(KotlinStyleGuideCodeStyle.CODE_STYLE_SETTING)
|
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<out PsiFile>, specifyPluginVersionIfNeeded: Boolean) {}
|
protected open fun updateSettingsScript(settingsBuilder: SettingsScriptBuilder<out PsiFile>, specifyPluginVersionIfNeeded: Boolean) {}
|
||||||
@@ -331,6 +331,7 @@ open class GradleKotlinMPPSourceSetsFrameworkSupportProvider : GradleKotlinMPPFr
|
|||||||
explicitPluginVersion: String?
|
explicitPluginVersion: String?
|
||||||
) {
|
) {
|
||||||
super.addSupport(buildScriptData, module, sdk, specifyPluginVersionIfNeeded, explicitPluginVersion)
|
super.addSupport(buildScriptData, module, sdk, specifyPluginVersionIfNeeded, explicitPluginVersion)
|
||||||
|
NewProjectWizardsFUSCollector.log(this.presentableName + " as framework", "Gradle", false)
|
||||||
|
|
||||||
buildScriptData.addOther(
|
buildScriptData.addOther(
|
||||||
"""kotlin {
|
"""kotlin {
|
||||||
|
|||||||
+1
-1
@@ -106,7 +106,7 @@ abstract class KotlinDslGradleKotlinFrameworkSupportProvider(
|
|||||||
GradlePropertiesFileFacade.forProject(module.project).addCodeStyleProperty(KotlinStyleGuideCodeStyle.CODE_STYLE_SETTING)
|
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
|
protected abstract fun getOldSyntaxPluginDefinition(): String
|
||||||
|
|||||||
+2
-3
@@ -25,8 +25,7 @@ import org.jetbrains.plugins.gradle.settings.DistributionType
|
|||||||
import com.intellij.openapi.externalSystem.model.project.ProjectData
|
import com.intellij.openapi.externalSystem.model.project.ProjectData
|
||||||
import com.intellij.openapi.externalSystem.service.project.wizard.ExternalModuleSettingsStep
|
import com.intellij.openapi.externalSystem.service.project.wizard.ExternalModuleSettingsStep
|
||||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider
|
import com.intellij.openapi.roots.ui.configuration.ModulesProvider
|
||||||
import org.jetbrains.kotlin.idea.statistics.FUSEventGroups
|
import org.jetbrains.kotlin.idea.statistics.NewProjectWizardsFUSCollector
|
||||||
import org.jetbrains.kotlin.idea.statistics.KotlinFUSLogger
|
|
||||||
import org.jetbrains.plugins.gradle.service.settings.GradleProjectSettingsControl
|
import org.jetbrains.plugins.gradle.service.settings.GradleProjectSettingsControl
|
||||||
import javax.swing.Icon
|
import javax.swing.Icon
|
||||||
|
|
||||||
@@ -91,7 +90,7 @@ abstract class KotlinGradleAbstractMultiplatformModuleBuilder(
|
|||||||
|
|
||||||
override fun setupModule(module: Module) {
|
override fun setupModule(module: Module) {
|
||||||
try {
|
try {
|
||||||
KotlinFUSLogger.log(FUSEventGroups.NPWizards, this.javaClass.simpleName)
|
NewProjectWizardsFUSCollector.log(this.presentableName, "Kotlin", false)
|
||||||
module.gradleModuleBuilder = this
|
module.gradleModuleBuilder = this
|
||||||
super.setupModule(module)
|
super.setupModule(module)
|
||||||
|
|
||||||
|
|||||||
+2
-3
@@ -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.service.settings.GradleProjectSettingsControl
|
||||||
import org.jetbrains.plugins.gradle.settings.DistributionType
|
import org.jetbrains.plugins.gradle.settings.DistributionType
|
||||||
import com.intellij.openapi.externalSystem.model.project.ProjectData
|
import com.intellij.openapi.externalSystem.model.project.ProjectData
|
||||||
import org.jetbrains.kotlin.idea.statistics.FUSEventGroups
|
import org.jetbrains.kotlin.idea.statistics.NewProjectWizardsFUSCollector
|
||||||
import org.jetbrains.kotlin.idea.statistics.KotlinFUSLogger
|
|
||||||
import javax.swing.Icon
|
import javax.swing.Icon
|
||||||
|
|
||||||
abstract class KotlinGradleAbstractMultiplatformModuleBuilder(
|
abstract class KotlinGradleAbstractMultiplatformModuleBuilder(
|
||||||
@@ -77,7 +76,7 @@ abstract class KotlinGradleAbstractMultiplatformModuleBuilder(
|
|||||||
|
|
||||||
override fun setupModule(module: Module) {
|
override fun setupModule(module: Module) {
|
||||||
try {
|
try {
|
||||||
KotlinFUSLogger.log(FUSEventGroups.NPWizards, this.javaClass.simpleName)
|
NewProjectWizardsFUSCollector.log(this.presentableName, "Kotlin", false)
|
||||||
module.gradleModuleBuilder = this
|
module.gradleModuleBuilder = this
|
||||||
super.setupModule(module)
|
super.setupModule(module)
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -57,7 +57,7 @@ class JavaFrameworkSupportProvider : FrameworkSupportInModuleProvider() {
|
|||||||
if (isNewProject) {
|
if (isNewProject) {
|
||||||
ProjectCodeStyleImporter.apply(module.project, KotlinStyleGuideCodeStyle.INSTANCE)
|
ProjectCodeStyleImporter.apply(module.project, KotlinStyleGuideCodeStyle.INSTANCE)
|
||||||
}
|
}
|
||||||
NewProjectWizardsFUSCollector.log("KotlinJavaFrameworkSupportProvider")
|
NewProjectWizardsFUSCollector.log("Kotlin/JVM", "Java", false)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onFrameworkSelectionChanged(selected: Boolean) {
|
override fun onFrameworkSelectionChanged(selected: Boolean) {
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ class KotlinModuleBuilder(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun setupRootModel(rootModel: ModifiableRootModel) {
|
override fun setupRootModel(rootModel: ModifiableRootModel) {
|
||||||
NewProjectWizardsFUSCollector.log(this.javaClass.simpleName + ": ${this.targetPlatform}")
|
NewProjectWizardsFUSCollector.log(this.builderName, "Kotlin", false)
|
||||||
super.setupRootModel(rootModel)
|
super.setupRootModel(rootModel)
|
||||||
if (!targetPlatform.isJvm()) {
|
if (!targetPlatform.isJvm()) {
|
||||||
migrateNonJvmSourceFolders(rootModel)
|
migrateNonJvmSourceFolders(rootModel)
|
||||||
|
|||||||
Reference in New Issue
Block a user