Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Build] iOS simulator build intermittently performs a clean build (wh…
…en it should be incremental) rdar://127636159 https://bugs.webkit.org/show_bug.cgi?id=274184 Reviewed by Alexey Proskuryakov. Incremental builds break when the targeted simulator changes. Xcode sets build settings like TARGET_DEVICE_MODEL and TARGET_DEVICE_IDENTIFIER based on destination, so when the selected simulator changes, all our build script executions are invalidated and the next build rebuilds nearly everything. webkitdirs was picking the first eligible simulator as reported by `simctl list devices`. This was causing incremental rebuilds when engineers add and remove simulator devices (relatively common during testing workflows). Additionally, it meant that switching between the Xcode IDE and command line for building was likely to be non-incremental -- you'd have to know which simulator was the special one and select it in the UI. Fix by teaching webkitdirs to look at previous build requests and find the UDID of the simulator that was used. If it's still available and eligible, build with it. If it isn't, pick an eligible simulator -- the next request will re-use it. Instead of picking simulators based on the order simctl reports them, sort lexicographically like Xcode does, so that the default matches the first list item in the UI. * Tools/Scripts/webkitdirs.pm: (determineXcodeDestination): Canonical link: https://commits.webkit.org/278893@main
- Loading branch information