[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_libraryfrom our custom macro. Regardless of howmodule_mapis hinted inswift_interop_info, generated, or otherwise attached to anobjc_library, out-of-the-box these module maps are not propagated to downstreamobjc_libraryin aobjc -> swift -> objcarrangement. 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@importline for the upstream objc library in a generated header.this is something that needs to change in either
swift_clang_module_aspectorobjc_libraryto 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).