Adapt xcresult parser for Xcode 16 changes#172596
Merged
okorohelijah merged 6 commits intoflutter:masterfrom Jul 23, 2025
Merged
Adapt xcresult parser for Xcode 16 changes#172596okorohelijah merged 6 commits intoflutter:masterfrom
okorohelijah merged 6 commits intoflutter:masterfrom
Conversation
jmagman
reviewed
Jul 22, 2025
packages/flutter_tools/test/general.shard/ios/xcresult_test.dart
Outdated
Show resolved
Hide resolved
Contributor
|
Could you run |
LouiseHsu
requested changes
Jul 23, 2025
Contributor
LouiseHsu
left a comment
There was a problem hiding this comment.
Looks good! I have some nits tho.
packages/flutter_tools/test/general.shard/ios/xcresult_test.dart
Outdated
Show resolved
Hide resolved
LouiseHsu
approved these changes
Jul 23, 2025
Contributor
LouiseHsu
left a comment
There was a problem hiding this comment.
LGTM! To merge, you just add the autosubmit tag to this PR - it'll automatically merge your PR once the tree is open :)
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Jul 24, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Jul 24, 2025
auto-submit bot
pushed a commit
to flutter/packages
that referenced
this pull request
Jul 24, 2025
flutter/flutter@afba7d7...20788c0 2025-07-24 [email protected] Roll Packages from 9c85e5e to 963550c (4 revisions) (flutter/flutter#172696) 2025-07-24 [email protected] Add missing deprecations to CupertinoDynamicColor. (flutter/flutter#171160) 2025-07-24 [email protected] Roll Dart SDK from a181fe571dc8 to 26dece893751 (2 revisions) (flutter/flutter#172683) 2025-07-24 [email protected] Migrate to null aware elements - Part 1 (flutter/flutter#172198) 2025-07-24 [email protected] licenses_cpp: implements extracting regions from matched text (flutter/flutter#172655) 2025-07-24 [email protected] Roll pub packages (flutter/flutter#172677) 2025-07-24 [email protected] Marks Mac_ios keyboard_hot_restart_ios to be unflaky (flutter/flutter#168053) 2025-07-24 [email protected] Roll Abseil and remove a workaround for a Fuchsia target that was unable to build Abseil (flutter/flutter#172665) 2025-07-24 [email protected] Add `automaticallyImplyActions` property to AppBar (flutter/flutter#171113) 2025-07-24 [email protected] fix: TabBar fontFamily inheritance with custom label styles (flutter/flutter#171699) 2025-07-23 [email protected] Marks Linux_mokey new_gallery__crane_perf to be unflaky (flutter/flutter#167633) 2025-07-23 [email protected] [android] Fix broken `--android-skip-build-dependency-validation` flag (flutter/flutter#172581) 2025-07-23 [email protected] Fix: Ensure Text widget locale is included in semantics language tag (flutter/flutter#172034) 2025-07-23 [email protected] [Web][a11y] Update selected chips semantics (flutter/flutter#172660) 2025-07-23 [email protected] Roll Skia from eea1c33fbe84 to 094ac350125f (29 revisions) (flutter/flutter#172664) 2025-07-23 [email protected] Marks Mac_arm64_ios imitation_game_flutter to be unflaky (flutter/flutter#168052) 2025-07-23 [email protected] Roll Dart SDK from a31774a3d049 to a181fe571dc8 (2 revisions) (flutter/flutter#172667) 2025-07-23 [email protected] Adapt xcresult parser for Xcode 16 changes (flutter/flutter#172596) 2025-07-23 [email protected] Update excluded_files to match the current output of the old license checker (flutter/flutter#172670) 2025-07-23 [email protected] Manual Roll of Dart SDK from da9e0299c120 to a31774a3d049 (flutter/flutter#172616) 2025-07-23 [email protected] [FGP] Small restructuring of Android Studio native flutter dependency support (flutter/flutter#172651) 2025-07-23 [email protected] revert: Replaces legacy licenses check with licenses_cpp (flutter/flutter#172568) 2025-07-23 [email protected] fix: size-exp naming (flutter/flutter#172647) 2025-07-23 [email protected] Roll Fuchsia Test Scripts from MnFlN7VWM_7h7EmBV... to BWj3yYC74ud58QhN0... (flutter/flutter#172646) 2025-07-23 [email protected] [DisplayList] implement shadow bounds without relying on Skia utilities (flutter/flutter#172572) 2025-07-23 [email protected] Update `dev/bots/post_process_docs.dart` to use `flutter.version.json` (flutter/flutter#172601) 2025-07-23 [email protected] Emit a warning on `--[no-]disable-dds`, preferring `--no-dds` (flutter/flutter#172595) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
jmagman
reviewed
Jul 25, 2025
Member
jmagman
left a comment
There was a problem hiding this comment.
Sorry I didn't get to this review before you merged.
azatech
pushed a commit
to azatech/flutter
that referenced
this pull request
Jul 28, 2025
This PR updates the iOS build process to support breaking changes in Xcode 16's xcresulttool. The xcresulttool get command, which Flutter uses to parse native build issues, is deprecated and replaced by the new xcresulttool get build-results command. This new command also introduces a completely new, flatter JSON output format. To address this while maintaining backwards compatibility, this change introduces a two-part solution: - The XCResultGenerator now detects the Xcode version and conditionally calls the appropriate command (get build-results for Xcode 16+ and get for older versions). - The XCResult parser has been refactored to be "bilingual," meaning it can intelligently detect the JSON structure and parse both the old (nested) and new (flat) formats correctly. - This ensures that native iOS build errors and warnings continue to be correctly parsed and displayed to the user on all supported Xcode versions. Fixes flutter#151502 ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [X] I added new tests to check the change I am making, or this PR is [test-exempt]. - [X] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
vashworth
pushed a commit
to vashworth/packages
that referenced
this pull request
Jul 30, 2025
flutter/flutter@afba7d7...20788c0 2025-07-24 [email protected] Roll Packages from 9c85e5e to 963550c (4 revisions) (flutter/flutter#172696) 2025-07-24 [email protected] Add missing deprecations to CupertinoDynamicColor. (flutter/flutter#171160) 2025-07-24 [email protected] Roll Dart SDK from a181fe571dc8 to 26dece893751 (2 revisions) (flutter/flutter#172683) 2025-07-24 [email protected] Migrate to null aware elements - Part 1 (flutter/flutter#172198) 2025-07-24 [email protected] licenses_cpp: implements extracting regions from matched text (flutter/flutter#172655) 2025-07-24 [email protected] Roll pub packages (flutter/flutter#172677) 2025-07-24 [email protected] Marks Mac_ios keyboard_hot_restart_ios to be unflaky (flutter/flutter#168053) 2025-07-24 [email protected] Roll Abseil and remove a workaround for a Fuchsia target that was unable to build Abseil (flutter/flutter#172665) 2025-07-24 [email protected] Add `automaticallyImplyActions` property to AppBar (flutter/flutter#171113) 2025-07-24 [email protected] fix: TabBar fontFamily inheritance with custom label styles (flutter/flutter#171699) 2025-07-23 [email protected] Marks Linux_mokey new_gallery__crane_perf to be unflaky (flutter/flutter#167633) 2025-07-23 [email protected] [android] Fix broken `--android-skip-build-dependency-validation` flag (flutter/flutter#172581) 2025-07-23 [email protected] Fix: Ensure Text widget locale is included in semantics language tag (flutter/flutter#172034) 2025-07-23 [email protected] [Web][a11y] Update selected chips semantics (flutter/flutter#172660) 2025-07-23 [email protected] Roll Skia from eea1c33fbe84 to 094ac350125f (29 revisions) (flutter/flutter#172664) 2025-07-23 [email protected] Marks Mac_arm64_ios imitation_game_flutter to be unflaky (flutter/flutter#168052) 2025-07-23 [email protected] Roll Dart SDK from a31774a3d049 to a181fe571dc8 (2 revisions) (flutter/flutter#172667) 2025-07-23 [email protected] Adapt xcresult parser for Xcode 16 changes (flutter/flutter#172596) 2025-07-23 [email protected] Update excluded_files to match the current output of the old license checker (flutter/flutter#172670) 2025-07-23 [email protected] Manual Roll of Dart SDK from da9e0299c120 to a31774a3d049 (flutter/flutter#172616) 2025-07-23 [email protected] [FGP] Small restructuring of Android Studio native flutter dependency support (flutter/flutter#172651) 2025-07-23 [email protected] revert: Replaces legacy licenses check with licenses_cpp (flutter/flutter#172568) 2025-07-23 [email protected] fix: size-exp naming (flutter/flutter#172647) 2025-07-23 [email protected] Roll Fuchsia Test Scripts from MnFlN7VWM_7h7EmBV... to BWj3yYC74ud58QhN0... (flutter/flutter#172646) 2025-07-23 [email protected] [DisplayList] implement shadow bounds without relying on Skia utilities (flutter/flutter#172572) 2025-07-23 [email protected] Update `dev/bots/post_process_docs.dart` to use `flutter.version.json` (flutter/flutter#172601) 2025-07-23 [email protected] Emit a warning on `--[no-]disable-dds`, preferring `--no-dds` (flutter/flutter#172595) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
7 tasks
ksokolovskyi
pushed a commit
to ksokolovskyi/flutter
that referenced
this pull request
Aug 19, 2025
This PR updates the iOS build process to support breaking changes in Xcode 16's xcresulttool. The xcresulttool get command, which Flutter uses to parse native build issues, is deprecated and replaced by the new xcresulttool get build-results command. This new command also introduces a completely new, flatter JSON output format. To address this while maintaining backwards compatibility, this change introduces a two-part solution: - The XCResultGenerator now detects the Xcode version and conditionally calls the appropriate command (get build-results for Xcode 16+ and get for older versions). - The XCResult parser has been refactored to be "bilingual," meaning it can intelligently detect the JSON structure and parse both the old (nested) and new (flat) formats correctly. - This ensures that native iOS build errors and warnings continue to be correctly parsed and displayed to the user on all supported Xcode versions. Fixes flutter#151502 ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [X] I added new tests to check the change I am making, or this PR is [test-exempt]. - [X] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
github-merge-queue bot
pushed a commit
that referenced
this pull request
Aug 22, 2025
The function `_parseIssuesFromNewFormat` is renamed to `_parseIssuesFromXcode16Format`. The term "new" is relative and would become obsolete on the next format change, forcing a rename. The new name is specific and stable. Fixes #172596 *If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].* ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [] I added new tests to check the change I am making, or this PR is [test-exempt]. - [] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md --------- Co-authored-by: Jenn Magder <[email protected]>
SydneyBao
pushed a commit
to SydneyBao/flutter
that referenced
this pull request
Aug 22, 2025
The function `_parseIssuesFromNewFormat` is renamed to `_parseIssuesFromXcode16Format`. The term "new" is relative and would become obsolete on the next format change, forcing a rename. The new name is specific and stable. Fixes flutter#172596 *If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].* ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [] I added new tests to check the change I am making, or this PR is [test-exempt]. - [] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md --------- Co-authored-by: Jenn Magder <[email protected]>
SydneyBao
pushed a commit
to SydneyBao/flutter
that referenced
this pull request
Aug 22, 2025
The function `_parseIssuesFromNewFormat` is renamed to `_parseIssuesFromXcode16Format`. The term "new" is relative and would become obsolete on the next format change, forcing a rename. The new name is specific and stable. Fixes flutter#172596 *If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].* ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [] I added new tests to check the change I am making, or this PR is [test-exempt]. - [] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md --------- Co-authored-by: Jenn Magder <[email protected]>
mboetger
pushed a commit
to mboetger/flutter
that referenced
this pull request
Sep 18, 2025
This PR updates the iOS build process to support breaking changes in Xcode 16's xcresulttool. The xcresulttool get command, which Flutter uses to parse native build issues, is deprecated and replaced by the new xcresulttool get build-results command. This new command also introduces a completely new, flatter JSON output format. To address this while maintaining backwards compatibility, this change introduces a two-part solution: - The XCResultGenerator now detects the Xcode version and conditionally calls the appropriate command (get build-results for Xcode 16+ and get for older versions). - The XCResult parser has been refactored to be "bilingual," meaning it can intelligently detect the JSON structure and parse both the old (nested) and new (flat) formats correctly. - This ensures that native iOS build errors and warnings continue to be correctly parsed and displayed to the user on all supported Xcode versions. Fixes flutter#151502 ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [X] I added new tests to check the change I am making, or this PR is [test-exempt]. - [X] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
mboetger
pushed a commit
to mboetger/flutter
that referenced
this pull request
Sep 18, 2025
The function `_parseIssuesFromNewFormat` is renamed to `_parseIssuesFromXcode16Format`. The term "new" is relative and would become obsolete on the next format change, forcing a rename. The new name is specific and stable. Fixes flutter#172596 *If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].* ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [] I added new tests to check the change I am making, or this PR is [test-exempt]. - [] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md --------- Co-authored-by: Jenn Magder <[email protected]>
korca0220
pushed a commit
to korca0220/flutter
that referenced
this pull request
Sep 22, 2025
This PR updates the iOS build process to support breaking changes in Xcode 16's xcresulttool. The xcresulttool get command, which Flutter uses to parse native build issues, is deprecated and replaced by the new xcresulttool get build-results command. This new command also introduces a completely new, flatter JSON output format. To address this while maintaining backwards compatibility, this change introduces a two-part solution: - The XCResultGenerator now detects the Xcode version and conditionally calls the appropriate command (get build-results for Xcode 16+ and get for older versions). - The XCResult parser has been refactored to be "bilingual," meaning it can intelligently detect the JSON structure and parse both the old (nested) and new (flat) formats correctly. - This ensures that native iOS build errors and warnings continue to be correctly parsed and displayed to the user on all supported Xcode versions. Fixes flutter#151502 ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [X] I added new tests to check the change I am making, or this PR is [test-exempt]. - [X] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
korca0220
pushed a commit
to korca0220/flutter
that referenced
this pull request
Sep 22, 2025
The function `_parseIssuesFromNewFormat` is renamed to `_parseIssuesFromXcode16Format`. The term "new" is relative and would become obsolete on the next format change, forcing a rename. The new name is specific and stable. Fixes flutter#172596 *If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].* ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [] I added new tests to check the change I am making, or this PR is [test-exempt]. - [] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md --------- Co-authored-by: Jenn Magder <[email protected]>
Jaineel-Mamtora
pushed a commit
to Jaineel-Mamtora/flutter_forked
that referenced
this pull request
Sep 24, 2025
The function `_parseIssuesFromNewFormat` is renamed to `_parseIssuesFromXcode16Format`. The term "new" is relative and would become obsolete on the next format change, forcing a rename. The new name is specific and stable. Fixes flutter#172596 *If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].* ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [] I added new tests to check the change I am making, or this PR is [test-exempt]. - [] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md --------- Co-authored-by: Jenn Magder <[email protected]>
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Nov 12, 2025
lucaantonelli
pushed a commit
to lucaantonelli/flutter
that referenced
this pull request
Nov 21, 2025
This PR updates the iOS build process to support breaking changes in Xcode 16's xcresulttool. The xcresulttool get command, which Flutter uses to parse native build issues, is deprecated and replaced by the new xcresulttool get build-results command. This new command also introduces a completely new, flatter JSON output format. To address this while maintaining backwards compatibility, this change introduces a two-part solution: - The XCResultGenerator now detects the Xcode version and conditionally calls the appropriate command (get build-results for Xcode 16+ and get for older versions). - The XCResult parser has been refactored to be "bilingual," meaning it can intelligently detect the JSON structure and parse both the old (nested) and new (flat) formats correctly. - This ensures that native iOS build errors and warnings continue to be correctly parsed and displayed to the user on all supported Xcode versions. Fixes flutter#151502 ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [X] I added new tests to check the change I am making, or this PR is [test-exempt]. - [X] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
lucaantonelli
pushed a commit
to lucaantonelli/flutter
that referenced
this pull request
Nov 21, 2025
The function `_parseIssuesFromNewFormat` is renamed to `_parseIssuesFromXcode16Format`. The term "new" is relative and would become obsolete on the next format change, forcing a rename. The new name is specific and stable. Fixes flutter#172596 *If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].* ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [] I added new tests to check the change I am making, or this PR is [test-exempt]. - [] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md --------- Co-authored-by: Jenn Magder <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR updates the iOS build process to support breaking changes in Xcode 16's xcresulttool. The xcresulttool get command, which Flutter uses to parse native build issues, is deprecated and replaced by the new xcresulttool get build-results command. This new command also introduces a completely new, flatter JSON output format.
To address this while maintaining backwards compatibility, this change introduces a two-part solution:
Fixes #151502
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.