Skip to content

Conversation

@vashworth
Copy link
Contributor

@vashworth vashworth commented Jul 17, 2023

Starting in Xcode 15, the simulator is no longer included in Xcode and must be downloaded and installed separately. This adds a validation to flutter doctor to warn when the needed simulator runtime is missing.

Validation message looks like:

[!] Xcode - develop for iOS and macOS (Xcode 15.0)
    ! iOS 17.0 Simulator not installed; this may be necessary for iOS and macOS development.
      To download and install the platform, open Xcode, select Xcode > Settings > Platforms,
      and click the GET button for the required platform.

      For more information, please visit:
        https://developer.apple.com/documentation/xcode/installing-additional-simulator-runtimes

It may also show an error like this when something goes wrong when checking for the simulator:

[!] Xcode - develop for iOS and macOS (Xcode 15.0)
    ✗ Unable to find the iPhone Simulator SDK.

Note: I'm unsure of in the future if the SDK and the simulator runtime will need to match the exact version or just the major. For now, it only checks against the major version.

Part 3 of #129558.

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
  • I signed the CLA.
  • I listed at least one issue that this PR fixes in the description above.
  • 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.
  • All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@github-actions github-actions bot added a: text input Entering text in a text field or keyboard related problems platform-ios iOS applications specifically tool Affects the "flutter" command-line tool. See also t: labels. labels Jul 17, 2023
@vashworth vashworth marked this pull request as ready for review July 17, 2023 22:03
@vashworth
Copy link
Contributor Author

Google testing is failing, but want to get a LGTM before I submit a g3fix in case I need to change anything

Copy link
Contributor

@christopherfujino christopherfujino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

vashworth and others added 14 commits July 21, 2023 11:08
Fixes flutter#130978 

## 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] 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/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#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/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
Alternative to flutter#130868

Oriole is the Pixel 6, Panther is the Pixel 7. Panther is more available in FTL at this point.

