Add a new flag for adding the xcode version override to platform properties
- Dominant language
- Java
- Stars
- 25.8k
- Forks
- 4.6k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 75
Description
### Description of the feature request:
Add a new flag. If the flag is enabled, when building a target with Xcode, add the Xcode version override, apple SDK platform, and apple SDK platform version override to platform properties.
### What underlying problem are you trying to solve with this feature?
Currently, when remote building an apple target, the Xcode version is in the action environments but not in platform properties. During updating Xcode across a build fleet, a build worker may receive an action that requires an Xcode version it doesn’t have. If we can add the Xcode version to platform properties, the worker can reject the action instead of accepting and then failing it.
This can greatly simplify the process of gradually upgrading Xcode in a build cluster.
### Which operating system are you running Bazel on?
_No response_
### What is the output of `bazel info release`?
_No response_
### If `bazel info release` returns `development version` or `(@non-git)`, tell us how you built Bazel.
_No response_
### What's the output of `git remote get-url origin; git rev-parse master; git rev-parse HEAD` ?
_No response_
### Have you found anything relevant by searching the web?
_No response_
### Any other information, logs, or outputs that you want to share?
_No response_
Contributor guide
Research direction
Start by locating the existing flag definitions and the code that constructs platform properties for remote Apple targets. Compare those properties with the Xcode version currently carried in action environments. Done means the new flag adds the Xcode version override, Apple SDK platform, and SDK platform version override when enabled, with coverage from the relevant remote-build tests.
Written by the indexing model from the issue text.
Assessment
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100