bazelbuild / bazelbuild/rules_apple
Framework dependencies aren't transitive through `swift_library` for `ios_ui_test`
- Dominant language
- Starlark
- Stars
- 593
- Forks
- 334
- Avg merge
- 16h 48m
- Merged PRs (30d)
- 9
Description
When an `ios_ui_test` targer depends (via `deps`) on a `swift_library` that itself depends on an `ios_framework` (or any target providing `AppleDynamicFrameworkInfo`), the framework is not transitively passed to the UI test's link action. The linker then fails with `Undefiined symbols` for references originating in the transitively-linked `swift_library`'s compiled code.
For comparison, `CcInfo.linking_context` (used for static libraries) is transitively propagated correctly by `ios_ui_test`. Only dynamic framework information is dropped.
Is there a design constraint that intentionally excludes this?
Contributor guide
Research direction
No source file or test is named. Start at the ios_ui_test deps and link-action entry points, then trace how AppleDynamicFrameworkInfo is propagated through swift_library and compare it with CcInfo.linking_context. Done means the transitively provided framework reaches the UI test link action and the reported undefined symbols are resolved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- build-system, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100