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:
Making sure that when we build our Dart fork, it works correctly with all our #defines turned off.
Set up build_engine and builders for all the various flavors of Dart we need to vend.
Configure the artifact proxy to point to our uploaded Dart.
Right now we have a funny setup, where by
flutter
when invoked fromshorebird
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: