@@ -138,6 +138,8 @@ abstract class DataConnectGenerateSourcesTask : DefaultTask() {
138138 @get:PathSensitive(PathSensitivity .ABSOLUTE )
139139 abstract val dataConnectEmulatorExecutable: RegularFileProperty
140140
141+ @get:Input @get:Optional abstract val dataConnectPreviewFlags: Property <String >
142+
141143 @get:OutputDirectory abstract val outputDirectory: DirectoryProperty
142144
143145 @get:Internal abstract val workDirectory: DirectoryProperty
@@ -155,6 +157,7 @@ abstract class DataConnectGenerateSourcesTask : DefaultTask() {
155157 val firebaseCommand: String = firebaseCommand.get()
156158 val nodeExecutableDirectory: String? = nodeExecutableDirectory.orNull
157159 val dataConnectEmulatorExecutable: File ? = dataConnectEmulatorExecutable.orNull?.asFile
160+ val dataConnectPreviewFlags: String? = dataConnectPreviewFlags.orNull
158161 val outputDirectory: File = outputDirectory.get().asFile
159162 val workDirectory: File = workDirectory.get().asFile
160163
@@ -163,6 +166,7 @@ abstract class DataConnectGenerateSourcesTask : DefaultTask() {
163166 logger.info(" firebaseCommand: {}" , firebaseCommand)
164167 logger.info(" nodeExecutableDirectory: {}" , nodeExecutableDirectory)
165168 logger.info(" dataConnectEmulatorExecutable: {}" , dataConnectEmulatorExecutable)
169+ logger.info(" dataConnectPreviewFlags: {}" , dataConnectPreviewFlags)
166170 logger.info(" outputDirectory: {}" , outputDirectory.absolutePath)
167171 logger.info(" workDirectory: {}" , workDirectory.absolutePath)
168172
@@ -187,6 +191,7 @@ abstract class DataConnectGenerateSourcesTask : DefaultTask() {
187191 firebaseCommand = firebaseCommand,
188192 nodeExecutableDirectory = nodeExecutableDirectory,
189193 dataConnectEmulatorExecutable = dataConnectEmulatorExecutable,
194+ dataConnectPreviewFlags = dataConnectPreviewFlags,
190195 path = providerFactory.environmentVariable(" PATH" ).orNull,
191196 )
192197 args(" --debug" , " dataconnect:sdk:generate" )
@@ -215,6 +220,7 @@ abstract class DataConnectGenerateSourcesTask : DefaultTask() {
215220 firebaseCommand : String ,
216221 nodeExecutableDirectory : String? ,
217222 dataConnectEmulatorExecutable : File ? ,
223+ dataConnectPreviewFlags : String? ,
218224 path : String? ,
219225 ) {
220226 execSpec.setCommandLine(firebaseCommand)
@@ -240,6 +246,10 @@ abstract class DataConnectGenerateSourcesTask : DefaultTask() {
240246 dataConnectEmulatorExecutable.absolutePath,
241247 )
242248 }
249+
250+ if (dataConnectPreviewFlags != = null ) {
251+ execSpec.environment(" DATA_CONNECT_PREVIEW" , dataConnectPreviewFlags)
252+ }
243253 }
244254 }
245255}
@@ -301,6 +311,9 @@ run {
301311 projectDirectory.file(it)
302312 }
303313
314+ dataConnectPreviewFlags =
315+ project.providers.gradleProperty(" dataConnect.demo.dataConnectPreviewFlags" )
316+
304317 val path = providers.environmentVariable(" PATH" )
305318 firebaseToolsVersion =
306319 providers
@@ -310,6 +323,7 @@ run {
310323 firebaseCommand = firebaseCommand.get(),
311324 nodeExecutableDirectory = nodeExecutableDirectory.orNull,
312325 dataConnectEmulatorExecutable = dataConnectEmulatorExecutable.orNull?.asFile,
326+ dataConnectPreviewFlags = dataConnectPreviewFlags.orNull,
313327 path = path.orNull,
314328 )
315329 args(" --version" )
0 commit comments