tree 24e422f4f5092f99b6fd3801add0f90a564790f5
parent 009d3864c3158d7e7843a168fef07ea6b5e4f368
author Ben Konyi <bkonyi@google.com> 1790707104 +0000
committer GitHub <noreply@github.com> 1790707104 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJqvBOsCRC1aQ7uu5UhlAAA6gcQAFVl2bA6M9ufaIOP9WS/cmPs
 pmB9a+NMtUXPkmbpEyKnc7eZiUsV5QKN33y4TTFK2SaK/eJEBHPbB1d2u9/1g8mp
 9m7h0/Nc1uSg9B9It0N2SkdDuHW3aT4sBobzpj/W2GslzW30hWDl/Xnhk/yMTZw2
 x0HgzdAHNGPDFnbh7tSUhkLSZUGkJ5wkyDeuiSQCKLOUDf+8EmEY/ohLRhhfyuyC
 Wd1ReV0lQb1sUrXlBkH7dtP1GMtXNG6pNrFsxKZSlbvc6GijH6xjcZPhpIjtFvRK
 Lso6sjfUaVzI9juvukWGaMTSh1KIwKJMYRA0k6CMy450b7fzEczkLaiJ707goUKr
 EvKUFGSbYM0wSBPxPdlxjBPLDIg0Acg+7vMjDJVLdCXr13yuf4J9rkEtmEvCgfAT
 u9G3lfDLUqJP2vti2+zwTTH5D5/shZrBzNlSxaehMWP0aDosoOecT04R06hHE1a0
 rc3XbcCE+nsl3OmqMQjlXNprah+LdpL4K2rxayC/1arP2CGUsYvp684A/zkdq9MY
 RBzSqYr/+CaV7poxy7+jguFkMz+avOz1dRrcKgumzXTpYym4JwyG1xy9V2gtr8IO
 6Ygs/Ue1EbXAkR6wruECXtgJKIeA4IMGIX/J5SZuI9ROH1xmA2ejr9BTV38WAwTB
 /iaQw1C9ZX3pUnPsZrPs
 =kTmK
 -----END PGP SIGNATURE-----
 

[tool] Migrate Web build subcommands and toolchain to modular dependency injection (#190783)

## Summary

Part 17 of the modular dependency injection migration.

> [!NOTE]
> Stacked on [#192462](https://github.com/flutter/flutter/pull/192462)
(`di/17a-build-bundle-command`), which migrated `BuildBundleCommand` to
modular DI.

* Migrates Web build subcommand and toolchain components to modular
constructor dependency injection:
- `BuildWebCommand({required BuildSystem buildSystem, required
FeatureFlags featureFlags, required ToolContext toolContext, required
super.verboseHelp, BuildTargets buildTargets = const BuildTargetsImpl(),
WebBuilder? webBuilder})`
* Passes `ToolContext` directly to subcommands, eliminating
`context.get` fallbacks in `BuildCommand` and `WebBuilder`.
* Injects `FileSystem` into `defaultDepfilePath` and
`getAssetBuildDirectory`.
* Migrates unit tests in
`test/commands.shard/hermetic/build_web_test.dart` to hermetic
`testWithoutContext`.

Part of #188471