Conversation
This change refactors current ios/tvos static framework macros that are currently wrapping dependencies under a `apple_static_library` target to link static libraries, to use `apple_common.link_multi_arch_static_library` API instead. Additionally, `deps` cfg was set to use `apple_common.multi_arch_split`, and the `static_framework_transition` was deprecated, and setting the `emit_swiftinterface` setting is now done at rule level using the `apple_rule_transition` using a rule private attribute. Finally, this change deprecates `swift_static_framework` aspect to use the `swift_framework` partial instead. Since this partial requires a hash of SwiftInfo providers keyed by architecture, the `_cpu_string` method from `transition_support` was exposed to transform link output target triplets to `apple_common.multi_arch_split` transition keys. PiperOrigin-RevId: 440942096
|
this was rolled back on upstream here 26cf688 so i think it'll need some fixes later. either way it's blocked on bazel releases probably |
|
Lyft integration job started: https://buildkite.com/lyft/rules-apple/builds/535 (must be Lyft employee to view) |
|
Lyft integration job started: https://buildkite.com/lyft/rules-apple/builds/563 (must be Lyft employee to view) |
48644f7 to
e1d96d6
Compare
|
Lyft integration job started: https://buildkite.com/lyft/rules-apple/builds/609 (must be Lyft employee to view) |
|
Lyft integration job started: https://buildkite.com/lyft/rules-apple/builds/610 (must be Lyft employee to view) |
|
I was wrong about the rollback order, everything was done again |
Recent macro removal for `ios_static_framework` and `tvos_static_framework` introduced a method to map `apple_common.link_multi_arch_static_library` to split transition keys for `apple_common.multi_arch_split` that didn't support `sim_arm64` cpu redirection. Additionally, this change introduces `cpus` attribute to `apple_verification_test`, to be able to override cpu flags on target under tests (and removed previously introduced `macos_cpus` attribute introduced by apple_universal_binary). PiperOrigin-RevId: 445191710
…Mach-O load command tests. PiperOrigin-RevId: 446810307
|
this uses the new api that requires bazel 6.x+ |
a16abc8 to
5488d90
Compare
This is a partial commit of #1447 which includes some more changes removing macros that would break bazel 5.x compat. So with this change we retain the `_static_framework_transition` for now, and we can delete it as part of merging that PR
This is a partial cherry pick from #1447 which we're delaying merging temporarily until we only support 6.x
This is a partial cherry pick from #1447 which we're delaying merging temporarily until we only support 6.x
This is a partial cherry pick from #1447 which we're delaying merging temporarily until we only support 6.x
This is a partial cherry pick from #1447 which we're delaying merging temporarily until we only support 6.x
This change refactors current ios/tvos static framework macros that are currently wrapping dependencies under a `apple_static_library` target to link static libraries, to use `apple_common.link_multi_arch_static_library` API instead. Additionally, `deps` cfg was set to use `apple_common.multi_arch_split`, and the `static_framework_transition` was deprecated, and setting the `emit_swiftinterface` setting is now done at rule level using the `apple_rule_transition` using a rule private attribute. Finally, this change deprecates `swift_static_framework` aspect to use the `swift_framework` partial instead. Since this partial requires a hash of SwiftInfo providers keyed by architecture, the `_cpu_string` method from `transition_support` was exposed to transform link output target triplets to `apple_common.multi_arch_split` transition keys. PiperOrigin-RevId: 440942096 (cherry picked from commit 624efd5)
PiperOrigin-RevId: 441017420 (cherry picked from commit 26cf688)
PiperOrigin-RevId: 444695728 (cherry picked from commit 52d7b37)
Recent macro removal for `ios_static_framework` and `tvos_static_framework` introduced a method to map `apple_common.link_multi_arch_static_library` to split transition keys for `apple_common.multi_arch_split` that didn't support `sim_arm64` cpu redirection. Additionally, this change introduces `cpus` attribute to `apple_verification_test`, to be able to override cpu flags on target under tests (and removed previously introduced `macos_cpus` attribute introduced by apple_universal_binary). PiperOrigin-RevId: 445191710 (cherry picked from commit 94b3ad9)
…Mach-O load command tests. PiperOrigin-RevId: 446810307 (cherry picked from commit 0fa0426)
5488d90 to
7b13e06
Compare
| avoid_deps = ctx.attr.avoid_deps | ||
| deps = ctx.attr.deps | ||
| label = ctx.label | ||
| predeclared_outputs = ctx.outputs | ||
| split_deps = ctx.split_attr.deps | ||
| bundle_name, bundle_extension = bundling_support.bundle_full_name_from_rule_ctx(ctx) | ||
| executable_name = bundling_support.executable_name(ctx) | ||
| features = features_support.compute_enabled_features( | ||
| requested_features = ctx.features, | ||
| unsupported_features = ctx.disabled_features, | ||
| ) | ||
| label = ctx.label | ||
| platform_prerequisites = platform_support.platform_prerequisites_from_rule_ctx(ctx) | ||
| predeclared_outputs = ctx.outputs | ||
| resource_deps = ctx.attr.deps + ctx.attr.resources |
There was a problem hiding this comment.
Sorta annoying that these are moved around, and are no longer alphabetical.
There was a problem hiding this comment.
probably not worth fixing and hitting more conflicts ¯_(ツ)_/¯
This change refactors current ios/tvos static framework macros that are
currently wrapping dependencies under a
apple_static_librarytarget tolink static libraries, to use
apple_common.link_multi_arch_static_libraryAPI instead.
Additionally,
depscfg was set to useapple_common.multi_arch_split,and the
static_framework_transitionwas deprecated, and setting theemit_swiftinterfacesetting is now done at rule level using theapple_rule_transitionusing a rule private attribute.Finally, this change deprecates
swift_static_frameworkaspect to usethe
swift_frameworkpartial instead. Since this partial requires a hashof SwiftInfo providers keyed by architecture, the
_cpu_stringmethodfrom
transition_supportwas exposed to transform link output targettriplets to
apple_common.multi_arch_splittransition keys.PiperOrigin-RevId: 440942096
(cherry picked from commit 624efd5)