bazelbuild / rules_apple

Bazel rules to build apps for Apple platforms.
Apache License 2.0
507 stars 263 forks source link

apple_dynamic_framework_import does not work for standard macos frameworks #807

Open rokob opened 4 years ago

rokob commented 4 years ago

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?

muizidn commented 3 years ago

me too.

keith commented 2 years ago

Seems like something we should fix yes