diff --git a/firebase-dataconnect/demo/build.gradle.kts b/firebase-dataconnect/demo/build.gradle.kts index 6e705b343ba..78465a0df41 100644 --- a/firebase-dataconnect/demo/build.gradle.kts +++ b/firebase-dataconnect/demo/build.gradle.kts @@ -108,10 +108,12 @@ spotless { } } -@DisableCachingByDefault(because = "Code generation is very fast and not worth caching") +@CacheableTask abstract class DataConnectGenerateSourcesTask : DefaultTask() { - @get:InputDirectory abstract val inputDirectory: Property + @get:InputDirectory + @get:PathSensitive(PathSensitivity.RELATIVE) + abstract val inputDirectory: Property @get:Input abstract val firebaseToolsVersion: Property @@ -270,22 +272,19 @@ run { val path = providers.environmentVariable("PATH") firebaseToolsVersion = - providers.provider { - providers - .exec { - DataConnectGenerateSourcesTask.configureFirebaseCommand( - this, - firebaseCommand = firebaseCommand.get(), - nodeExecutableDirectory = nodeExecutableDirectory.orNull, - path = path.orNull, - ) - args("--version") - } - .standardOutput - .asText - .get() - .trim() - } + providers + .exec { + DataConnectGenerateSourcesTask.configureFirebaseCommand( + this, + firebaseCommand = firebaseCommand.get(), + nodeExecutableDirectory = nodeExecutableDirectory.orNull, + path = path.orNull, + ) + args("--version") + } + .standardOutput + .asText + .map { it.trim() } workDirectory = layout.buildDirectory.dir(name) }