tree 9bb2c7861ba207f8c5a5a00db258102b02415602
parent 52f66e146765cb3f75d6a801a891afa70ab2537a
author Boris Zbarsky <bzbarsky@apple.com> 1703210516 -0500
committer GitHub <noreply@github.com> 1703210516 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJlhO4UCRBK7hj4Ov3rIwAA5rwIAGhiGDbEVclSrM1ycOyEnm5X
 E9oTb065eZc/nYROyXnoA+m7M8iyX30pZjDFHyDCzkDmplTiZhIO7eI29iX3QcWS
 2Qh5ev93pqzqOFrgC5M7dJVDVNQDClKmQb4AqpqXu2gv14qKSbnCDbYwEz0qqH+D
 z+h105OiAKQW8lJ+IN56zBSLfBG76qsg1Ou6aFhe5LjFcu6gQr/umO4RbLogBXoP
 onNHwKlbNfU8Xo1pgqtIEWB7x4zTeCmP0LLXov+kejvR/T09F2QnHpNCB+vd2TN0
 dyJr8HWiyqqF8GmQVeJWDfzM3vSdpVUGeAHDOb9H+9G2pVboRvQBEye3F+rsj3A=
 =lEDY
 -----END PGP SIGNATURE-----
 

Restore Darwin APIs that went missing. (#31163)

We were inconsistent about our checks for the "allowed to not have params" case:
some places used "command has no fields" as the check, and some used "command
has only optional fields".

This caused some APIs (for invoking commands with no params) to disappear when
commands that used to have no fields got optional fields added to them.

The fix:

1. Fixes the checks to consistently be "command has only optional fields" so the
   no-params APIs continue to exist for the commands that had optional fields
   added to them.
2. Fixes availability annotations for pre-existing commands with only optional
   fields so that we will not claim the no-params API is available before it was
   actually available, by basically listing all such commands in
   config-data.yaml.
3. Avoids generating deprecated overloads for the thins listed in item 2.
4. Moves the Darwin-only bits from the config-data.yaml in src/app into the
   Darwin version we are adding, and starts using that config file.