@@ -61,6 +61,13 @@ dokka {
6161 moduleName.set(" Data Connect Demo" )
6262 dokkaSourceSets.main {
6363 sourceRoots.from(layout.buildDirectory.dir(" dataConnect/generatedSources/" ).get())
64+ includes.from(
65+ layout.buildDirectory
66+ .dir(
67+ " dataConnect/generatedSources/com/google/firebase/dataconnect/minimaldemo/connector/README.md"
68+ )
69+ .get()
70+ )
6471 }
6572}
6673
@@ -133,6 +140,11 @@ abstract class DataConnectGenerateSourcesTask : DefaultTask() {
133140
134141 @get:Input @get:Optional abstract val nodeExecutableDirectory: Property <String >
135142
143+ @get:InputFile
144+ @get:Optional
145+ @get:PathSensitive(PathSensitivity .ABSOLUTE )
146+ abstract val dataConnectEmulatorExecutable: RegularFileProperty
147+
136148 @get:OutputDirectory abstract val outputDirectory: DirectoryProperty
137149
138150 @get:Internal abstract val workDirectory: DirectoryProperty
@@ -149,13 +161,15 @@ abstract class DataConnectGenerateSourcesTask : DefaultTask() {
149161 val firebaseToolsVersion: String = firebaseToolsVersion.get()
150162 val firebaseCommand: String = firebaseCommand.get()
151163 val nodeExecutableDirectory: String? = nodeExecutableDirectory.orNull
164+ val dataConnectEmulatorExecutable: File ? = dataConnectEmulatorExecutable.orNull?.asFile
152165 val outputDirectory: File = outputDirectory.get().asFile
153166 val workDirectory: File = workDirectory.get().asFile
154167
155168 logger.info(" inputDirectory: {}" , inputDirectory.absolutePath)
156169 logger.info(" firebaseToolsVersion: {}" , firebaseToolsVersion)
157170 logger.info(" firebaseCommand: {}" , firebaseCommand)
158171 logger.info(" nodeExecutableDirectory: {}" , nodeExecutableDirectory)
172+ logger.info(" dataConnectEmulatorExecutable: {}" , dataConnectEmulatorExecutable)
159173 logger.info(" outputDirectory: {}" , outputDirectory.absolutePath)
160174 logger.info(" workDirectory: {}" , workDirectory.absolutePath)
161175
@@ -179,6 +193,7 @@ abstract class DataConnectGenerateSourcesTask : DefaultTask() {
179193 this ,
180194 firebaseCommand = firebaseCommand,
181195 nodeExecutableDirectory = nodeExecutableDirectory,
196+ dataConnectEmulatorExecutable = dataConnectEmulatorExecutable,
182197 path = providerFactory.environmentVariable(" PATH" ).orNull,
183198 )
184199 args(" --debug" , " dataconnect:sdk:generate" )
@@ -206,6 +221,7 @@ abstract class DataConnectGenerateSourcesTask : DefaultTask() {
206221 execSpec : ExecSpec ,
207222 firebaseCommand : String ,
208223 nodeExecutableDirectory : String? ,
224+ dataConnectEmulatorExecutable : File ? ,
209225 path : String? ,
210226 ) {
211227 execSpec.setCommandLine(firebaseCommand)
@@ -224,6 +240,10 @@ abstract class DataConnectGenerateSourcesTask : DefaultTask() {
224240 if (newPath != = null ) {
225241 execSpec.environment(" PATH" , newPath)
226242 }
243+
244+ if (dataConnectEmulatorExecutable != = null ) {
245+ execSpec.environment(" DATACONNECT_EMULATOR_BINARY_PATH" , dataConnectEmulatorExecutable)
246+ }
227247 }
228248 }
229249}
@@ -282,6 +302,11 @@ run {
282302 projectDirectory.dir(it).asFile.absolutePath
283303 }
284304
305+ dataConnectEmulatorExecutable =
306+ project.providers
307+ .gradleProperty(" dataConnect.minimalApp.dataConnectEmulatorExecutable" )
308+ .map { projectDirectory.file(it) }
309+
285310 val path = providers.environmentVariable(" PATH" )
286311 firebaseToolsVersion =
287312 providers
@@ -290,6 +315,7 @@ run {
290315 this ,
291316 firebaseCommand = firebaseCommand.get(),
292317 nodeExecutableDirectory = nodeExecutableDirectory.orNull,
318+ dataConnectEmulatorExecutable = dataConnectEmulatorExecutable.orNull?.asFile,
293319 path = path.orNull,
294320 )
295321 args(" --version" )
0 commit comments