Skip to content

Conversation

@matanlurey
Copy link
Contributor

@matanlurey matanlurey commented Oct 23, 2024

Work towards #56591.

I explicitly want an LGTM from @andrewkolos @jmagman @jonahwilliams before merging.


After this PR, <Plugin>.isDevDependency is resolved based on the following logic, IFF:

  • The plugin comes from a package A listed in the app's package's dev_dependencies: ...
  • The package A is not a normal dependency of any transitive non-dev dependency of the app

See compute_dev_dependencies_test.dart for probably the best specification of this behavior.

We (still) do not write the property to disk (i.e. it never makes it to .flutter-plugins-dependencies), so there is no impact to build artifacts at this time; that would come in a follow-up PR (and then follow-up follow-up PRs for the various build systems in both Gradle and Xcode to actually use that value to omit dependencies).

Some tests had to be updated; for the most part it was updating the default ProcessManager because a call to dart pub deps --json is now made in code that computes what plugins are available, but there should be no change in behavior.

/cc @jonasfj @sigurdm for FYI only (we talked on an internal thread about this; see dart-lang/sdk#56968).

/cc @camsim99 @cbracken @johnmccutchan for visibility on the change.

@github-actions github-actions bot added the tool Affects the "flutter" command-line tool. See also t: labels. label Oct 23, 2024
@github-actions github-actions bot added the a: desktop Running on desktop label Oct 25, 2024
@matanlurey matanlurey changed the title WIP: computeDirectDevDependencies. Plugin.isDevDependency if exclusively in dev_dependencies Oct 25, 2024
@matanlurey matanlurey marked this pull request as ready for review October 25, 2024 19:07
@matanlurey
Copy link
Contributor Author

Shoot, there are still commands.shard tests that need updates, I'll work on those.

Copy link
Contributor

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

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

So i think the overall approach SGTM. I don't really have much to nit about the code, but I don't really work in the tool anymore.

LGTM

return <String>{};
}

jsonResult = json.decode(stdout) as Map<String, Object?>;
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think this is likely, but you could also check that this is a map too...

@matanlurey
Copy link
Contributor Author

Updated tests in commands.shard.

I'm slowed down by running into test failures that only occur locally but seem unrelated:

devDependencies.removeAll(directDependencies);

// And continue visiting.
directDependencies.forEach(visitPackage);
Copy link
Member

Choose a reason for hiding this comment

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

Is an infinite loop possible?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No, clarified in both the comment and with a local variable above.

@matanlurey
Copy link
Contributor Author

Sigh, this is blocked by #102983 and #73870.

@matanlurey matanlurey added the blocked Issue is blocked by another issue label Oct 29, 2024
@matanlurey
Copy link
Contributor Author

There's a lot of unintentional-looking formatting here :/

Yeah my mistake, I really messed up my default workspace - will fix that going forward.

@matanlurey
Copy link
Contributor Author

Ping - looking for another once-over so I can unblock #158009.

Thanks!

Copy link
Member

@jmagman jmagman left a comment

Choose a reason for hiding this comment

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

Sorry for the delay.

Copy link
Contributor

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

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

LGTM

@matanlurey matanlurey dismissed andrewkolos’s stale review November 7, 2024 18:08

Andrew is OOO until Monday - I reached out to him on Tuesday afternoon asking if he had final feedback. Happy to consider changes in post.

@matanlurey matanlurey added the autosubmit Merge PR when tree becomes green via auto submit App label Nov 7, 2024
@auto-submit auto-submit bot merged commit 78cfc1a into flutter:master Nov 7, 2024
133 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 7, 2024
matanlurey added a commit that referenced this pull request Nov 7, 2024
#158204 collided with
#157462.

Fortunately the change is 1-line in 1-test.
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 8, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 8, 2024
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Nov 11, 2024
flutter/flutter@73546b3...c8510f2

