Skip to content

Commit

Permalink
Use "project.findProperty" instead of "providers.valueOrNull" to fix …
Browse files Browse the repository at this point in the history
…sub-module gradle properties for res class generation
  • Loading branch information
terrakok committed Jan 29, 2024
1 parent 50908d6 commit ee26bf8
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 5 deletions.
1 change: 0 additions & 1 deletion components/gradle.properties
Expand Up @@ -15,7 +15,6 @@ agp.version=8.1.2
org.jetbrains.compose.experimental.jscanvas.enabled=true
org.jetbrains.compose.experimental.wasm.enabled=true
org.jetbrains.compose.experimental.macos.enabled=true
compose.resources.always.generate.accessors=true
compose.desktop.verbose=true
compose.useMavenLocal=false

Expand Down
1 change: 1 addition & 0 deletions components/resources/demo/shared/gradle.properties
@@ -0,0 +1 @@
compose.resources.always.generate.accessors=true
Expand Up @@ -5,10 +5,11 @@

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

import org.gradle.api.Project
import org.gradle.api.provider.Provider
import org.gradle.api.provider.ProviderFactory
import org.jetbrains.compose.internal.utils.valueOrNull
import org.jetbrains.compose.internal.utils.toBooleanProvider
import org.jetbrains.compose.internal.utils.valueOrNull

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

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

fun syncResources(providers: ProviderFactory): Provider<Boolean> =
providers.valueOrNull(SYNC_RESOURCES_PROPERTY).toBooleanProvider(true)
Expand Down
Expand Up @@ -55,7 +55,7 @@ private fun Project.configureResourceGenerator(commonComposeResourcesDir: File,

//lazy check a dependency on the Resources library
val shouldGenerateResourceAccessors: Provider<Boolean> = provider {
if (ComposeProperties.alwaysGenerateResourceAccessors(providers).get()) {
if (ComposeProperties.alwaysGenerateResourceAccessors(project).get()) {
true
} else {
configurations
Expand Down

0 comments on commit ee26bf8

Please sign in to comment.