shorebirdtech / shorebird

Code Push for Flutter and other tools for Flutter businesses.
https://shorebird.dev
Other
2.31k stars 140 forks source link

feat: use shorebird's dart fork always #2105

Open eseidel opened 5 months ago

eseidel commented 5 months ago

Right now we have a funny setup, where by flutter when invoked from shorebird will talk to downloads.shorebird.dev, which runs artifact_proxy, and will re-write some requests to pull shorebird artifacts rather than Google/flutter ones.

We replace many things, including gen_snapshot. However we do not replace the dart-sdk itself.

This causes kernel sdk_hash mismatches, so we've currently disabled kernel sdk_hash checks.

The correct solution to get around this is to vend our own Dart, rather than using Google's. This will require doing a few things:

  1. Making sure that when we build our Dart fork, it works correctly with all our #defines turned off.
  2. Set up build_engine and builders for all the various flavors of Dart we need to vend.
  3. Configure the artifact proxy to point to our uploaded Dart.
felangel commented 3 months ago

I think we should be able to close this now but leaving it open until we re enable the kernel sdk hash checks.

eseidel commented 3 months ago

Yeah, very small change to complete this. We just change sdk_args.gni to reenable the check.