
This gets us closer to enabling [hot reload](https://github.com/dart-lang/sdk/issues/54934) on the web as this format is a prerequisite. Historically, we added support for the DDC module format only to enable hot reload, but that format is not feasible for the goal, so we added the DDC library bundle format. The DDC library bundle format is currently represented as the combination of the `ddc` module format and `canary`. We no longer need to support the old DDC module format. - Adds build artifacts to build the SDKs for this format (but only in sound mode as unsound is unsupported), and removes said artifacts for the DDC module format. - Update artifact maps and constants to add the new format and remove the old format. - Adds handling of the `canaryFeatures` flag. - Update dwds to 24.3.0 and use the new `FrontendServerDdcLibraryBundleStrategyProvider`. - Add bootstrap code for the new format. Kept DDC module format bootstrap code as it's used internally. - Updates tests. I ran `spinning_square` with the new module format to verify that it can run. ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [X] I added new tests to check the change I am making, or this PR is [test-exempt]. - [ ] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing.
Flutter Engine
gclient
bootstrap
Flutter engine uses gclient
to manage dependencies.
If you've already cloned the flutter repository: