[repro] module maps created for or on objc_library do not propagate to transitive objc_library #1532
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
this is a repro of an issue i've identified while trying to move to
mixed_language_library
from our custom macro. Regardless of howmodule_map
is hinted inswift_interop_info
, generated, or otherwise attached to anobjc_library
, out-of-the-box these module maps are not propagated to downstreamobjc_library
in aobjc -> swift -> objc
arrangement. this is especially problematic in scenarios where PrintAsClang, going by its own uncontrollable heuristics (in this case, the addition of a lightweight generic in a public-facing objc type), inserts an@import
line for the upstream objc library in a generated header.this is something that needs to change in either
swift_clang_module_aspect
orobjc_library
to discover or otherwise propagate the upstream module maps, as this simple example does not work without customization of the rules or introducing manual dependencies on modulemaps (which isn't possible if relying on the generated modulemaps from the aspect).