2024-11-08 [email protected] Roll Flutter Engine from 44d788f4651b to a08bd5a07c2a (3 revisions) (flutter/flutter#158375)
2024-11-08 [email protected] Add ability to override `NavigationDestination.label` padding for `NavigationBar` (flutter/flutter#158260)
2024-11-08 [email protected] Add flutter/package code generation instructions (flutter/flutter#158326)
2024-11-08 [email protected] Roll Flutter Engine from 8e19915c19fc to 44d788f4651b (3 revisions) (flutter/flutter#158362)
2024-11-08 [email protected] Roll Flutter Engine from bcb281cde579 to 8e19915c19fc (4 revisions) (flutter/flutter#158354)
2024-11-07 [email protected] Make `_SelectableRegionSelectionContainerDelegate` public (flutter/flutter#147080)
2024-11-07 [email protected] Manual roll Flutter Engine from 371c86fb6b49 to bcb281cde579 (flutter/flutter#158346)
2024-11-07 [email protected] Add clarification on review timelines in PR template (flutter/flutter#158345)
2024-11-07 [email protected] Increase Java heap limit to 8GB for plugin integration tests using deferred components (flutter/flutter#158330)
2024-11-07 [email protected] Roll pub packages (flutter/flutter#158337)
2024-11-07 [email protected] Roll Flutter Engine from ac50b20ae5c9 to 371c86fb6b49 (5 revisions) (flutter/flutter#158336)
2024-11-07 [email protected] Fix a breakage caused by the test being unskipped. (flutter/flutter#158335)
2024-11-07 [email protected] Roll Flutter Engine from 8a963cfc134c to ac50b20ae5c9 (1 revision) (flutter/flutter#158308)
2024-11-07 [email protected] `Plugin.isDevDependency` if exclusively in `dev_dependencies` (flutter/flutter#157462)
2024-11-07 [email protected] Add recently imported packages to issue template (flutter/flutter#158324)
2024-11-07 [email protected] Roll Flutter Engine from 076688d95818 to 8a963cfc134c (1 revision) (flutter/flutter#158304)
2024-11-07 [email protected] Roll Flutter Engine from 94dac953a95f to 076688d95818 (2 revisions) (flutter/flutter#158303)
2024-11-07 [email protected] Make leak tracking bots blocking. (flutter/flutter#157866)
2024-11-07 [email protected] Roll Flutter Engine from b36ca3319825 to 94dac953a95f (1 revision) (flutter/flutter#158297)
2024-11-06 [email protected] Roll Flutter Engine from 58ac1dadd69d to b36ca3319825 (9 revisions) (flutter/flutter#158295)
2024-11-06 [email protected] Added cusor control properties to CupertinoSearchTextField and tests (flutter/flutter#158240)
2024-11-06 [email protected] Fix flakiness in hot_reload_test.dart (flutter/flutter#158271)
2024-11-06 [email protected] Fix use of deprecated `buildDir` in Android templates/tests/examples (flutter/flutter#157560)
2024-11-06 [email protected] Roll Flutter Engine from f03f11300a9d to 58ac1dadd69d (5 revisions) (flutter/flutter#158283)
2024-11-06 [email protected] Roll pub packages (flutter/flutter#158281)
2024-11-06 [email protected] Delete firebase_android_embedding_v2_smoke_test (flutter/flutter#158223)
2024-11-06 [email protected] [web] fix --ab option for web benchmarks (flutter/flutter#154574)
2024-11-06 [email protected] excluding website-cms from critical pr triage (flutter/flutter#158220)
2024-11-06 [email protected] Add test for `image.frame_builder.0.dart` (flutter/flutter#158247)
2024-11-06 [email protected] Roll Packages from 7219431 to bb5a258 (6 revisions) (flutter/flutter#158267)

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.

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://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 12, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 13, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 13, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 6, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Mar 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a: desktop Running on desktop autosubmit Merge PR when tree becomes green via auto submit App 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.

4 participants