Skip to content

[ Tool ] Fix update-packages not accounting for path dependencies#179951

Merged
auto-submit[bot] merged 3 commits into
flutter:masterfrom
bkonyi:autoroller-failure
Dec 16, 2025
Merged

[ Tool ] Fix update-packages not accounting for path dependencies#179951
auto-submit[bot] merged 3 commits into
flutter:masterfrom
bkonyi:autoroller-failure

Conversation

@bkonyi

@bkonyi bkonyi commented Dec 16, 2025

Copy link
Copy Markdown
Contributor

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 #179941

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
@bkonyi
bkonyi requested a review from jtmcdole December 16, 2025 18:06
@github-actions github-actions Bot added the tool Affects the "flutter" command-line tool. See also t: labels. label Dec 16, 2025

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.

Comment thread packages/flutter_tools/lib/src/commands/update_packages.dart Outdated
@bkonyi bkonyi added the autosubmit Merge PR when tree becomes green via auto submit App label Dec 16, 2025
@auto-submit auto-submit Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Dec 16, 2025
@auto-submit

auto-submit Bot commented Dec 16, 2025

Copy link
Copy Markdown
Contributor

autosubmit label was removed for flutter/flutter/179951, because Pull request flutter/flutter/179951 is not in a mergeable state.

@bkonyi bkonyi added the autosubmit Merge PR when tree becomes green via auto submit App label Dec 16, 2025
@auto-submit
auto-submit Bot added this pull request to the merge queue Dec 16, 2025
Merged via the queue into flutter:master with commit 6634f14 Dec 16, 2025
141 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Dec 16, 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 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.
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tool Affects the "flutter" command-line tool. See also t: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

widget_preview_scaffold blocking packages_autoroller

2 participants