[Gradle] Don't trigger all root project properties evaluation on FUS report
`Project.properties` triggers all the properties computation to return them as `Map`. We should query only for a required property instead. #KT-56421 Fixed
This commit is contained in:
committed by
Space Team
parent
5d391bc261
commit
0ab8d07e23
+4
-1
@@ -9,11 +9,14 @@ import org.jetbrains.kotlin.gradle.idea.kpm.IdeaKpmDependency
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.GradleKpmFragment
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.path
|
||||
|
||||
private const val IDEA_KOTLIN_LOG_DEPENDENCIES = "idea.kotlin.log.dependencies"
|
||||
|
||||
internal object IdeaKpmDependencyLogger : IdeaKpmDependencyEffect {
|
||||
override fun invoke(
|
||||
fragment: GradleKpmFragment, dependencies: Set<IdeaKpmDependency>
|
||||
) {
|
||||
val fragmentPathRegex = fragment.project.properties["idea.kotlin.log.dependencies"]?.toString() ?: return
|
||||
if (!fragment.project.hasProperty(IDEA_KOTLIN_LOG_DEPENDENCIES)) return
|
||||
val fragmentPathRegex = fragment.project.property(IDEA_KOTLIN_LOG_DEPENDENCIES).toString()
|
||||
if (!fragment.path.matches(Regex(fragmentPathRegex))) return
|
||||
|
||||
val message = buildString {
|
||||
|
||||
+1
-1
@@ -80,7 +80,7 @@ class KotlinBuildStatHandler {
|
||||
sessionLogger.report(NumericalMetrics.GRADLE_DAEMON_HEAP_SIZE, Runtime.getRuntime().maxMemory())
|
||||
sessionLogger.report(
|
||||
BooleanMetrics.KOTLIN_OFFICIAL_CODESTYLE,
|
||||
gradle.rootProject.properties["kotlin.code.style"] == "official"
|
||||
gradle.rootProject.providers.gradleProperty("kotlin.code.style").orNull == "official"
|
||||
) // constants are saved in IDEA plugin and could not be accessed directly
|
||||
|
||||
gradle.taskGraph.whenReady() { taskExecutionGraph ->
|
||||
|
||||
+10
-2
@@ -152,7 +152,11 @@ internal abstract class KotlinBuildStatsService internal constructor() : BuildAd
|
||||
return if (File(gradle.gradleUserHomeDir, DISABLE_STATISTICS_FILE_NAME).exists()) {
|
||||
false
|
||||
} else {
|
||||
gradle.rootProject.properties[ENABLE_STATISTICS_PROPERTY_NAME]?.toString()?.toBoolean() ?: DEFAULT_STATISTICS_STATE
|
||||
if (gradle.rootProject.hasProperty(ENABLE_STATISTICS_PROPERTY_NAME)) {
|
||||
gradle.rootProject.property(ENABLE_STATISTICS_PROPERTY_NAME).toString().toBoolean()
|
||||
} else {
|
||||
DEFAULT_STATISTICS_STATE
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -194,7 +198,11 @@ internal class DefaultKotlinBuildStatsService internal constructor(
|
||||
gradle: Gradle,
|
||||
val beanName: ObjectName
|
||||
) : KotlinBuildStatsService(), KotlinBuildStatsMXBean {
|
||||
private val forcePropertiesValidation = gradle.rootProject.properties[FORCE_VALUES_VALIDATION]?.toString()?.toBoolean() ?: false
|
||||
private val forcePropertiesValidation = if (gradle.rootProject.hasProperty(FORCE_VALUES_VALIDATION)) {
|
||||
gradle.rootProject.property(FORCE_VALUES_VALIDATION).toString().toBoolean()
|
||||
} else {
|
||||
false
|
||||
}
|
||||
private val sessionLogger = BuildSessionLogger(gradle.gradleUserHomeDir, forceValuesValidation = forcePropertiesValidation)
|
||||
|
||||
private fun gradleBuildStartTime(gradle: Gradle): Long? {
|
||||
|
||||
Reference in New Issue
Block a user