Skip to content

Commit 7970def

Browse files
Fix setting of supported_build_modes
Summary: While the default of supported build modes is APPLE_BUILD_MODES: https://www.internalfb.com/code/fbsource/[efcfb52a1dc08d5ca9f9756dcb3719dc455e98fe]/fbcode/buck2/prelude/platforms/apple/platforms.bzl?lines=135%2C155 We pass it an empty list: https://www.internalfb.com/code/fbsource/[ad8a16ff5bcb0d1f458bc84871d294fefeb1f20d]/fbcode/buck2/prelude/apple/apple_native.bzl?lines=67-69%2C72%2C79 This regressed in D70800926, breaking project generation: ``` error: Object of type `NoneType` has no attribute `raw_target` --> xplat/buck2/xcode_project/platforms.bxl:14:33 | 14 | target_platforms = {config: platforms.get(config).raw_target() for config in build_configurations.keys()} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ``` This is a quick fix to unbreak things. We'll look for a better approach and adding a quicker test in a followup diff. Reviewed By: ChrisRicca Differential Revision: D71574440 fbshipit-source-id: 8d04bbe74c06977004c030d34b154c5c6f1025ba
1 parent 8355bea commit 7970def

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

prelude/apple/apple_native.bzl

+5-5
Original file line numberDiff line numberDiff line change
@@ -64,19 +64,19 @@ def _update_platforms(**kwargs):
6464
name = kwargs.get("name", "UNKNOWN_TARGET")
6565
fail("{} has both a default_target_platform and a config_backed_target_platform, which is not allowed".format(name))
6666

67-
supported_build_modes = kwargs.pop("supported_build_modes", [])
68-
if not isinstance(supported_build_modes, list):
69-
fail("supported_build_modes must be a list")
67+
optional_args = {}
68+
if "supported_build_modes" in kwargs:
69+
optional_args["supported_build_modes"] = kwargs.pop("supported_build_modes")
7070

7171
if base_config_backed_target_platform != None:
72-
default_target_platform = config_backed_apple_target_platform(base_config_backed_target_platform, platform, supported_build_modes = supported_build_modes)
72+
default_target_platform = config_backed_apple_target_platform(base_config_backed_target_platform, platform, *optional_args)
7373
elif default_target_platform == None:
7474
default_target_platform = get_default_target_platform_for_platform(platform)
7575

7676
if default_target_platform != None:
7777
kwargs["default_target_platform"] = default_target_platform
7878

79-
kwargs = set_apple_platforms(platform, base_config_backed_target_platform, kwargs, supported_build_modes = supported_build_modes)
79+
kwargs = set_apple_platforms(platform, base_config_backed_target_platform, kwargs, *optional_args)
8080

8181
return kwargs
8282

0 commit comments

Comments
 (0)