Build Web SDK in wasm build tree
This makes some improvements to the web build process.
-
felt testno longer requires any build folder at all, unless--use-local-canvaskitis specified. To compile tests, it now uses whatever dart sdk thatfelt.dartis invoked with (which is by default the prebuilt dart sdk) -
felt buildonly invokes the--wasm --runtime-mode=releaseof the gn build, and that build now produces theflutter_web_sdkand the .zip artifact. This build also no longer relies on building or copying the dart sdk to the output folder, it just uses the prebuilt sdk where it is. - We don't produce a random unused xcodeproj in the wasm build anymore
We need to do some followup recipe changes to take full advantage of this, which I've outlined here: https://github.com/flutter/flutter/issues/113303
The ultimate goal is going to be:
- The engine build produces a single
flutter-web-sdk.zipartifact that rolls into the framework, and no longer has platform specific artifacts. - The flutter tool consumes the
flutter-web-sdk.zipartifact instead of the platform specific artifacts - The host build no longer builds the
flutter_web_sdktargets at all - We don't do host builds at all to do any web engine CI stuff.
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat (don't just cc him here, he won't see it! He's on Discord!).
If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?
Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.