You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support creating Info.plist for inner framework apple_static_xcframework (#2791)
Will generate an `Info.plist` for inner `.framework` directories inside
a static XCFramework when `infoplists` and `bundle_id` is provided (kept
optional for backward compatibility).
Closes#2456
Generates an XCFramework with static libraries for third-party distribution.
@@ -198,15 +198,18 @@ Generates an XCFramework with static libraries for third-party distribution.
198
198
| <aid="apple_static_xcframework-name"></a>name | A unique name for this target. | <ahref="https://bazel.build/concepts/labels#target-names">Name</a> | required ||
199
199
| <aid="apple_static_xcframework-deps"></a>deps | A list of files directly referencing libraries to be represented for each given platform split in the XCFramework. These libraries will be embedded within each platform split. | <ahref="https://bazel.build/concepts/labels">List of labels</a> | required ||
200
200
| <aid="apple_static_xcframework-avoid_deps"></a>avoid_deps | A list of library targets on which this framework depends in order to compile, but the transitive closure of which will not be linked into the framework's binary, nor bundled into final XCFramework. | <ahref="https://bazel.build/concepts/labels">List of labels</a> | optional |`[]`|
201
+
| <aid="apple_static_xcframework-bundle_id"></a>bundle_id | Optional bundle ID (reverse-DNS path followed by framework name) for each of the embedded frameworks. If present, this value will be embedded in an Info.plist within each framework bundle, similar to apple_xcframework (dynamic frameworks). | String | optional |`""`|
201
202
| <aid="apple_static_xcframework-bundle_name"></a>bundle_name | The desired name of the XCFramework bundle (without the extension) and the binaries for all embedded static libraries. If this attribute is not set, then the name of the target will be used instead. | String | optional |`""`|
202
203
| <aid="apple_static_xcframework-executable_name"></a>executable_name | The desired name of the executable, if the bundle has an executable. If this attribute is not set, then the name of the `bundle_name` attribute will be used if it is set; if not, then the name of the target will be used instead. | String | optional |`""`|
203
204
| <aid="apple_static_xcframework-families_required"></a>families_required | A list of device families supported by this extension, with platforms such as `ios` as keys. Valid values are `iphone` and `ipad` for `ios`; at least one must be specified if a platform is defined. Currently, this only affects processing of `ios` resources. | <ahref="https://bazel.build/rules/lib/dict">Dictionary: String -> List of strings</a> | optional |`{}`|
205
+
| <aid="apple_static_xcframework-infoplists"></a>infoplists | A list of .plist files that will be merged to form the Info.plist for each of the embedded frameworks. Only used if bundle_id is provided. | <ahref="https://bazel.build/concepts/labels">List of labels</a> | optional |`[]`|
204
206
| <aid="apple_static_xcframework-ios"></a>ios | A dictionary of strings indicating which platform variants should be built for the `ios` platform ( `device` or `simulator`) as keys, and arrays of strings listing which architectures should be built for those platform variants (for example, `x86_64`, `arm64`) as their values. | <ahref="https://bazel.build/rules/lib/dict">Dictionary: String -> List of strings</a> | optional |`{}`|
205
207
| <aid="apple_static_xcframework-macos"></a>macos | A list of strings indicating which architecture should be built for the macOS platform (for example, `x86_64`, `arm64`). | List of strings | optional |`[]`|
206
208
| <aid="apple_static_xcframework-minimum_deployment_os_versions"></a>minimum_deployment_os_versions | A dictionary of strings indicating the minimum deployment OS version supported by the target, represented as a dotted version number (for example, "9.0") as values, with their respective platforms such as `ios` as keys. This is different from `minimum_os_versions`, which is effective at compile time. Ensure version specific APIs are guarded with `available` clauses. | <ahref="https://bazel.build/rules/lib/dict">Dictionary: String -> String</a> | optional |`{}`|
207
209
| <aid="apple_static_xcframework-minimum_os_versions"></a>minimum_os_versions | A dictionary of strings indicating the minimum OS version supported by the target, represented as a dotted version number (for example, "8.0") as values, with their respective platforms such as `ios` as keys. | <ahref="https://bazel.build/rules/lib/dict">Dictionary: String -> String</a> | required ||
208
210
| <aid="apple_static_xcframework-public_hdrs"></a>public_hdrs | A list of files directly referencing header files to be used as the publicly visible interface for each of these embedded libraries. These header files will be embedded within each platform split, typically in a subdirectory such as `Headers`. | <ahref="https://bazel.build/concepts/labels">List of labels</a> | optional |`[]`|
209
211
| <aid="apple_static_xcframework-umbrella_header"></a>umbrella_header | An optional single .h file to use as the umbrella header for this framework. Usually, this header will have the same name as this target, so that clients can load the header using the #import <MyFramework/MyFramework.h> format. If this attribute is not specified (the common use case), an umbrella header will be generated under the same name as this target. | <ahref="https://bazel.build/concepts/labels">Label</a> | optional |`None`|
212
+
| <aid="apple_static_xcframework-version"></a>version | An `apple_bundle_version` target that represents the version for this target. See [`apple_bundle_version`](https://github.com/bazelbuild/rules_apple/blob/master/doc/rules-versioning.md#apple_bundle_version). | <ahref="https://bazel.build/concepts/labels">Label</a> | optional |`None`|
0 commit comments