mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
As of the migration to Dart 2, it has been necessary to compile Dart to kernel prior to execution. The embedder currently requires that the resulting kernel file be named `kernel_blob.bin` and be located at the root of the assets directory passed to the embedder API. This patch updates the test_fixtures build rule to perform a kernel compile using frontend_server, outputting `kernel_blob.bin` to `fixtures/test_target_name` directory, and updates the embedder unittests to specify the kernel file rather than the Dart source file. Since the kernel compiler requires a `main()` function to be defined, it also updates `simple_main.dart` from runtime_unittests to define `main()` rather than `simple_main()`. This also updates all existing sub-targets to be testonly. This relands commit 4e4fb4608da95d198b0e796478462285ab974a3c, which was reverted in commit 566db0ecb8f293bb9f7ff1fc39076b08336e0148. Rather than running as prebuilt_dart_action, we use dart_action to ensure the frontend snapshot it compatible with the VM on which it's executed.