Skip to content

Commit ee26bf8

Browse files
committed
Use "project.findProperty" instead of "providers.valueOrNull" to fix sub-module gradle properties for res class generation
1 parent 50908d6 commit ee26bf8

File tree

4 files changed

+8
-5
lines changed

4 files changed

+8
-5
lines changed

components/gradle.properties

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ agp.version=8.1.2
1515
org.jetbrains.compose.experimental.jscanvas.enabled=true
1616
org.jetbrains.compose.experimental.wasm.enabled=true
1717
org.jetbrains.compose.experimental.macos.enabled=true
18-
compose.resources.always.generate.accessors=true
1918
compose.desktop.verbose=true
2019
compose.useMavenLocal=false
2120

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
compose.resources.always.generate.accessors=true

gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/internal/ComposeProjectProperties.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@
55

66
package org.jetbrains.compose.desktop.application.internal
77

8+
import org.gradle.api.Project
89
import org.gradle.api.provider.Provider
910
import org.gradle.api.provider.ProviderFactory
10-
import org.jetbrains.compose.internal.utils.valueOrNull
1111
import org.jetbrains.compose.internal.utils.toBooleanProvider
12+
import org.jetbrains.compose.internal.utils.valueOrNull
1213

1314
internal object ComposeProperties {
1415
internal const val VERBOSE = "compose.desktop.verbose"
@@ -54,8 +55,10 @@ internal object ComposeProperties {
5455
fun checkJdkVendor(providers: ProviderFactory): Provider<Boolean> =
5556
providers.valueOrNull(CHECK_JDK_VENDOR).toBooleanProvider(true)
5657

57-
fun alwaysGenerateResourceAccessors(providers: ProviderFactory): Provider<Boolean> =
58-
providers.valueOrNull(ALWAYS_GENERATE_RESOURCE_ACCESSORS).toBooleanProvider(false)
58+
//providers.valueOrNull works only with root gradle.properties
59+
fun alwaysGenerateResourceAccessors(project: Project): Provider<Boolean> = project.provider {
60+
project.findProperty(ALWAYS_GENERATE_RESOURCE_ACCESSORS)?.toString().equals("true", true)
61+
}
5962

6063
fun syncResources(providers: ProviderFactory): Provider<Boolean> =
6164
providers.valueOrNull(SYNC_RESOURCES_PROPERTY).toBooleanProvider(true)

gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/resources/ResourcesGenerator.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ private fun Project.configureResourceGenerator(commonComposeResourcesDir: File,
5555

5656
//lazy check a dependency on the Resources library
5757
val shouldGenerateResourceAccessors: Provider<Boolean> = provider {
58-
if (ComposeProperties.alwaysGenerateResourceAccessors(providers).get()) {
58+
if (ComposeProperties.alwaysGenerateResourceAccessors(project).get()) {
5959
true
6060
} else {
6161
configurations

0 commit comments

Comments
 (0)