bazelbuild / bazelbuild/rules_apple
apple_dynamic_framework_import does not work for standard macos frameworks
- Dominant language
- Starlark
- Stars
- 593
- Forks
- 334
- Avg merge
- 16h 48m
- Merged PRs (30d)
- 9
Description
Given a standard macos framework with the proper symlinks setup:
```
Something.framework
├── Something -> Versions/Current/Something
├── Headers -> Versions/Current/Headers
├── Modules -> Versions/Current/Modules
├── Resources -> Versions/Current/Resources
└── Versions
├── A
│ ├── Something
│ ├── Headers
│ │ ├── Something.h
│ ├── Modules
│ │ └── module.modulemap
│ └── Resources
│ ├── Info.plist
└── Current -> A
```
If I use this structure as the input to an apple_dynamic_framework_import via the framework_imports list of labels, I get code signing errors because the pipeline of moving these files around breaks the symlinks.
If I manually recreate the symlinks to satisfy code signing, I end up with a framework in the app bundle that is broken because the process of zipping and unzipping the directory drops the symlinks.
Am I missing something or is not possible to use these rules with macos frameworks? If not, would you be open to changes that add support?
Contributor guide
Research direction
Start at the apple_dynamic_framework_import entry point and its framework_imports label list, then inspect how framework contents are moved and archived. Done means a standard macOS framework's symlinks survive code signing and app-bundle packaging without manual recreation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100