-
Notifications
You must be signed in to change notification settings - Fork 279
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support to import macOS versioned frameworks. #2133
Merged
keith
merged 5 commits into
master
from
ks/add-support-to-import-macos-versioned-frameworks
Aug 18, 2023
Merged
Add support to import macOS versioned frameworks. #2133
keith
merged 5 commits into
master
from
ks/add-support-to-import-macos-versioned-frameworks
Aug 18, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This change adds support to import macOS versioned frameworks for both framework and XCFramework importing rules: - apple_dynamic_framework_import - apple_dynamic_xcframework_import This change fixes an issue with imported macOS frameworks causing build failures at the signing step for `macos_application` targets due to an incorrect framework bundle format since Bazel will resolve symlinks for versioned frameworks (standalone or bundled inside an XCFramework). `codesign` will fail with the following error: "bundle format is ambiguous (could be app or framework)" Since macOS frameworks include different framework versions under a `Versions` directory and symlinks for the effective version this change updates imported_dynamic_framework_processor to handle re-do symbolic links from imported macOS frameworks, as well code signing each framework version per Apple documentation. Support to bundle macOS versioned frameworks with tree artifact outputs is not supported because Bazel does not re-create symbolic links from remote executed actions yet (bazelbuild/bazel#16361). PiperOrigin-RevId: 503486495 (cherry picked from commit a82a299)
keith
referenced
this pull request
Aug 18, 2023
This change adds support to import macOS versioned frameworks for both framework and XCFramework importing rules: - apple_dynamic_framework_import - apple_dynamic_xcframework_import This change fixes an issue with imported macOS frameworks causing build failures at the signing step for `macos_application` targets due to an incorrect framework bundle format since Bazel will resolve symlinks for versioned frameworks (standalone or bundled inside an XCFramework). `codesign` will fail with the following error: "bundle format is ambiguous (could be app or framework)" Since macOS frameworks include different framework versions under a `Versions` directory and symlinks for the effective version this change updates imported_dynamic_framework_processor to handle re-do symbolic links from imported macOS frameworks, as well code signing each framework version per Apple documentation. Support to bundle macOS versioned frameworks with tree artifact outputs is not supported because Bazel does not re-create symbolic links from remote executed actions yet (bazelbuild/bazel#16361). PiperOrigin-RevId: 503486495
This change updates generate_import_framework and generate_dynamic_xcframework test rules to include versioned frameworks by default for the macOS platform. Additionally, this change updates existing test fixtures to flip the rule attr where applicable, to keep macOS test fixture for both types of frameworks. PiperOrigin-RevId: 504091989 (cherry picked from commit e9152e0)
keith
referenced
this pull request
Aug 18, 2023
This change updates generate_import_framework and generate_dynamic_xcframework test rules to include versioned frameworks by default for the macOS platform. Additionally, this change updates existing test fixtures to flip the rule attr where applicable, to keep macOS test fixture for both types of frameworks. PiperOrigin-RevId: 504091989
Set Unix permissions to the sliced binary from `lipo` when processing an imported framework. This is already done when the framework binary is copied (and not sliced). PiperOrigin-RevId: 508418118 (cherry picked from commit aebc4f1)
keith
referenced
this pull request
Aug 18, 2023
Set Unix permissions to the sliced binary from `lipo` when processing an imported framework. This is already done when the framework binary is copied (and not sliced). PiperOrigin-RevId: 508418118
brentleyjones
approved these changes
Aug 18, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 change adds support to import macOS versioned frameworks
for both framework and XCFramework importing rules:
This change fixes an issue with imported macOS frameworks causing build
failures at the signing step for
macos_application
targets due to anincorrect framework bundle format since Bazel will resolve symlinks for
versioned frameworks (standalone or bundled inside an XCFramework).
codesign
will fail with the following error:"bundle format is ambiguous (could be app or framework)"
Since macOS frameworks include different framework versions under a
Versions
directory and symlinks for the effective version this changeupdates imported_dynamic_framework_processor to handle re-do symbolic
links from imported macOS frameworks, as well code signing each
framework version per Apple documentation.
Support to bundle macOS versioned frameworks with tree artifact outputs
is not supported because Bazel does not re-create symbolic links from
remote executed actions yet (bazelbuild/bazel#16361).
PiperOrigin-RevId: 503486495
(cherry picked from commit a82a299)