There's less value in running this on presubmit, since those can spawn many jobs multiple times over as people push new commits to branches. Let's just run it post submit to avoid overloading the capacity of FTL.
…utter create` (flutter#130900)

Fixes flutter#109775

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*
…sions) (flutter#131070)

Manual roll requested by [email protected]

flutter/engine@f5c1650...acb5d06

2023-07-21 [email protected] Revert Dart (flutter/engine#43895)
2023-07-21 [email protected] Roll Fuchsia Linux SDK from CWNVmH6f_iryKU05E... to gpjF3QRGg_KH0guW5... (flutter/engine#43894)
2023-07-21 [email protected] Roll Skia from 8388ec4d242c to e3d13d1b1c42 (1 revision) (flutter/engine#43893)
2023-07-21 [email protected] Roll Dart SDK from 6e79151ce988 to 921613a055ff (1 revision) (flutter/engine#43892)
2023-07-21 [email protected] Roll Skia from 3dd45617581b to 8388ec4d242c (1 revision) (flutter/engine#43891)
2023-07-21 [email protected] Roll ANGLE from b60068009dca to 2e190280f5c5 (2 revisions) (flutter/engine#43890)
2023-07-21 [email protected] Roll ANGLE from f2e0f8a0b236 to b60068009dca (1 revision) (flutter/engine#43887)
2023-07-21 [email protected] Roll Dart SDK from 8662af7d9aa3 to 6e79151ce988 (2 revisions) (flutter/engine#43885)
2023-07-21 [email protected] Roll Fuchsia Mac SDK from -SaPL-46jpiYbnCAu... to WH3AaCa4DtVERww1v... (flutter/engine#43884)
2023-07-21 [email protected] Roll Skia from 4857e876d8cf to 3dd45617581b (1 revision) (flutter/engine#43883)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from CWNVmH6f_iry to gpjF3QRGg_KH
  fuchsia/sdk/core/mac-amd64 from -SaPL-46jpiY to WH3AaCa4DtVE

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…lutter#131101)

flutter/engine@2d8cff4...840bcc3

2023-07-21 [email protected] Roll ANGLE from f586ec98d924 to 938ee1e80fc8 (1 revision) (flutter/engine#43912)
2023-07-21 [email protected] Roll ANGLE from 085f25bbb1e3 to f586ec98d924 (1 revision) (flutter/engine#43908)
2023-07-21 [email protected] Roll Fuchsia Mac SDK from WH3AaCa4DtVERww1v... to rMFZIJYvVmXEBGCay... (flutter/engine#43907)
2023-07-21 [email protected] [Impeller] Do not use clear color optimization if the subpass is being collapsed into its parent (flutter/engine#43878)
2023-07-21 [email protected] Roll Skia from 2e28fe9de378 to 359d4726e423 (1 revision) (flutter/engine#43906)
2023-07-21 [email protected] [Impeller] Disable color attachment removal for clips on VK (flutter/engine#43905)
2023-07-21 [email protected] [Impeller] Add a way to query the gfx backend type. (flutter/engine#43837)
2023-07-21 [email protected] Roll ANGLE from 82d68c577b1d to 085f25bbb1e3 (1 revision) (flutter/engine#43904)
2023-07-21 [email protected] Roll ANGLE from 2e190280f5c5 to 82d68c577b1d (1 revision) (flutter/engine#43901)
2023-07-21 [email protected] Roll Skia from 497326dc66cd to 2e28fe9de378 (2 revisions) (flutter/engine#43900)
2023-07-21 [email protected] Roll Skia from 1f84e9d51bba to 497326dc66cd (1 revision) (flutter/engine#43899)

Also rolling transitive DEPS:
  fuchsia/sdk/core/mac-amd64 from WH3AaCa4DtVE to rMFZIJYvVmXE

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…lutter#131114)

flutter/engine@b47cf14...6344b17

2023-07-22 [email protected] Roll Fuchsia Linux SDK from gpjF3QRGg_KH0guW5... to LZJYHQeLdXALTMMmj... (flutter/engine#43917)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from gpjF3QRGg_KH to LZJYHQeLdXAL

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…lutter#131118)

flutter/engine@6344b17...481684a

2023-07-22 [email protected] Roll Fuchsia Mac SDK from rMFZIJYvVmXEBGCay... to UgZ9epS2Jkz7Yrymp... (flutter/engine#43922)
2023-07-22 [email protected] Roll Skia from 80e101dc5813 to 85e8d8403b45 (1 revision) (flutter/engine#43921)

Also rolling transitive DEPS:
  fuchsia/sdk/core/mac-amd64 from rMFZIJYvVmXE to UgZ9epS2Jkz7

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
dependabot bot and others added 8 commits August 2, 2023 12:59
…ter#130292)

Bumps ubuntu from `f8f6584` to `c9820a4`.

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ubuntu&package-manager=docker&previous-version=focal&new-version=focal)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>
I get confused when reading this comment. It seems that this code never calls `AnimationController.fling` (but only things like `animateTo`). Therefore, I do not think discussing the duration of `AnimationController.fling` is helpful - maybe it is just an outdated comment?
This calculation is important if you want to calculate the probability that one thing is better than another.
…sions) (flutter#131785)

Manual roll requested by [email protected]

flutter/engine@9dae7b7...d6b962d

2023-08-02 [email protected] Revert "[Impeller] Support for rendering Android Platform Views into a HardwareBuffer backed texture." (flutter/engine#44262)
2023-08-02 [email protected] Roll Skia from c6577d328585 to 6009cc6d7d80 (2 revisions) (flutter/engine#44264)
2023-08-02 [email protected] Roll ANGLE from 11cef17b53ac to d61a50c155bd (1 revision) (flutter/engine#44261)
2023-08-02 [email protected] Roll Skia from 1c0bba7c1053 to c6577d328585 (2 revisions) (flutter/engine#44260)
2023-08-02 [email protected] Roll Dart SDK from 8ff03ebf7eaa to afbaf4216fc8 (1 revision) (flutter/engine#44259)
2023-08-02 [email protected] Roll Fuchsia Mac SDK from 3JSF6hXLRdAK1wUN1... to Hx7ap5qcoqRIknnnG... (flutter/engine#44258)
2023-08-02 [email protected] Roll ANGLE from a21631c02e45 to 11cef17b53ac (1 revision) (flutter/engine#44256)
2023-08-02 [email protected] Roll Skia from 6807d8b8a9d3 to 1c0bba7c1053 (1 revision) (flutter/engine#44255)
2023-08-02 [email protected] Roll ANGLE from 5d4b3645d0dc to a21631c02e45 (1 revision) (flutter/engine#44252)
2023-08-02 [email protected] Roll Skia from 6087a5224c6f to 6807d8b8a9d3 (2 revisions) (flutter/engine#44250)
2023-08-02 [email protected] Roll Skia from 6cb888889ad8 to 6087a5224c6f (1 revision) (flutter/engine#44249)
2023-08-02 [email protected] [Impeller] Give a fixed timeout for acquireNextImageKHR. (flutter/engine#44241)
2023-08-02 [email protected] Roll Dart SDK from 7c03426705da to 8ff03ebf7eaa (2 revisions) (flutter/engine#44243)
2023-08-02 [email protected] Roll Skia from 4deae93198f9 to 6cb888889ad8 (1 revision) (flutter/engine#44240)
2023-08-01 [email protected] [canvaskit] Enable CanvasKit to compute tight SkPicture bounds (flutter/engine#43361)
2023-08-01 [email protected] Roll Dart SDK from 197fc0d7fea2 to 7c03426705da (2 revisions) (flutter/engine#44237)
2023-08-01 [email protected] [Impeller] Support for rendering Android Platform Views into a HardwareBuffer backed texture. (flutter/engine#44087)
2023-08-01 [email protected] [web:a11y] add platform view role (flutter/engine#44188)
2023-08-01 [email protected] Roll Skia from 18cf818e044f to 4deae93198f9 (1 revision) (flutter/engine#44236)
2023-08-01 [email protected] Roll Skia from 58c031441cbb to 18cf818e044f (6 revisions) (flutter/engine#44234)
2023-08-01 [email protected] Roll Fuchsia Mac SDK from g0dgOL2IlZQJCK4El... to 3JSF6hXLRdAK1wUN1... (flutter/engine#44233)
2023-08-01 [email protected] Roll ANGLE from b53d99d87e6a to 5d4b3645d0dc (1 revision) (flutter/engine#44231)
2023-08-01 [email protected] Roll Fuchsia Linux SDK from lwCo6le6r0X-Srvx3... to KPSWBhOvG6piddBQG... (flutter/engine#44230)
2023-08-01 [email protected] Roll Skia from d53f7b880651 to 58c031441cbb (2 revisions) (flutter/engine#44229)
2023-08-01 [email protected] Remove extends JSTypedArray from JSUint8Array1 (flutter/engine#44175)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from lwCo6le6r0X- to KPSWBhOvG6pi
  fuchsia/sdk/core/mac-amd64 from g0dgOL2IlZQJ to Hx7ap5qcoqRI

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Fixes flutter#131467

An error in the flex methods of min and max column width would produce different results based on the position of the widths that were provided:
`MaxColumnWidth(a, b) != MaxColumnWidth(b, a)`

This fixes that.
Fixes:
- flutter#131327

It was observed that the tests would hit their 30 minute timeout so this PR adds another shard to reduce how many tests are run per shard to reduce test run time
Part of flutter#131678

Fixes up callsites for WidgetsBindingObserver related callbacks.
@github-actions github-actions bot added a: tests "flutter test", flutter_test, or one of our tests framework flutter/packages/flutter repository. See also f: labels. engine flutter/engine related. See also e: labels. a: animation Animation APIs f: material design flutter/packages/flutter/material repository. a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) a: internationalization Supporting other languages or locales. (aka i18n) f: scrolling Viewports, list views, slivers, etc. f: cupertino flutter/packages/flutter/cupertino repository d: api docs Issues with https://api.flutter.dev/ d: examples Sample code and demos f: routes Navigator, Router, and related APIs. a: desktop Running on desktop f: integration_test The flutter/packages/integration_test plugin c: tech-debt Technical debt, code quality, testing, etc. labels Aug 2, 2023
@vashworth
Copy link
Contributor Author

Oof I did something weird. I'm just going to start over at this point. 🙃

@vashworth vashworth closed this Aug 2, 2023
auto-submit bot pushed a commit that referenced this pull request Aug 4, 2023
Redo of #130728 - code is the same as before. That PR was stuck in Google testing and then I messed up the rebase so started over.

----

Starting in Xcode 15, the simulator is no longer included in Xcode and must be downloaded and installed separately. This adds a validation to `flutter doctor` to warn when the needed simulator runtime is missing.

Validation message looks like:
```
[!] Xcode - develop for iOS and macOS (Xcode 15.0)
    ! iOS 17.0 Simulator not installed; this may be necessary for iOS and macOS development.
      To download and install the platform, open Xcode, select Xcode > Settings > Platforms,
      and click the GET button for the required platform.

      For more information, please visit:
        https://developer.apple.com/documentation/xcode/installing-additional-simulator-runtimes
