tree 0c3a127c3dd05e8e817dd47d60a6982d81bdfecc
parent aa6bb3d9477651a74138454bd64225a9f6d4cb58
author Hari07 <22373191+Hari-07@users.noreply.github.com> 1784320812 +0530
committer GitHub <noreply@github.com> 1784320812 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJqWpM8CRC1aQ7uu5UhlAAANqgQAIypLIs9hNyVB+PuItrpPZcI
 W8/XyxDjp7moFzTmDQqyr5jU34K5fb5d3U2U0kATeN8tyf10pVQ6EfKNyhr/pOl5
 PjUWVgGO364t/ZNlQoQyzE/r6C1irvqUSD0kGazslnln7adXpYBq5B7QLw86zAOw
 QMzUfQEOqx5Npg7uMNwOn6gN9VUXACHCqWGZiP09rtzl4a6shLtkKb1+FWG5SMw3
 VI3vk5zjizXTzkCP63voYzZSjuQDWdCNmSDuu+8vMBYeooo1RlzkPJZMdgfrtPT/
 sFhO4IY1vA5gIV1TdUhiH3EhBy5aXyghkccdlmsxGBlPlD3TUVWA67Q0yeoEmWL6
 qnEGB9Vo5QC7Mg3fuEt6YpAcPuvjBxyK0tMwfppzc+SAbI8klJpb4+9+CPyiM5K1
 wITGctIbNREXIw4yhONaSWBHCm5o/o+CljSkljnuJ33qZzrdOCKDSaZiX2L8Rn9f
 tHTwLt9cWs4yjX9HG4s49HWy/pbBrzNTlUZw/+YWD5rca8otnCy2eOJk8oR/5n1v
 WDeIIa+R1rmAydDCPXldlJYT4jX7Q3ew9uI2qKX9bc1Iuqozwg5AuTXLJgZWc2lk
 ZZXkAlZtxI2wBFgWCb0G0Nk+qYloaaMRq/uf98aFDyzxaEhOlshLVdAmDeHmfbem
 lSBXNkcVDAvMVi1RtLbI
 =7M8z
 -----END PGP SIGNATURE-----
 

Add validation for required fields during xcodebuild (#187772)

<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

- If the xcconfig is broken, flutter builds either fail or misbuild with
unexpected values such as missing version numbers

Fixes https://github.com/flutter/flutter/issues/140845
Fixes https://github.com/flutter/flutter/issues/12748

*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 [AI contribution guidelines] and understand my
responsibilities, or I am not using AI tools.
- [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].

If this change needs to override an active code freeze, provide a
comment explaining why. The code freeze workflow can be overridden by
code reviewers. See pinned issues for any active code freezes with
guidance.

**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
[AI contribution guidelines]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines
[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