From f4272bf4c714e2be58741b3f37a2b50db54ba6c5 Mon Sep 17 00:00:00 2001 From: "dima.avdeev" Date: Fri, 24 Nov 2023 12:58:03 +0300 Subject: [PATCH] Fix Compose Gradle plugin Issue with daemon in Issue 3933 (#3951) Fix for Issue https://github.com/JetBrains/compose-multiplatform/issues/3933 Applyed workaround described in Gradle Issue: https://github.com/gradle/gradle/issues/27099 We just need to call all functions (getters in our case) in our interface based on BuildServiceParameters at least once --- .../internal/service/ConfigurationProblemReporterService.kt | 5 ++++- .../internal/service/GradlePropertySnapshotService.kt | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/internal/service/ConfigurationProblemReporterService.kt b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/internal/service/ConfigurationProblemReporterService.kt index 43d103afb3..e61528f6cc 100644 --- a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/internal/service/ConfigurationProblemReporterService.kt +++ b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/internal/service/ConfigurationProblemReporterService.kt @@ -43,7 +43,10 @@ abstract class ConfigurationProblemReporterService : AbstractComposeMultiplatfor } companion object { fun init(project: Project) { - registerServiceIfAbsent(project) + registerServiceIfAbsent(project) { + // WORKAROUND! Call getter at least once, because of Issue: https://github.com/gradle/gradle/issues/27099 + warnings + } } private inline fun configureParameters(project: Project, fn: Parameters.() -> Unit) { diff --git a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/internal/service/GradlePropertySnapshotService.kt b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/internal/service/GradlePropertySnapshotService.kt index fa2c9b0078..32e7cfa559 100644 --- a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/internal/service/GradlePropertySnapshotService.kt +++ b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/internal/service/GradlePropertySnapshotService.kt @@ -24,6 +24,9 @@ internal abstract class GradlePropertySnapshotService : AbstractComposeMultiplat companion object { fun init(project: Project) { registerServiceIfAbsent(project) { + // WORKAROUND! Call getter at least once, because of Issue: https://github.com/gradle/gradle/issues/27099 + gradlePropertiesCacheKindSnapshot + localPropertiesCacheKindSnapshot initParams(project) } }