Add Swift generated header to dynamic outputs
--
PiperOrigin-RevId: 165198901
MOS_MIGRATED_REVID=165198901
diff --git a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
index 42f7215..27e6eb8 100644
--- a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
+++ b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
@@ -485,6 +485,17 @@
maps += module_maps
return maps
+# TODO(b/64490743): Add these files to the Xcode project.
+def _collect_swift_header(target):
+ """Returns a depset of Swift generated headers found on the given target."""
+ headers = depset()
+ # swift_* targets put the generated header into their objc provider HEADER
+ # field.
+ if hasattr(target, 'swift'):
+ headers += target.objc.header
+ return headers
+
+
def _tulsi_sources_aspect(target, ctx):
"""Extracts information from a given rule, emitting it as a JSON struct."""
rule = ctx.rule
@@ -706,6 +717,7 @@
all_files += objc_provider.source
all_files += objc_provider.header
+ all_files += _collect_swift_header(target)
all_files += _collect_swift_modules(target)
all_files += _collect_module_maps(target)
all_files += (_collect_artifacts(rule, 'attr.srcs')