Skip to content

Commit e82b94a

Browse files
committed
dataconnect: demo: add support for data connect preview flags
1 parent 691e9c8 commit e82b94a

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

firebase-dataconnect/demo/build.gradle.kts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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")

firebase-dataconnect/demo/gradle.properties

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,8 @@ org.jetbrains.dokka.experimental.gradle.pluginMode.noWarn=true
2929
// downloading an official version and using it.
3030
// See build.gradle.kts for details.
3131
//dataConnect.demo.dataConnectEmulatorExecutable=/path/to/cli
32+
33+
// A comma-separated list of "preview flags" to specify to the Data Connect emulator and codegen.
34+
// This is used to enable features that are not (yet) intended for end-user consumption.
35+
// See build.gradle.kts for details.
36+
//dataConnect.demo.dataConnectPreviewFlags=flag1,flag2,flag3

0 commit comments

Comments
 (0)