mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
FUS-407 Build Tools: extract dynamic parts from event id to event data and merge small collector together
GitOrigin-RevId: 0d365787bb5dfa756b089284f662c46330bcdfb0
This commit is contained in:
committed by
intellij-monorepo-bot
parent
51fbd9bce1
commit
a2bbb9550d
@@ -1,26 +1,26 @@
|
||||
// Copyright 2000-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 file.
|
||||
package com.intellij.compiler
|
||||
|
||||
import com.intellij.internal.statistic.beans.UsageDescriptor
|
||||
import com.intellij.internal.statistic.beans.MetricEvent
|
||||
import com.intellij.internal.statistic.beans.newBooleanMetric
|
||||
import com.intellij.internal.statistic.service.fus.collectors.ProjectUsagesCollector
|
||||
import com.intellij.internal.statistic.utils.getBooleanUsage
|
||||
import com.intellij.openapi.project.Project
|
||||
|
||||
class CompilerSettingsCollector : ProjectUsagesCollector() {
|
||||
override fun getGroupId() = "java.compiler.settings.project"
|
||||
|
||||
override fun getUsages(project: Project): Set<UsageDescriptor> {
|
||||
val usages = mutableSetOf<UsageDescriptor>()
|
||||
override fun getMetrics(project: Project): MutableSet<MetricEvent> {
|
||||
val usages = mutableSetOf<MetricEvent>()
|
||||
|
||||
val config = CompilerWorkspaceConfiguration.getInstance(project)
|
||||
|
||||
usages.add(getBooleanUsage("AUTO_SHOW_ERRORS_IN_EDITOR", config.AUTO_SHOW_ERRORS_IN_EDITOR))
|
||||
usages.add(getBooleanUsage("DISPLAY_NOTIFICATION_POPUP", config.DISPLAY_NOTIFICATION_POPUP))
|
||||
usages.add(getBooleanUsage("CLEAR_OUTPUT_DIRECTORY", config.CLEAR_OUTPUT_DIRECTORY))
|
||||
usages.add(getBooleanUsage("MAKE_PROJECT_ON_SAVE", config.MAKE_PROJECT_ON_SAVE))
|
||||
usages.add(getBooleanUsage("PARALLEL_COMPILATION", config.PARALLEL_COMPILATION))
|
||||
usages.add(getBooleanUsage("REBUILD_ON_DEPENDENCY_CHANGE", config.REBUILD_ON_DEPENDENCY_CHANGE))
|
||||
usages.add(getBooleanUsage("COMPILE_AFFECTED_UNLOADED_MODULES_BEFORE_COMMIT", config.COMPILE_AFFECTED_UNLOADED_MODULES_BEFORE_COMMIT))
|
||||
usages.add(newBooleanMetric("AUTO_SHOW_ERRORS_IN_EDITOR", config.AUTO_SHOW_ERRORS_IN_EDITOR))
|
||||
usages.add(newBooleanMetric("DISPLAY_NOTIFICATION_POPUP", config.DISPLAY_NOTIFICATION_POPUP))
|
||||
usages.add(newBooleanMetric("CLEAR_OUTPUT_DIRECTORY", config.CLEAR_OUTPUT_DIRECTORY))
|
||||
usages.add(newBooleanMetric("MAKE_PROJECT_ON_SAVE", config.MAKE_PROJECT_ON_SAVE))
|
||||
usages.add(newBooleanMetric("PARALLEL_COMPILATION", config.PARALLEL_COMPILATION))
|
||||
usages.add(newBooleanMetric("REBUILD_ON_DEPENDENCY_CHANGE", config.REBUILD_ON_DEPENDENCY_CHANGE))
|
||||
usages.add(newBooleanMetric("COMPILE_AFFECTED_UNLOADED_MODULES_BEFORE_COMMIT", config.COMPILE_AFFECTED_UNLOADED_MODULES_BEFORE_COMMIT))
|
||||
|
||||
return usages
|
||||
}
|
||||
|
||||
+10
-10
@@ -1,34 +1,34 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.openapi.externalSystem.statistics
|
||||
|
||||
import com.intellij.internal.statistic.beans.UsageDescriptor
|
||||
import com.intellij.internal.statistic.beans.MetricEvent
|
||||
import com.intellij.internal.statistic.beans.newBooleanMetric
|
||||
import com.intellij.internal.statistic.beans.newCounterMetric
|
||||
import com.intellij.internal.statistic.service.fus.collectors.ProjectUsagesCollector
|
||||
import com.intellij.internal.statistic.utils.getBooleanUsage
|
||||
import com.intellij.internal.statistic.utils.getCountingUsage
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
||||
import com.intellij.openapi.project.Project
|
||||
|
||||
class ExternalSystemSettingsCollector : ProjectUsagesCollector() {
|
||||
override fun getGroupId() = "build.tools.state"
|
||||
|
||||
override fun getUsages(project: Project): Set<UsageDescriptor> {
|
||||
val usages = mutableSetOf<UsageDescriptor>()
|
||||
override fun getMetrics(project: Project): Set<MetricEvent> {
|
||||
val usages = mutableSetOf<MetricEvent>()
|
||||
|
||||
for (manager in ExternalSystemApiUtil.getAllManagers()) {
|
||||
val systemId = getAnonymizedSystemId(manager.getSystemId())
|
||||
fun addWithSystemId(desc: UsageDescriptor) {
|
||||
fun addWithSystemId(desc: MetricEvent) {
|
||||
desc.data.addData("externalSystemId", systemId)
|
||||
usages.add(desc)
|
||||
}
|
||||
|
||||
val projects = manager.getSettingsProvider().`fun`(project).getLinkedProjectsSettings()
|
||||
|
||||
addWithSystemId(getCountingUsage("numberOfLinkedProject", projects.size))
|
||||
addWithSystemId(newCounterMetric("numberOfLinkedProject", projects.size))
|
||||
|
||||
for (projectsSetting in projects) {
|
||||
addWithSystemId(getBooleanUsage("autoImport", projectsSetting.isUseAutoImport))
|
||||
addWithSystemId(getBooleanUsage("useQualifiedModuleNames", projectsSetting.isUseQualifiedModuleNames))
|
||||
addWithSystemId(getCountingUsage("modules.count", projectsSetting.modules.size))
|
||||
addWithSystemId(newBooleanMetric("autoImport", projectsSetting.isUseAutoImport))
|
||||
addWithSystemId(newBooleanMetric("useQualifiedModuleNames", projectsSetting.isUseQualifiedModuleNames))
|
||||
addWithSystemId(newCounterMetric("modules.count", projectsSetting.modules.size))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+10
-9
@@ -1,7 +1,8 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.openapi.externalSystem.statistics
|
||||
|
||||
import com.intellij.internal.statistic.beans.UsageDescriptor
|
||||
import com.intellij.internal.statistic.beans.MetricEvent
|
||||
import com.intellij.internal.statistic.beans.newMetric
|
||||
import com.intellij.internal.statistic.service.fus.collectors.ProjectUsagesCollector
|
||||
import com.intellij.openapi.externalSystem.ExternalSystemModulePropertyManager
|
||||
import com.intellij.openapi.externalSystem.service.execution.ExternalSystemJdkUtil
|
||||
@@ -13,22 +14,22 @@ import com.intellij.openapi.util.Version
|
||||
class ExternalSystemUsagesCollector : ProjectUsagesCollector() {
|
||||
override fun getGroupId() = "build.tools"
|
||||
|
||||
override fun getUsages(project: Project): Set<UsageDescriptor> {
|
||||
val usages = mutableSetOf<UsageDescriptor>()
|
||||
override fun getMetrics(project: Project): Set<MetricEvent> {
|
||||
val usages = mutableSetOf<MetricEvent>()
|
||||
for (manager in ExternalSystemApiUtil.getAllManagers()) {
|
||||
if (!manager.getSettingsProvider().`fun`(project).getLinkedProjectsSettings().isEmpty()) {
|
||||
usages.add(UsageDescriptor(getAnonymizedSystemId(manager.getSystemId())))
|
||||
usages.add(newMetric("externalSystemId", getAnonymizedSystemId(manager.getSystemId())))
|
||||
}
|
||||
}
|
||||
|
||||
ModuleManager.getInstance(project).modules.find { ExternalSystemModulePropertyManager.getInstance(it).isMavenized() }?.let {
|
||||
usages.add(UsageDescriptor("Maven"))
|
||||
usages.add(newMetric("externalSystemId", "Maven"))
|
||||
}
|
||||
return usages
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun getJRETypeUsage(key: String, jreName: String?): UsageDescriptor {
|
||||
fun getJRETypeUsage(key: String, jreName: String?): MetricEvent {
|
||||
val anonymizedName = when {
|
||||
jreName.isNullOrBlank() -> "empty"
|
||||
jreName in listOf(ExternalSystemJdkUtil.USE_INTERNAL_JAVA,
|
||||
@@ -36,16 +37,16 @@ class ExternalSystemUsagesCollector : ProjectUsagesCollector() {
|
||||
ExternalSystemJdkUtil.USE_JAVA_HOME) -> jreName
|
||||
else -> "custom"
|
||||
}
|
||||
return UsageDescriptor("$key.$anonymizedName", 1)
|
||||
return newMetric(key, anonymizedName)
|
||||
}
|
||||
|
||||
fun getJREVersionUsage(project: Project, key: String, jreName: String?): UsageDescriptor {
|
||||
fun getJREVersionUsage(project: Project, key: String, jreName: String?): MetricEvent {
|
||||
val jdk = ExternalSystemJdkUtil.getJdk(project, jreName)
|
||||
val versionString =
|
||||
jdk?.versionString?.let { Version.parseVersion(it)?.let { parsed -> "${parsed.major}.${parsed.minor}" } }
|
||||
?: "unknown"
|
||||
|
||||
return UsageDescriptor("$key.$versionString", 1)
|
||||
return newMetric(key, versionString)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
// Copyright 2000-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 file.
|
||||
package com.intellij.lang.ant
|
||||
|
||||
import com.intellij.internal.statistic.beans.UsageDescriptor
|
||||
import com.intellij.internal.statistic.beans.MetricEvent
|
||||
import com.intellij.internal.statistic.beans.newBooleanMetric
|
||||
import com.intellij.internal.statistic.collectors.fus.actions.persistence.ActionsCollectorImpl
|
||||
import com.intellij.internal.statistic.service.fus.collectors.FUCounterUsageLogger
|
||||
import com.intellij.internal.statistic.service.fus.collectors.ProjectUsagesCollector
|
||||
import com.intellij.internal.statistic.utils.getBooleanUsage
|
||||
import com.intellij.lang.ant.config.AntConfiguration
|
||||
import com.intellij.openapi.actionSystem.AnAction
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||
@@ -14,20 +14,20 @@ import com.intellij.openapi.project.Project
|
||||
class AntSettingsCollector : ProjectUsagesCollector() {
|
||||
override fun getGroupId() = "build.ant.state"
|
||||
|
||||
override fun getUsages(project: Project): Set<UsageDescriptor> {
|
||||
override fun getMetrics(project: Project): Set<MetricEvent> {
|
||||
val buildFiles = AntConfiguration.getInstance(project).buildFileList
|
||||
if (buildFiles.isEmpty()) return emptySet()
|
||||
|
||||
val usages = mutableSetOf<UsageDescriptor>()
|
||||
val usages = mutableSetOf<MetricEvent>()
|
||||
|
||||
// to have a total users base line to calculate pertentages of settings
|
||||
usages.add(getBooleanUsage("hasAntProjects", true))
|
||||
usages.add(newBooleanMetric("hasAntProjects", true))
|
||||
|
||||
for (each in buildFiles) {
|
||||
usages.add(getBooleanUsage("isRunInBackground", each.isRunInBackground))
|
||||
usages.add(getBooleanUsage("isColoredOutputMessages", each.isColoredOutputMessages))
|
||||
usages.add(getBooleanUsage("isViewClosedWhenNoErrors", each.isViewClosedWhenNoErrors))
|
||||
usages.add(getBooleanUsage("isCollapseFinishedTargets", each.isCollapseFinishedTargets))
|
||||
usages.add(newBooleanMetric("isRunInBackground", each.isRunInBackground))
|
||||
usages.add(newBooleanMetric("isColoredOutputMessages", each.isColoredOutputMessages))
|
||||
usages.add(newBooleanMetric("isViewClosedWhenNoErrors", each.isViewClosedWhenNoErrors))
|
||||
usages.add(newBooleanMetric("isCollapseFinishedTargets", each.isCollapseFinishedTargets))
|
||||
}
|
||||
|
||||
return usages
|
||||
|
||||
+20
-26
@@ -1,10 +1,10 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package org.jetbrains.plugins.gradle.statistics
|
||||
|
||||
import com.intellij.internal.statistic.beans.UsageDescriptor
|
||||
import com.intellij.internal.statistic.beans.MetricEvent
|
||||
import com.intellij.internal.statistic.beans.newBooleanMetric
|
||||
import com.intellij.internal.statistic.beans.newMetric
|
||||
import com.intellij.internal.statistic.service.fus.collectors.ProjectUsagesCollector
|
||||
import com.intellij.internal.statistic.utils.getBooleanUsage
|
||||
import com.intellij.internal.statistic.utils.getEnumUsage
|
||||
import com.intellij.openapi.externalSystem.statistics.ExternalSystemUsagesCollector
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.util.Version
|
||||
@@ -15,48 +15,46 @@ import org.jetbrains.plugins.gradle.settings.GradleSettings
|
||||
class GradleSettingsCollector : ProjectUsagesCollector() {
|
||||
override fun getGroupId() = "build.gradle.state"
|
||||
|
||||
override fun getUsages(project: Project): Set<UsageDescriptor> {
|
||||
override fun getMetrics(project: Project): Set<MetricEvent> {
|
||||
val gradleSettings = GradleSettings.getInstance(project)
|
||||
val projectsSettings = gradleSettings.linkedProjectsSettings
|
||||
if (projectsSettings.isEmpty()) {
|
||||
return emptySet()
|
||||
}
|
||||
val usages = mutableSetOf<UsageDescriptor>()
|
||||
val usages = mutableSetOf<MetricEvent>()
|
||||
|
||||
// to have a total users base line to calculate pertentages of settings
|
||||
usages.add(getBooleanUsage("hasGradleProject", true))
|
||||
usages.add(newBooleanMetric("hasGradleProject", true))
|
||||
|
||||
// global settings
|
||||
usages.add(getBooleanUsage("offlineWork", gradleSettings.isOfflineWork))
|
||||
usages.add(getBooleanUsage("hasCustomServiceDirectoryPath", !gradleSettings.serviceDirectoryPath.isNullOrBlank()))
|
||||
usages.add(getBooleanUsage("hasCustomGradleVmOptions", !gradleSettings.gradleVmOptions.isNullOrBlank()))
|
||||
usages.add(getBooleanUsage("showSelectiveImportDialogOnInitialImport", gradleSettings.showSelectiveImportDialogOnInitialImport()))
|
||||
usages.add(getBooleanUsage("storeProjectFilesExternally", gradleSettings.storeProjectFilesExternally))
|
||||
usages.add(newBooleanMetric("offlineWork", gradleSettings.isOfflineWork))
|
||||
usages.add(newBooleanMetric("hasCustomServiceDirectoryPath", !gradleSettings.serviceDirectoryPath.isNullOrBlank()))
|
||||
usages.add(newBooleanMetric("hasCustomGradleVmOptions", !gradleSettings.gradleVmOptions.isNullOrBlank()))
|
||||
usages.add(newBooleanMetric("showSelectiveImportDialogOnInitialImport", gradleSettings.showSelectiveImportDialogOnInitialImport()))
|
||||
usages.add(newBooleanMetric("storeProjectFilesExternally", gradleSettings.storeProjectFilesExternally))
|
||||
|
||||
// project settings
|
||||
for (setting in gradleSettings.linkedProjectsSettings) {
|
||||
val projectPath = setting.externalProjectPath
|
||||
usages.add(getBooleanUsage("isUseQualifiedModuleNames", setting.isUseQualifiedModuleNames))
|
||||
usages.add(getBooleanUsage("createModulePerSourceSet", setting.isResolveModulePerSourceSet))
|
||||
usages.add(getEnumUsage("distributionType", setting.distributionType))
|
||||
usages.add(newBooleanMetric("isUseQualifiedModuleNames", setting.isUseQualifiedModuleNames))
|
||||
usages.add(newBooleanMetric("createModulePerSourceSet", setting.isResolveModulePerSourceSet))
|
||||
usages.add(newMetric("distributionType", setting.distributionType))
|
||||
|
||||
usages.add(getYesNoUsage("isCompositeBuilds", setting.compositeBuild != null))
|
||||
usages.add(getBooleanUsage("disableWrapperSourceDistributionNotification", setting.isDisableWrapperSourceDistributionNotification))
|
||||
usages.add(newBooleanMetric("isCompositeBuilds", setting.compositeBuild != null))
|
||||
usages.add(newBooleanMetric("disableWrapperSourceDistributionNotification", setting.isDisableWrapperSourceDistributionNotification))
|
||||
|
||||
usages.add(ExternalSystemUsagesCollector.getJRETypeUsage("gradleJvmType", setting.gradleJvm))
|
||||
usages.add(ExternalSystemUsagesCollector.getJREVersionUsage(project, "gradleJvmVersion", setting.gradleJvm))
|
||||
|
||||
val gradleVersion = setting.resolveGradleVersion()
|
||||
if(gradleVersion.isSnapshot) {
|
||||
usages.add(UsageDescriptor("gradleVersion." + anonymizeGradleVersion(gradleVersion.baseVersion) + ".SNAPSHOT", 1))
|
||||
usages.add(newMetric("gradleVersion", anonymizeGradleVersion(gradleVersion.baseVersion) + ".SNAPSHOT"))
|
||||
} else {
|
||||
usages.add(UsageDescriptor("gradleVersion." + anonymizeGradleVersion(gradleVersion), 1))
|
||||
usages.add(newMetric("gradleVersion", anonymizeGradleVersion(gradleVersion)))
|
||||
}
|
||||
|
||||
usages.add(getBooleanUsage("delegateBuildRun",
|
||||
GradleProjectSettings.isDelegatedBuildEnabled(project, projectPath)))
|
||||
usages.add(getEnumUsage("preferredTestRunner",
|
||||
GradleProjectSettings.getTestRunner(project, projectPath)))
|
||||
usages.add(newBooleanMetric("delegateBuildRun", GradleProjectSettings.isDelegatedBuildEnabled(project, projectPath)))
|
||||
usages.add(newMetric("preferredTestRunner", GradleProjectSettings.getTestRunner(project, projectPath)))
|
||||
}
|
||||
return usages
|
||||
}
|
||||
@@ -64,8 +62,4 @@ class GradleSettingsCollector : ProjectUsagesCollector() {
|
||||
private fun anonymizeGradleVersion(version : GradleVersion) : String {
|
||||
return Version.parseVersion(version.version)?.toCompactString() ?: "unknown"
|
||||
}
|
||||
|
||||
private fun getYesNoUsage(key: String, value: Boolean): UsageDescriptor {
|
||||
return UsageDescriptor(key + if (value) ".yes" else ".no", 1)
|
||||
}
|
||||
}
|
||||
|
||||
+47
-46
@@ -1,10 +1,10 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package org.jetbrains.idea.maven.statistics
|
||||
|
||||
import com.intellij.internal.statistic.beans.UsageDescriptor
|
||||
import com.intellij.internal.statistic.beans.MetricEvent
|
||||
import com.intellij.internal.statistic.beans.newBooleanMetric
|
||||
import com.intellij.internal.statistic.beans.newMetric
|
||||
import com.intellij.internal.statistic.service.fus.collectors.ProjectUsagesCollector
|
||||
import com.intellij.internal.statistic.utils.getBooleanUsage
|
||||
import com.intellij.internal.statistic.utils.getEnumUsage
|
||||
import com.intellij.openapi.externalSystem.statistics.ExternalSystemUsagesCollector
|
||||
import com.intellij.openapi.project.ExternalStorageConfigurationManager
|
||||
import com.intellij.openapi.project.Project
|
||||
@@ -18,79 +18,80 @@ import org.jetbrains.idea.maven.utils.MavenUtil
|
||||
class MavenSettingsCollector : ProjectUsagesCollector() {
|
||||
override fun getGroupId() = "build.maven.state"
|
||||
|
||||
override fun getUsages(project: Project): Set<UsageDescriptor> {
|
||||
override fun getMetrics(project: Project): Set<MetricEvent> {
|
||||
val manager = MavenProjectsManager.getInstance(project)
|
||||
if (!manager.isMavenizedProject) return emptySet()
|
||||
|
||||
val usages = mutableSetOf<UsageDescriptor>()
|
||||
val usages = mutableSetOf<MetricEvent>()
|
||||
|
||||
// to have a total users base line to calculate pertentages of settings
|
||||
usages.add(getBooleanUsage("hasMavenProject", true))
|
||||
usages.add(newBooleanMetric("hasMavenProject", true))
|
||||
|
||||
// Main page
|
||||
val generalSettings = manager.generalSettings
|
||||
usages.add(getEnumUsage("checksumPolicy", generalSettings.checksumPolicy))
|
||||
usages.add(getEnumUsage("failureBehavior", generalSettings.failureBehavior))
|
||||
usages.add(getBooleanUsage("alwaysUpdateSnapshots", generalSettings.isAlwaysUpdateSnapshots))
|
||||
usages.add(getBooleanUsage("nonRecursive", generalSettings.isNonRecursive))
|
||||
usages.add(getBooleanUsage("printErrorStackTraces", generalSettings.isPrintErrorStackTraces))
|
||||
usages.add(getBooleanUsage("usePluginRegistry", generalSettings.isUsePluginRegistry))
|
||||
usages.add(getBooleanUsage("workOffline", generalSettings.isWorkOffline))
|
||||
usages.add(getEnumUsage("outputLevel", generalSettings.outputLevel))
|
||||
usages.add(getEnumUsage("pluginUpdatePolicy", generalSettings.pluginUpdatePolicy))
|
||||
usages.add(getEnumUsage("loggingLevel", generalSettings.loggingLevel))
|
||||
usages.add(newMetric("checksumPolicy", generalSettings.checksumPolicy))
|
||||
usages.add(newMetric("failureBehavior", generalSettings.failureBehavior))
|
||||
usages.add(newBooleanMetric("alwaysUpdateSnapshots", generalSettings.isAlwaysUpdateSnapshots))
|
||||
usages.add(newBooleanMetric("nonRecursive", generalSettings.isNonRecursive))
|
||||
usages.add(newBooleanMetric("printErrorStackTraces", generalSettings.isPrintErrorStackTraces))
|
||||
usages.add(newBooleanMetric("usePluginRegistry", generalSettings.isUsePluginRegistry))
|
||||
usages.add(newBooleanMetric("workOffline", generalSettings.isWorkOffline))
|
||||
usages.add(newMetric("outputLevel", generalSettings.outputLevel))
|
||||
usages.add(newMetric("pluginUpdatePolicy", generalSettings.pluginUpdatePolicy))
|
||||
@Suppress("DEPRECATION")
|
||||
usages.add(newMetric("loggingLevel", generalSettings.loggingLevel))
|
||||
try {
|
||||
var mavenVersion = MavenUtil.getMavenVersion(resolveMavenHome(generalSettings, project, null))
|
||||
mavenVersion = mavenVersion?.let { Version.parseVersion(it)?.toCompactString() } ?: "unknown"
|
||||
usages.add(UsageDescriptor("mavenVersion.$mavenVersion"))
|
||||
usages.add(newMetric("mavenVersion", mavenVersion))
|
||||
}
|
||||
catch (ignore: Exception) {
|
||||
// ignore invalid maven home configuration
|
||||
}
|
||||
usages.add(getBooleanUsage("localRepository", generalSettings.localRepository.isNotBlank()))
|
||||
usages.add(getBooleanUsage("userSettingsFile", generalSettings.userSettingsFile.isNotBlank()))
|
||||
usages.add(newBooleanMetric("localRepository", generalSettings.localRepository.isNotBlank()))
|
||||
usages.add(newBooleanMetric("userSettingsFile", generalSettings.userSettingsFile.isNotBlank()))
|
||||
|
||||
// Importing page
|
||||
val importingSettings = manager.importingSettings
|
||||
usages.add(getBooleanUsage("lookForNested", importingSettings.isLookForNested))
|
||||
usages.add(newBooleanMetric("lookForNested", importingSettings.isLookForNested))
|
||||
|
||||
usages.add(getBooleanUsage("dedicatedModuleDir", importingSettings.dedicatedModuleDir.isNotBlank()))
|
||||
usages.add(getBooleanUsage("storeProjectFilesExternally", ExternalStorageConfigurationManager.getInstance(project).isEnabled))
|
||||
usages.add(getBooleanUsage("importAutomatically", importingSettings.isImportAutomatically))
|
||||
usages.add(getBooleanUsage("autoDetectCompiler", importingSettings.isAutoDetectCompiler))
|
||||
usages.add(getBooleanUsage("createModulesForAggregators", importingSettings.isCreateModulesForAggregators))
|
||||
usages.add(getBooleanUsage("createModuleGroups", importingSettings.isCreateModuleGroups))
|
||||
usages.add(getBooleanUsage("keepSourceFolders", importingSettings.isKeepSourceFolders))
|
||||
usages.add(getBooleanUsage("excludeTargetFolder", importingSettings.isExcludeTargetFolder))
|
||||
usages.add(getBooleanUsage("useMavenOutput", importingSettings.isUseMavenOutput))
|
||||
usages.add(newBooleanMetric("dedicatedModuleDir", importingSettings.dedicatedModuleDir.isNotBlank()))
|
||||
usages.add(newBooleanMetric("storeProjectFilesExternally", ExternalStorageConfigurationManager.getInstance(project).isEnabled))
|
||||
usages.add(newBooleanMetric("importAutomatically", importingSettings.isImportAutomatically))
|
||||
usages.add(newBooleanMetric("autoDetectCompiler", importingSettings.isAutoDetectCompiler))
|
||||
usages.add(newBooleanMetric("createModulesForAggregators", importingSettings.isCreateModulesForAggregators))
|
||||
usages.add(newBooleanMetric("createModuleGroups", importingSettings.isCreateModuleGroups))
|
||||
usages.add(newBooleanMetric("keepSourceFolders", importingSettings.isKeepSourceFolders))
|
||||
usages.add(newBooleanMetric("excludeTargetFolder", importingSettings.isExcludeTargetFolder))
|
||||
usages.add(newBooleanMetric("useMavenOutput", importingSettings.isUseMavenOutput))
|
||||
|
||||
usages.add(getEnumUsage("generatedSourcesFolder", importingSettings.generatedSourcesFolder))
|
||||
usages.add(UsageDescriptor("updateFoldersOnImportPhase." + importingSettings.updateFoldersOnImportPhase))
|
||||
usages.add(newMetric("generatedSourcesFolder", importingSettings.generatedSourcesFolder))
|
||||
usages.add(newMetric("updateFoldersOnImportPhase", importingSettings.updateFoldersOnImportPhase))
|
||||
|
||||
usages.add(getBooleanUsage("downloadDocsAutomatically", importingSettings.isDownloadDocsAutomatically))
|
||||
usages.add(getBooleanUsage("downloadSourcesAutomatically", importingSettings.isDownloadSourcesAutomatically))
|
||||
usages.add(getBooleanUsage("customDependencyTypes",
|
||||
usages.add(newBooleanMetric("downloadDocsAutomatically", importingSettings.isDownloadDocsAutomatically))
|
||||
usages.add(newBooleanMetric("downloadSourcesAutomatically", importingSettings.isDownloadSourcesAutomatically))
|
||||
usages.add(newBooleanMetric("customDependencyTypes",
|
||||
MavenImportingSettings.DEFAULT_DEPENDENCY_TYPES != importingSettings.dependencyTypes))
|
||||
|
||||
usages.add(ExternalSystemUsagesCollector.getJRETypeUsage("jdkTypeForImporter", importingSettings.jdkForImporter))
|
||||
usages.add(ExternalSystemUsagesCollector.getJREVersionUsage(project, "jdkVersionForImporter", importingSettings.jdkForImporter))
|
||||
usages.add(getBooleanUsage("hasVmOptionsForImporter", importingSettings.vmOptionsForImporter.isNotBlank()))
|
||||
usages.add(newBooleanMetric("hasVmOptionsForImporter", importingSettings.vmOptionsForImporter.isNotBlank()))
|
||||
|
||||
// Ignored Files page
|
||||
usages.add(getBooleanUsage("hasIgnoredFiles", manager.ignoredFilesPaths.isNotEmpty()))
|
||||
usages.add(getBooleanUsage("hasIgnoredPatterns", manager.ignoredFilesPatterns.isNotEmpty()))
|
||||
usages.add(newBooleanMetric("hasIgnoredFiles", manager.ignoredFilesPaths.isNotEmpty()))
|
||||
usages.add(newBooleanMetric("hasIgnoredPatterns", manager.ignoredFilesPatterns.isNotEmpty()))
|
||||
|
||||
// Runner page
|
||||
val runnerSettings = MavenRunner.getInstance(project).settings
|
||||
usages.add(getBooleanUsage("delegateBuildRun", runnerSettings.isDelegateBuildToMaven));
|
||||
usages.add(getBooleanUsage("runMavenInBackground", runnerSettings.isRunMavenInBackground));
|
||||
usages.add(ExternalSystemUsagesCollector.getJRETypeUsage("runnerJreType", runnerSettings.jreName));
|
||||
usages.add(ExternalSystemUsagesCollector.getJREVersionUsage(project, "runnerJreVersion", runnerSettings.jreName));
|
||||
usages.add(getBooleanUsage("hasRunnerVmOptions", runnerSettings.vmOptions.isNotBlank()));
|
||||
usages.add(getBooleanUsage("hasRunnerEnvVariables", !runnerSettings.environmentProperties.isNullOrEmpty()));
|
||||
usages.add(getBooleanUsage("passParentEnv", runnerSettings.isPassParentEnv));
|
||||
usages.add(getBooleanUsage("skipTests", runnerSettings.isSkipTests));
|
||||
usages.add(getBooleanUsage("hasRunnerMavenProperties", !runnerSettings.mavenProperties.isNullOrEmpty()));
|
||||
usages.add(newBooleanMetric("delegateBuildRun", runnerSettings.isDelegateBuildToMaven))
|
||||
usages.add(newBooleanMetric("runMavenInBackground", runnerSettings.isRunMavenInBackground))
|
||||
usages.add(ExternalSystemUsagesCollector.getJRETypeUsage("runnerJreType", runnerSettings.jreName))
|
||||
usages.add(ExternalSystemUsagesCollector.getJREVersionUsage(project, "runnerJreVersion", runnerSettings.jreName))
|
||||
usages.add(newBooleanMetric("hasRunnerVmOptions", runnerSettings.vmOptions.isNotBlank()))
|
||||
usages.add(newBooleanMetric("hasRunnerEnvVariables", !runnerSettings.environmentProperties.isNullOrEmpty()))
|
||||
usages.add(newBooleanMetric("passParentEnv", runnerSettings.isPassParentEnv))
|
||||
usages.add(newBooleanMetric("skipTests", runnerSettings.isSkipTests))
|
||||
usages.add(newBooleanMetric("hasRunnerMavenProperties", !runnerSettings.mavenProperties.isNullOrEmpty()))
|
||||
return usages
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user