```

It may also show an error like this when something goes wrong when checking for the simulator:
```
[!] Xcode - develop for iOS and macOS (Xcode 15.0)
    � Unable to find the iPhone Simulator SDK.
```

Note: I'm unsure of in the future if the SDK and the simulator runtime will need to match the exact version or just the major. For now, it only checks against the major version.

Part 3 of #129558.
vashworth added a commit to vashworth/flutter that referenced this pull request Aug 9, 2023
Redo of flutter#130728 - code is the same as before. That PR was stuck in Google testing and then I messed up the rebase so started over.

----

Starting in Xcode 15, the simulator is no longer included in Xcode and must be downloaded and installed separately. This adds a validation to `flutter doctor` to warn when the needed simulator runtime is missing.

Validation message looks like:
```
[!] Xcode - develop for iOS and macOS (Xcode 15.0)
    ! iOS 17.0 Simulator not installed; this may be necessary for iOS and macOS development.
      To download and install the platform, open Xcode, select Xcode > Settings > Platforms,
      and click the GET button for the required platform.

      For more information, please visit:
        https://developer.apple.com/documentation/xcode/installing-additional-simulator-runtimes
```

It may also show an error like this when something goes wrong when checking for the simulator:
```
[!] Xcode - develop for iOS and macOS (Xcode 15.0)
    � Unable to find the iPhone Simulator SDK.
```

Note: I'm unsure of in the future if the SDK and the simulator runtime will need to match the exact version or just the major. For now, it only checks against the major version.

Part 3 of flutter#129558.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) a: animation Animation APIs a: desktop Running on desktop a: internationalization Supporting other languages or locales. (aka i18n) a: tests "flutter test", flutter_test, or one of our tests a: text input Entering text in a text field or keyboard related problems c: tech-debt Technical debt, code quality, testing, etc. d: api docs Issues with https://api.flutter.dev/ d: examples Sample code and demos engine flutter/engine related. See also e: labels. f: cupertino flutter/packages/flutter/cupertino repository f: integration_test The flutter/packages/integration_test plugin f: material design flutter/packages/flutter/material repository. f: routes Navigator, Router, and related APIs. f: scrolling Viewports, list views, slivers, etc. framework flutter/packages/flutter repository. See also f: labels. platform-ios iOS applications specifically tool Affects the "flutter" command-line tool. See also t: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.