-
Notifications
You must be signed in to change notification settings - Fork 29.7k
[flutter_tools] Fix legacy version file not being ensured #133097
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[flutter_tools] Fix legacy version file not being ensured #133097
Conversation
… or not, we ensure //flutter/version exists
eliasyishak
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, does this relate to the issue we saw yesterday where the version file was missing when running the ./dev/bots/docs.sh shell script?
That's a good point, I think you're right. It's still unclear to me how users are getting into this state, though. |
flutter/flutter@bd836cc...deeb811 2023-08-24 [email protected] Reverts "Roll Flutter Engine from aa98a9d2e86f to 3b92bb6eda19 (4 revisions) (#133224)" (flutter/flutter#133255) 2023-08-24 [email protected] Roll Flutter Engine from aa98a9d2e86f to 3b92bb6eda19 (4 revisions) (flutter/flutter#133224) 2023-08-24 [email protected] Roll Flutter Engine from 67e8b825cc91 to aa98a9d2e86f (4 revisions) (flutter/flutter#133220) 2023-08-24 [email protected] Roll Flutter Engine from 27d75f6221d2 to 67e8b825cc91 (1 revision) (flutter/flutter#133214) 2023-08-23 [email protected] Remove deprecated PlatformViewsService.synchronizeToNativeViewHierarchy (flutter/flutter#133175) 2023-08-23 [email protected] Roll Flutter Engine from 58dc868c26cb to 27d75f6221d2 (14 revisions) (flutter/flutter#133211) 2023-08-23 [email protected] Remove deprecated MaterialButtonWithIconMixin (flutter/flutter#133173) 2023-08-23 [email protected] Enable ChangeNotifier clients to dispatch event of object creation in constructor. (flutter/flutter#133060) 2023-08-23 [email protected] Enable literal_only_boolean_expressions (flutter/flutter#133186) 2023-08-23 [email protected] Add android analyzer commands for applinks (flutter/flutter#131009) 2023-08-23 [email protected] Bump memory usage in gradle for platform views (flutter/flutter#133155) 2023-08-23 [email protected] [flutter_tools] Fix legacy version file not being ensured (flutter/flutter#133097) 2023-08-23 [email protected] Remove deprecated *TestValues from TestWindow (flutter/flutter#131098) 2023-08-23 [email protected] Roll Flutter Engine from ac352ba95f43 to 58dc868c26cb (2 revisions) (flutter/flutter#133165) 2023-08-23 [email protected] [web] Remove unnecessary lint ignore (flutter/flutter#133164) 2023-08-23 [email protected] Add `--experimental-wasm-type-reflection` and support newer emscripten builds. (flutter/flutter#133084) 2023-08-23 [email protected] Roll Flutter Engine from 72a06427bd37 to ac352ba95f43 (2 revisions) (flutter/flutter#133158) 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],[email protected],[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://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 #133093
When I introduced the new, more robust version file
//flutter/bin/cache/version.jsonin #124558, I changedclass FlutterVersioninto an abstract interface, implemented by_FlutterVersionFromGit(which is essentially the previous behavior) and_FlutterVersionFromFile, which merely reads the data it would have computed via git from//flutter/bin/cache/version.json.While doing this, I made
_FlutterVersionFromGit.ensureVersionFile()to be a no-op, since I assumed this would not be necessary since we already had a version file in the cache. However, this method was what was previously responsible for ensuring//flutter/versionexisted on disk. This means that if, for whatever reason, the user had//flutter/bin/cache/flutter.version.jsonpresent but NOT//flutter/version, the tool would have never created that file, and they would hit the tool crash seen in #133093.This fixes the tool by ensuring
//flutter/versionexists regardless of if we're hydratingFlutterVersionfrom//flutter/bin/cache/flutter.version.jsonor not.