mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Gradle stat: report JVM version instead of IDE SDK user name as gradleJvm option
This commit is contained in:
+14
-2
@@ -6,9 +6,12 @@ import com.intellij.internal.statistic.beans.UsageDescriptor
|
||||
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.service.execution.ExternalSystemJdkUtil
|
||||
import com.intellij.openapi.project.Project
|
||||
import org.jetbrains.plugins.gradle.settings.GradleSettings
|
||||
import com.intellij.openapi.projectRoots.SdkType
|
||||
import org.jetbrains.plugins.gradle.service.settings.GradleSettingsService
|
||||
import org.jetbrains.plugins.gradle.settings.GradleProjectSettings
|
||||
import org.jetbrains.plugins.gradle.settings.GradleSettings
|
||||
|
||||
class GradleSettingsCollector : ProjectUsagesCollector() {
|
||||
override fun getGroupId() = "statistics.build.gradle.state"
|
||||
@@ -34,7 +37,7 @@ class GradleSettingsCollector : ProjectUsagesCollector() {
|
||||
usages.add(getEnumUsage("storeProjectFilesExternally", setting.storeProjectFilesExternally))
|
||||
usages.add(getBooleanUsage("disableWrapperSourceDistributionNotification", setting.isDisableWrapperSourceDistributionNotification))
|
||||
usages.add(getBooleanUsage("createModulePerSourceSet", setting.isResolveModulePerSourceSet))
|
||||
usages.add(UsageDescriptor("gradleJvm." + ConvertUsagesUtil.escapeDescriptorName(setting.gradleJvm ?: "empty"), 1))
|
||||
usages.add(UsageDescriptor("gradleJvm." + ConvertUsagesUtil.escapeDescriptorName(getGradleJvmName(setting, project) ?: "empty"), 1))
|
||||
usages.add(UsageDescriptor("gradleVersion." + setting.resolveGradleVersion().version, 1))
|
||||
usages.add(getBooleanUsage("delegateBuildRun", settingsService.isDelegatedBuildEnabled(projectPath)))
|
||||
usages.add(getEnumUsage("preferredTestRunner", settingsService.getTestRunner(projectPath)))
|
||||
@@ -42,6 +45,15 @@ class GradleSettingsCollector : ProjectUsagesCollector() {
|
||||
return usages
|
||||
}
|
||||
|
||||
private fun getGradleJvmName(setting: GradleProjectSettings, project: Project): String? {
|
||||
val jdk = ExternalSystemJdkUtil.getJdk(project, setting.gradleJvm)
|
||||
val sdkType = jdk?.sdkType
|
||||
return if (sdkType is SdkType) {
|
||||
sdkType.suggestSdkName(null, jdk.homePath)
|
||||
}
|
||||
else setting.gradleJvm
|
||||
}
|
||||
|
||||
private fun getYesNoUsage(key: String, value: Boolean): UsageDescriptor {
|
||||
return UsageDescriptor(key + if (value) ".yes" else ".no", 1)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user