[ Tool ] Fix update-packages not accounting for path dependencies#179951
Merged
Conversation
Each project's `pubspec.yaml` is copied into a temporary directory before trying to determine which packages can be updated, but this `pubspec.yaml` is currently deleted immediately after the dependencies have been determined for the single package. This means that projects that have path dependencies on other projects in the repository don't have their dependencies updated properly as the path dependencies fail to resolve. This change updates the `update-packages` logic to copy each project's `pubspec.yaml` to a temporary directory with a consistent relative directory structure. The `_upgrade` function has been updated to support processing multiple projects before deleting the temporary directory, allowing for projects with path dependencies on each other to have their pubspecs placed in the correct relative directories for them to resolve correctly. Fixes flutter#179941
9 tasks
Contributor
There was a problem hiding this comment.
Code Review
This pull request refactors the update-packages command to correctly handle path dependencies between projects by processing multiple projects' pubspec.yaml files within a shared temporary directory structure. The overall approach is sound and directly addresses the issue of path resolution. However, I've identified a critical issue in how the temporary directory structure is created that will cause it to fail on non-Windows platforms. My review includes a suggested fix for this issue. The test updates are a great addition for ensuring this functionality remains stable.
jtmcdole
approved these changes
Dec 16, 2025
Contributor
|
autosubmit label was removed for flutter/flutter/179951, because Pull request flutter/flutter/179951 is not in a mergeable state. |
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 17, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 17, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 17, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 18, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 18, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 18, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 18, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 18, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 18, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 19, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 19, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 19, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 19, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 19, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 20, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 20, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 21, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 21, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 21, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 22, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 22, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 22, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 23, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 23, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 23, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 23, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 23, 2025
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Dec 23, 2025
stuartmorgan-g
pushed a commit
to flutter/packages
that referenced
this pull request
Dec 23, 2025
Manual roll Flutter from d81baab to 57c3f8b (38 revisions) Manual roll requested by [email protected] flutter/flutter@d81baab...57c3f8b 2025-12-17 [email protected] Add FloatingActionButtonTheme (flutter/flutter#179736) 2025-12-17 [email protected] Roll Skia from b1569739f431 to fb576bd6827a (1 revision) (flutter/flutter#179989) 2025-12-17 [email protected] Update more comments related to theme normalization (flutter/flutter#179682) 2025-12-17 [email protected] Roll Skia from cce9b86bda7d to b1569739f431 (1 revision) (flutter/flutter#179979) 2025-12-17 [email protected] Adds property passthrough for CheckboxListTile, SwitchListTile and RadioListTile (flutter/flutter#178098) 2025-12-17 [email protected] Roll Dart SDK from ca949b915846 to 3793f3d2d0c4 (2 revisions) (flutter/flutter#179973) 2025-12-17 [email protected] Roll Skia from 318400199beb to cce9b86bda7d (1 revision) (flutter/flutter#179976) 2025-12-17 [email protected] Make sure that a CupertinoTextFormFieldRow doesn't crash in 0x0 envir… (flutter/flutter#179932) 2025-12-17 [email protected] Make sure that a CupertinoTabView doesn't crash in 0x0 environment (flutter/flutter#179845) 2025-12-17 [email protected] Make sure that a CupertinoTextField doesn't crash in 0x0 environment (flutter/flutter#179865) 2025-12-17 [email protected] Make sure that a CupertinoSwitch doesn't crash in 0x0 environment (flutter/flutter#179748) 2025-12-17 [email protected] Update `BuildContext` docs to make it easier to understand (flutter/flutter#178616) 2025-12-17 [email protected] [ios][pv] quick fix to enable and re-enable web view's gesture recognizer (flutter/flutter#179908) 2025-12-17 [email protected] Deduplicate wasm dry run entries in analytics. (flutter/flutter#179970) 2025-12-17 [email protected] Roll Skia from 99899cbb415b to 318400199beb (1 revision) (flutter/flutter#179969) 2025-12-17 [email protected] Roll Skia from 2ac4a8709bc9 to 99899cbb415b (1 revision) (flutter/flutter#179968) 2025-12-17 [email protected] Roll Dart SDK from 95a92bc705d3 to ca949b915846 (6 revisions) (flutter/flutter#179967) 2025-12-17 [email protected] Add package info to wasm dry run events. (flutter/flutter#179826) 2025-12-17 [email protected] Platform View Hide/Show Integration test (flutter/flutter#179902) 2025-12-16 [email protected] Roll Skia from 61162d72343f to 2ac4a8709bc9 (14 revisions) (flutter/flutter#179961) 2025-12-16 [email protected] Roll Fuchsia Linux SDK from 433KtmJvbMyaDMJvD... to fAoyBAT99XxwPE5hL... (flutter/flutter#179960) 2025-12-16 [email protected] [ Tool ] Fix update-packages not accounting for path dependencies (flutter/flutter#179951) 2025-12-16 [email protected] ListTile fix MinIntrinsicHeight calculation (flutter/flutter#179515) 2025-12-16 [email protected] Fix pinned header in NestedScrollView (flutter/flutter#179210) 2025-12-16 [email protected] Update some comments related to theme normalization (flutter/flutter#179624) 2025-12-16 [email protected] Add Cyrillic keyboard layout support for flutter_tools terminal commands (flutter/flutter#177855) 2025-12-16 [email protected] Minor fixes for libstdc++ 15 (flutter/flutter#178601) 2025-12-16 [email protected] Feat: Add top gap for cupertino sheet (flutter/flutter#171348) 2025-12-16 [email protected] Align `Build.API_LEVELS` usage in `FlutterImageDecoder.java` with existing usage (flutter/flutter#179868) 2025-12-16 [email protected] Revert "[ios][pv] accept/reject gesture based on hitTest (with new wi… (flutter/flutter#179895) 2025-12-16 [email protected] fix: line endings for flutter/dart/flutter-dev (flutter/flutter#179912) 2025-12-16 [email protected] Platform view blur clipping - Rounded Rect (iOS) (flutter/flutter#177551) 2025-12-16 [email protected] Roll Dart SDK from 20d114f951db to 95a92bc705d3 (1 revision) (flutter/flutter#179909) 2025-12-16 [email protected] [Reland] Unmodified android sdk bundle (flutter/flutter#179920) 2025-12-16 [email protected] Roll Skia from 6903a4e65c3f to 61162d72343f (2 revisions) (flutter/flutter#179915) 2025-12-16 [email protected] Roll Packages from 2cd921c to 57725eb (1 revision) (flutter/flutter#179942) 2025-12-16 [email protected] Filter out FrameEvents/updateAcquireFence log spam from adb logcat (flutter/flutter#179884) 2025-12-16 [email protected] `flutter update-packages --force-upgrade --update-hashes` (flutter/flutter#179950) 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] on the revert to ensure that a human is aware of the problem. ...
ivan-vanyusho
pushed a commit
to ivan-vanyusho/packages
that referenced
this pull request
Jan 26, 2026
…0671) Manual roll Flutter from d81baab to 57c3f8b (38 revisions) Manual roll requested by [email protected] flutter/flutter@d81baab...57c3f8b 2025-12-17 [email protected] Add FloatingActionButtonTheme (flutter/flutter#179736) 2025-12-17 [email protected] Roll Skia from b1569739f431 to fb576bd6827a (1 revision) (flutter/flutter#179989) 2025-12-17 [email protected] Update more comments related to theme normalization (flutter/flutter#179682) 2025-12-17 [email protected] Roll Skia from cce9b86bda7d to b1569739f431 (1 revision) (flutter/flutter#179979) 2025-12-17 [email protected] Adds property passthrough for CheckboxListTile, SwitchListTile and RadioListTile (flutter/flutter#178098) 2025-12-17 [email protected] Roll Dart SDK from ca949b915846 to 3793f3d2d0c4 (2 revisions) (flutter/flutter#179973) 2025-12-17 [email protected] Roll Skia from 318400199beb to cce9b86bda7d (1 revision) (flutter/flutter#179976) 2025-12-17 [email protected] Make sure that a CupertinoTextFormFieldRow doesn't crash in 0x0 envir… (flutter/flutter#179932) 2025-12-17 [email protected] Make sure that a CupertinoTabView doesn't crash in 0x0 environment (flutter/flutter#179845) 2025-12-17 [email protected] Make sure that a CupertinoTextField doesn't crash in 0x0 environment (flutter/flutter#179865) 2025-12-17 [email protected] Make sure that a CupertinoSwitch doesn't crash in 0x0 environment (flutter/flutter#179748) 2025-12-17 [email protected] Update `BuildContext` docs to make it easier to understand (flutter/flutter#178616) 2025-12-17 [email protected] [ios][pv] quick fix to enable and re-enable web view's gesture recognizer (flutter/flutter#179908) 2025-12-17 [email protected] Deduplicate wasm dry run entries in analytics. (flutter/flutter#179970) 2025-12-17 [email protected] Roll Skia from 99899cbb415b to 318400199beb (1 revision) (flutter/flutter#179969) 2025-12-17 [email protected] Roll Skia from 2ac4a8709bc9 to 99899cbb415b (1 revision) (flutter/flutter#179968) 2025-12-17 [email protected] Roll Dart SDK from 95a92bc705d3 to ca949b915846 (6 revisions) (flutter/flutter#179967) 2025-12-17 [email protected] Add package info to wasm dry run events. (flutter/flutter#179826) 2025-12-17 [email protected] Platform View Hide/Show Integration test (flutter/flutter#179902) 2025-12-16 [email protected] Roll Skia from 61162d72343f to 2ac4a8709bc9 (14 revisions) (flutter/flutter#179961) 2025-12-16 [email protected] Roll Fuchsia Linux SDK from 433KtmJvbMyaDMJvD... to fAoyBAT99XxwPE5hL... (flutter/flutter#179960) 2025-12-16 [email protected] [ Tool ] Fix update-packages not accounting for path dependencies (flutter/flutter#179951) 2025-12-16 [email protected] ListTile fix MinIntrinsicHeight calculation (flutter/flutter#179515) 2025-12-16 [email protected] Fix pinned header in NestedScrollView (flutter/flutter#179210) 2025-12-16 [email protected] Update some comments related to theme normalization (flutter/flutter#179624) 2025-12-16 [email protected] Add Cyrillic keyboard layout support for flutter_tools terminal commands (flutter/flutter#177855) 2025-12-16 [email protected] Minor fixes for libstdc++ 15 (flutter/flutter#178601) 2025-12-16 [email protected] Feat: Add top gap for cupertino sheet (flutter/flutter#171348) 2025-12-16 [email protected] Align `Build.API_LEVELS` usage in `FlutterImageDecoder.java` with existing usage (flutter/flutter#179868) 2025-12-16 [email protected] Revert "[ios][pv] accept/reject gesture based on hitTest (with new wi… (flutter/flutter#179895) 2025-12-16 [email protected] fix: line endings for flutter/dart/flutter-dev (flutter/flutter#179912) 2025-12-16 [email protected] Platform view blur clipping - Rounded Rect (iOS) (flutter/flutter#177551) 2025-12-16 [email protected] Roll Dart SDK from 20d114f951db to 95a92bc705d3 (1 revision) (flutter/flutter#179909) 2025-12-16 [email protected] [Reland] Unmodified android sdk bundle (flutter/flutter#179920) 2025-12-16 [email protected] Roll Skia from 6903a4e65c3f to 61162d72343f (2 revisions) (flutter/flutter#179915) 2025-12-16 [email protected] Roll Packages from 2cd921c to 57725eb (1 revision) (flutter/flutter#179942) 2025-12-16 [email protected] Filter out FrameEvents/updateAcquireFence log spam from adb logcat (flutter/flutter#179884) 2025-12-16 [email protected] `flutter update-packages --force-upgrade --update-hashes` (flutter/flutter#179950) 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] on the revert to ensure that a human is aware of the problem. ...
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Feb 11, 2026
creatorpiyush
pushed a commit
to creatorpiyush/packages
that referenced
this pull request
Jun 10, 2026
…0671) Manual roll Flutter from d81baab to 57c3f8b (38 revisions) Manual roll requested by [email protected] flutter/flutter@d81baab...57c3f8b 2025-12-17 [email protected] Add FloatingActionButtonTheme (flutter/flutter#179736) 2025-12-17 [email protected] Roll Skia from b1569739f431 to fb576bd6827a (1 revision) (flutter/flutter#179989) 2025-12-17 [email protected] Update more comments related to theme normalization (flutter/flutter#179682) 2025-12-17 [email protected] Roll Skia from cce9b86bda7d to b1569739f431 (1 revision) (flutter/flutter#179979) 2025-12-17 [email protected] Adds property passthrough for CheckboxListTile, SwitchListTile and RadioListTile (flutter/flutter#178098) 2025-12-17 [email protected] Roll Dart SDK from ca949b915846 to 3793f3d2d0c4 (2 revisions) (flutter/flutter#179973) 2025-12-17 [email protected] Roll Skia from 318400199beb to cce9b86bda7d (1 revision) (flutter/flutter#179976) 2025-12-17 [email protected] Make sure that a CupertinoTextFormFieldRow doesn't crash in 0x0 envir… (flutter/flutter#179932) 2025-12-17 [email protected] Make sure that a CupertinoTabView doesn't crash in 0x0 environment (flutter/flutter#179845) 2025-12-17 [email protected] Make sure that a CupertinoTextField doesn't crash in 0x0 environment (flutter/flutter#179865) 2025-12-17 [email protected] Make sure that a CupertinoSwitch doesn't crash in 0x0 environment (flutter/flutter#179748) 2025-12-17 [email protected] Update `BuildContext` docs to make it easier to understand (flutter/flutter#178616) 2025-12-17 [email protected] [ios][pv] quick fix to enable and re-enable web view's gesture recognizer (flutter/flutter#179908) 2025-12-17 [email protected] Deduplicate wasm dry run entries in analytics. (flutter/flutter#179970) 2025-12-17 [email protected] Roll Skia from 99899cbb415b to 318400199beb (1 revision) (flutter/flutter#179969) 2025-12-17 [email protected] Roll Skia from 2ac4a8709bc9 to 99899cbb415b (1 revision) (flutter/flutter#179968) 2025-12-17 [email protected] Roll Dart SDK from 95a92bc705d3 to ca949b915846 (6 revisions) (flutter/flutter#179967) 2025-12-17 [email protected] Add package info to wasm dry run events. (flutter/flutter#179826) 2025-12-17 [email protected] Platform View Hide/Show Integration test (flutter/flutter#179902) 2025-12-16 [email protected] Roll Skia from 61162d72343f to 2ac4a8709bc9 (14 revisions) (flutter/flutter#179961) 2025-12-16 [email protected] Roll Fuchsia Linux SDK from 433KtmJvbMyaDMJvD... to fAoyBAT99XxwPE5hL... (flutter/flutter#179960) 2025-12-16 [email protected] [ Tool ] Fix update-packages not accounting for path dependencies (flutter/flutter#179951) 2025-12-16 [email protected] ListTile fix MinIntrinsicHeight calculation (flutter/flutter#179515) 2025-12-16 [email protected] Fix pinned header in NestedScrollView (flutter/flutter#179210) 2025-12-16 [email protected] Update some comments related to theme normalization (flutter/flutter#179624) 2025-12-16 [email protected] Add Cyrillic keyboard layout support for flutter_tools terminal commands (flutter/flutter#177855) 2025-12-16 [email protected] Minor fixes for libstdc++ 15 (flutter/flutter#178601) 2025-12-16 [email protected] Feat: Add top gap for cupertino sheet (flutter/flutter#171348) 2025-12-16 [email protected] Align `Build.API_LEVELS` usage in `FlutterImageDecoder.java` with existing usage (flutter/flutter#179868) 2025-12-16 [email protected] Revert "[ios][pv] accept/reject gesture based on hitTest (with new wi… (flutter/flutter#179895) 2025-12-16 [email protected] fix: line endings for flutter/dart/flutter-dev (flutter/flutter#179912) 2025-12-16 [email protected] Platform view blur clipping - Rounded Rect (iOS) (flutter/flutter#177551) 2025-12-16 [email protected] Roll Dart SDK from 20d114f951db to 95a92bc705d3 (1 revision) (flutter/flutter#179909) 2025-12-16 [email protected] [Reland] Unmodified android sdk bundle (flutter/flutter#179920) 2025-12-16 [email protected] Roll Skia from 6903a4e65c3f to 61162d72343f (2 revisions) (flutter/flutter#179915) 2025-12-16 [email protected] Roll Packages from 2cd921c to 57725eb (1 revision) (flutter/flutter#179942) 2025-12-16 [email protected] Filter out FrameEvents/updateAcquireFence log spam from adb logcat (flutter/flutter#179884) 2025-12-16 [email protected] `flutter update-packages --force-upgrade --update-hashes` (flutter/flutter#179950) 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] on the revert to ensure that a human is aware of the problem. ...
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.
Each project's
pubspec.yamlis copied into a temporary directory before trying to determine which packages can be updated, but thispubspec.yamlis currently deleted immediately after the dependencies have been determined for the single package. This means that projects that have path dependencies on other projects in the repository don't have their dependencies updated properly as the path dependencies fail to resolve.This change updates the
update-packageslogic to copy each project'spubspec.yamlto a temporary directory with a consistent relative directory structure. The_upgradefunction has been updated to support processing multiple projects before deleting the temporary directory, allowing for projects with path dependencies on each other to have their pubspecs placed in the correct relative directories for them to resolve correctly.Fixes #179941