| # Copyright 2013 The Flutter Authors. All rights reserved. | |
| # Use of this source code is governed by a BSD-style license that can be | |
| # found in the LICENSE file. | |
| assert(is_fuchsia) | |
| import("//build/fuchsia/sdk.gni") | |
| import("//flutter/common/config.gni") | |
| import("//flutter/shell/gpu/gpu.gni") | |
| import("//flutter/testing/testing.gni") | |
| import("//flutter/tools/fuchsia/dart.gni") | |
| import("//flutter/tools/fuchsia/fuchsia_archive.gni") | |
| import("//flutter/tools/fuchsia/fuchsia_libs.gni") | |
| import("//flutter/vulkan/config.gni") | |
| # Fuchsia uses its own custom Surface implementation. | |
| shell_gpu_configuration("fuchsia_gpu_configuration") { | |
| enable_software = false | |
| enable_gl = false | |
| enable_vulkan = false | |
| enable_metal = false | |
| } | |
| config("runner_debug_config") { | |
| defines = [ "DEBUG" ] # Needed due to direct dart dependencies. | |
| } | |
| config("runner_flutter_profile_config") { | |
| defines = [ "FLUTTER_PROFILE" ] | |
| } | |
| config("runner_product_config") { | |
| defines = [ "DART_PRODUCT" ] | |
| } | |
| template("runner_sources") { | |
| assert(defined(invoker.product), "runner_sources must define product") | |
| runner_configs = [] | |
| if (is_debug) { | |
| runner_configs += [ ":runner_debug_config" ] | |
| } | |
| if (flutter_runtime_mode == "profile") { | |
| runner_configs += [ ":runner_flutter_profile_config" ] | |
| } | |
| if (invoker.product) { | |
| runner_configs += [ ":runner_product_config" ] | |
| } | |
| source_set(target_name) { | |
| sources = [ | |
| "accessibility_bridge.cc", | |
| "accessibility_bridge.h", | |
| "component.cc", | |
| "component.h", | |
| "engine.cc", | |
| "engine.h", | |
| "flutter_runner_product_configuration.cc", | |
| "flutter_runner_product_configuration.h", | |
| "fuchsia_external_view_embedder.cc", | |
| "fuchsia_external_view_embedder.h", | |
| "fuchsia_intl.cc", | |
| "fuchsia_intl.h", | |
| "isolate_configurator.cc", | |
| "isolate_configurator.h", | |
| "logging.h", | |
| "loop.cc", | |
| "loop.h", | |
| "platform_view.cc", | |
| "platform_view.h", | |
| "runner.cc", | |
| "runner.h", | |
| "session_connection.cc", | |
| "session_connection.h", | |
| "surface.cc", | |
| "surface.h", | |
| "task_observers.cc", | |
| "task_observers.h", | |
| "task_runner_adapter.cc", | |
| "task_runner_adapter.h", | |
| "thread.cc", | |
| "thread.h", | |
| "unique_fdio_ns.h", | |
| "vsync_recorder.cc", | |
| "vsync_recorder.h", | |
| "vsync_waiter.cc", | |
| "vsync_waiter.h", | |
| "vulkan_surface.cc", | |
| "vulkan_surface.h", | |
| "vulkan_surface_pool.cc", | |
| "vulkan_surface_pool.h", | |
| "vulkan_surface_producer.cc", | |
| "vulkan_surface_producer.h", | |
| ] | |
| if (flutter_enable_legacy_fuchsia_embedder) { | |
| sources += [ | |
| "compositor_context.cc", | |
| "compositor_context.h", | |
| ] | |
| } | |
| public_configs = runner_configs | |
| # The use of these dependencies is temporary and will be moved behind the | |
| # embedder API. | |
| flutter_public_deps = [ | |
| "//flutter/flow", | |
| "//flutter/lib/ui", | |
| "//flutter/runtime", | |
| "//flutter/shell/common", | |
| ] | |
| flutter_deps = [ | |
| ":fuchsia_gpu_configuration", | |
| "//flutter/assets", | |
| "//flutter/common", | |
| "//flutter/fml", | |
| "//flutter/vulkan", | |
| ] | |
| public_deps = [ | |
| "$fuchsia_sdk_root/pkg:scenic_cpp", | |
| "$fuchsia_sdk_root/pkg:sys_cpp", | |
| "//flutter/shell/platform/fuchsia/runtime/dart/utils", | |
| ] + flutter_public_deps | |
| deps = [ | |
| "$fuchsia_sdk_root/fidl:fuchsia.accessibility.semantics", | |
| "$fuchsia_sdk_root/fidl:fuchsia.fonts", | |
| "$fuchsia_sdk_root/fidl:fuchsia.images", | |
| "$fuchsia_sdk_root/fidl:fuchsia.intl", | |
| "$fuchsia_sdk_root/fidl:fuchsia.io", | |
| "$fuchsia_sdk_root/fidl:fuchsia.sys", | |
| "$fuchsia_sdk_root/fidl:fuchsia.ui.app", | |
| "$fuchsia_sdk_root/fidl:fuchsia.ui.scenic", | |
| "$fuchsia_sdk_root/pkg:async-cpp", | |
| "$fuchsia_sdk_root/pkg:async-default", | |
| "$fuchsia_sdk_root/pkg:async-loop", | |
| "$fuchsia_sdk_root/pkg:async-loop-cpp", | |
| "$fuchsia_sdk_root/pkg:fdio", | |
| "$fuchsia_sdk_root/pkg:fidl_cpp", | |
| "$fuchsia_sdk_root/pkg:syslog", | |
| "$fuchsia_sdk_root/pkg:trace", | |
| "$fuchsia_sdk_root/pkg:trace-engine", | |
| "$fuchsia_sdk_root/pkg:trace-provider-so", | |
| "$fuchsia_sdk_root/pkg:vfs_cpp", | |
| "$fuchsia_sdk_root/pkg:zx", | |
| "//flutter/shell/platform/fuchsia/dart-pkg/fuchsia", | |
| "//flutter/shell/platform/fuchsia/dart-pkg/zircon", | |
| ] + flutter_deps | |
| } | |
| } | |
| runner_sources("flutter_runner_sources") { | |
| product = false | |
| } | |
| runner_sources("flutter_runner_sources_product") { | |
| product = true | |
| } | |
| # Things that explicitly being excluded: | |
| # 1. Kernel snapshot framework mode. | |
| # 2. Profiler symbols. | |
| # Builds a flutter_runner | |
| # | |
| # Parameters: | |
| # | |
| # output_name (required): | |
| # The name of the resulting binary. | |
| # | |
| # extra_deps (required): | |
| # Any additional dependencies. | |
| # | |
| # product (required): | |
| # Whether to link against a Product mode Dart VM. | |
| # | |
| # extra_defines (optional): | |
| # Any additional preprocessor defines. | |
| template("flutter_runner") { | |
| assert(defined(invoker.output_name), "flutter_runner must define output_name") | |
| assert(defined(invoker.extra_deps), "flutter_runner must define extra_deps") | |
| assert(defined(invoker.product), "flutter_runner must define product") | |
| invoker_output_name = invoker.output_name | |
| extra_deps = invoker.extra_deps | |
| product_suffix = "" | |
| if (invoker.product) { | |
| product_suffix = "_product" | |
| } | |
| executable(target_name) { | |
| output_name = invoker_output_name | |
| sources = [ "main.cc" ] | |
| deps = [ | |
| ":flutter_runner_sources${product_suffix}", | |
| "$fuchsia_sdk_root/pkg:async-loop-cpp", | |
| "$fuchsia_sdk_root/pkg:trace", | |
| "$fuchsia_sdk_root/pkg:trace-provider-so", | |
| ] + extra_deps | |
| # The flags below are needed so that Dart's CPU profiler can walk the | |
| # C++ stack. | |
| cflags = [ "-fno-omit-frame-pointer" ] | |
| if (!invoker.product) { | |
| # This flag is needed so that the call to dladdr() in Dart's native symbol | |
| # resolver can report good symbol information for the CPU profiler. | |
| ldflags = [ "-rdynamic" ] | |
| } | |
| } | |
| } | |
| flutter_runner("jit") { | |
| output_name = "flutter_jit_runner" | |
| product = false | |
| extra_deps = [ | |
| "//third_party/dart/runtime:libdart_jit", | |
| "//third_party/dart/runtime/platform:libdart_platform_jit", | |
| ] | |
| } | |
| flutter_runner("jit_product") { | |
| output_name = "flutter_jit_product_runner" | |
| product = true | |
| extra_deps = [ | |
| "//third_party/dart/runtime:libdart_jit_product", | |
| "//third_party/dart/runtime/platform:libdart_platform_jit_product", | |
| ] | |
| } | |
| flutter_runner("aot") { | |
| output_name = "flutter_aot_runner" | |
| product = false | |
| extra_deps = [ | |
| "//third_party/dart/runtime:libdart_precompiled_runtime", | |
| "//third_party/dart/runtime/platform:libdart_platform_precompiled_runtime", | |
| ] | |
| } | |
| flutter_runner("aot_product") { | |
| output_name = "flutter_aot_product_runner" | |
| product = true | |
| extra_deps = [ | |
| "//third_party/dart/runtime:libdart_precompiled_runtime_product", | |
| "//third_party/dart/runtime/platform:libdart_platform_precompiled_runtime_product", | |
| ] | |
| } | |
| template("jit_runner") { | |
| product = defined(invoker.product) && invoker.product | |
| product_suffix = "" | |
| if (product) { | |
| product_suffix = "_product" | |
| } | |
| fuchsia_archive(target_name) { | |
| snapshot_label = "kernel:kernel_core_snapshot${product_suffix}" | |
| snapshot_gen_dir = get_label_info(snapshot_label, "target_gen_dir") | |
| deps = [ | |
| ":jit${product_suffix}", | |
| snapshot_label, | |
| ] | |
| if (!product) { | |
| deps += [ | |
| "//flutter/shell/platform/fuchsia/runtime/dart/profiler_symbols:flutter_jit_runner", | |
| observatory_target, | |
| ] | |
| } | |
| binary = "flutter_jit${product_suffix}_runner" | |
| meta_dir = "//flutter/shell/platform/fuchsia/flutter/meta" | |
| resources = [ | |
| { | |
| path = rebase_path("//third_party/icu/common/icudtl.dat") | |
| dest = "icudtl.dat" | |
| }, | |
| ] | |
| if (!product) { | |
| resources += [ | |
| { | |
| path = rebase_path(observatory_archive_file) | |
| dest = "observatory.tar" | |
| }, | |
| { | |
| path = rebase_path( | |
| get_label_info( | |
| "//flutter/shell/platform/fuchsia/runtime/dart/profiler_symbols:flutter_jit_runner", | |
| "target_gen_dir") + | |
| "/flutter_jit_runner.dartprofilersymbols") | |
| dest = "flutter_jit_runner.dartprofilersymbols" | |
| }, | |
| ] | |
| } | |
| resources += [ | |
| { | |
| path = rebase_path( | |
| "$snapshot_gen_dir/vm_isolate_snapshot${product_suffix}.bin") | |
| dest = "vm_snapshot_data.bin" | |
| }, | |
| { | |
| path = rebase_path( | |
| "$snapshot_gen_dir/vm_snapshot_instructions${product_suffix}.bin") | |
| dest = "vm_snapshot_instructions.bin" | |
| }, | |
| { | |
| path = rebase_path( | |
| "$snapshot_gen_dir/isolate_snapshot${product_suffix}.bin") | |
| dest = "isolate_core_snapshot_data.bin" | |
| }, | |
| { | |
| path = rebase_path( | |
| "$snapshot_gen_dir/isolate_snapshot_instructions${product_suffix}.bin") | |
| dest = "isolate_core_snapshot_instructions.bin" | |
| }, | |
| ] | |
| _vulkan_icds = [] | |
| _libs = common_libs | |
| if (enable_vulkan_validation_layers) { | |
| _libs += vulkan_validation_libs | |
| _vulkan_icds += vulkan_icds | |
| } | |
| resources += _vulkan_icds | |
| libraries = _libs | |
| meta = [ | |
| { | |
| path = rebase_path("meta/flutter_jit${product_suffix}_runner.cmx") | |
| dest = "flutter_jit${product_suffix}_runner.cmx" | |
| }, | |
| ] | |
| } | |
| } | |
| template("aot_runner") { | |
| product = defined(invoker.product) && invoker.product | |
| product_suffix = "" | |
| if (product) { | |
| product_suffix = "_product" | |
| } | |
| fuchsia_archive(target_name) { | |
| deps = [ ":aot${product_suffix}" ] | |
| if (!product) { | |
| deps += [ | |
| "//flutter/shell/platform/fuchsia/runtime/dart/profiler_symbols:flutter_aot_runner", | |
| observatory_target, | |
| ] | |
| } | |
| meta_dir = "//flutter/shell/platform/fuchsia/flutter/meta" | |
| binary = "flutter_aot${product_suffix}_runner" | |
| resources = [ | |
| { | |
| path = rebase_path("//third_party/icu/common/icudtl.dat") | |
| dest = "icudtl.dat" | |
| }, | |
| ] | |
| if (!product) { | |
| resources += [ | |
| { | |
| path = rebase_path(observatory_archive_file) | |
| dest = "observatory.tar" | |
| }, | |
| { | |
| path = rebase_path( | |
| get_label_info( | |
| "//flutter/shell/platform/fuchsia/runtime/dart/profiler_symbols:flutter_aot_runner", | |
| "target_gen_dir") + | |
| "/flutter_aot_runner.dartprofilersymbols") | |
| dest = "flutter_aot_runner.dartprofilersymbols" | |
| }, | |
| ] | |
| } | |
| _vulkan_icds = [] | |
| _libs = common_libs | |
| if (enable_vulkan_validation_layers) { | |
| _libs += vulkan_validation_libs | |
| _vulkan_icds += vulkan_icds | |
| } | |
| resources += _vulkan_icds | |
| libraries = _libs | |
| meta = [ | |
| { | |
| path = rebase_path("meta/flutter_aot${product_suffix}_runner.cmx") | |
| dest = "flutter_aot${product_suffix}_runner.cmx" | |
| }, | |
| ] | |
| } | |
| } | |
| aot_runner("flutter_aot_runner") { | |
| product = false | |
| } | |
| aot_runner("flutter_aot_product_runner") { | |
| product = true | |
| } | |
| jit_runner("flutter_jit_runner") { | |
| product = false | |
| } | |
| jit_runner("flutter_jit_product_runner") { | |
| product = true | |
| } | |
| test_fixtures("flutter_runner_fixtures") { | |
| fixtures = [] | |
| } | |
| executable("flutter_runner_unittests") { | |
| testonly = true | |
| output_name = "flutter_runner_tests" | |
| sources = [ | |
| "accessibility_bridge_unittest.cc", | |
| "component_unittest.cc", | |
| "flutter_runner_fakes.h", | |
| "fuchsia_intl_unittest.cc", | |
| "platform_view_unittest.cc", | |
| "runner_unittest.cc", | |
| "tests/flutter_runner_product_configuration_unittests.cc", | |
| "tests/vsync_recorder_unittests.cc", | |
| "vsync_waiter_unittests.cc", | |
| ] | |
| # This is needed for //third_party/googletest for linking zircon symbols. | |
| libs = [ "//fuchsia/sdk/$host_os/arch/$target_cpu/sysroot/lib/libzircon.so" ] | |
| # The use of these dependencies is temporary and will be moved behind the | |
| # embedder API. | |
| flutter_deps = [ | |
| "//flutter/flow", | |
| "//flutter/lib/ui", | |
| "//flutter/shell/common", | |
| "//third_party/dart/runtime:libdart_jit", | |
| "//third_party/dart/runtime/platform:libdart_platform_jit", | |
| ] | |
| deps = [ | |
| ":flutter_runner_fixtures", | |
| ":flutter_runner_sources", | |
| "//build/fuchsia/pkg:sys_cpp_testing", | |
| "//flutter/testing", | |
| ] + flutter_deps | |
| } | |
| executable("flutter_runner_tzdata_unittests") { | |
| testonly = true | |
| output_name = "flutter_runner_tzdata_tests" | |
| sources = [ "runner_tzdata_unittest.cc" ] | |
| # This is needed for //third_party/googletest for linking zircon symbols. | |
| libs = [ "//fuchsia/sdk/$host_os/arch/$target_cpu/sysroot/lib/libzircon.so" ] | |
| # The use of these dependencies is temporary and will be moved behind the | |
| # embedder API. | |
| flutter_deps = [ | |
| "//flutter/lib/ui", | |
| "//third_party/dart/runtime:libdart_jit", | |
| "//third_party/dart/runtime/platform:libdart_platform_jit", | |
| ] | |
| deps = [ | |
| ":flutter_runner_fixtures", | |
| ":flutter_runner_sources", | |
| "//flutter/testing", | |
| ] + flutter_deps | |
| } | |
| executable("flutter_runner_scenic_unittests") { | |
| testonly = true | |
| output_name = "flutter_runner_scenic_tests" | |
| sources = [ "tests/session_connection_unittests.cc" ] | |
| # This is needed for //third_party/googletest for linking zircon symbols. | |
| libs = [ "//fuchsia/sdk/$host_os/arch/$target_cpu/sysroot/lib/libzircon.so" ] | |
| # The use of these dependencies is temporary and will be moved behind the | |
| # embedder API. | |
| flutter_deps = [ | |
| "//flutter/lib/ui", | |
| "//third_party/dart/runtime:libdart_jit", | |
| "//third_party/dart/runtime/platform:libdart_platform_jit", | |
| ] | |
| deps = [ | |
| ":flutter_runner_fixtures", | |
| ":flutter_runner_sources", | |
| "$fuchsia_sdk_root/fidl:fuchsia.ui.policy", | |
| "//flutter/testing", | |
| ] + flutter_deps | |
| } | |
| fuchsia_archive("flutter_runner_tests") { | |
| testonly = true | |
| deps = [ ":flutter_runner_unittests" ] | |
| binary = "$target_name" | |
| resources = [ | |
| { | |
| path = rebase_path("//third_party/icu/common/icudtl.dat") | |
| dest = "icudtl.dat" | |
| }, | |
| { | |
| path = rebase_path( | |
| "//flutter/shell/platform/fuchsia/flutter/tests/tzdata/2019a/44/le/metaZones.res") | |
| dest = "tzdata/metaZones.res" | |
| }, | |
| { | |
| path = rebase_path( | |
| "//flutter/shell/platform/fuchsia/flutter/tests/tzdata/2019a/44/le/timezoneTypes.res") | |
| dest = "tzdata/timezoneTypes.res" | |
| }, | |
| { | |
| path = rebase_path( | |
| "//flutter/shell/platform/fuchsia/flutter/tests/tzdata/2019a/44/le/zoneinfo64.res") | |
| dest = "tzdata/zoneinfo64.res" | |
| }, | |
| ] | |
| meta_dir = "//flutter/shell/platform/fuchsia/flutter/meta" | |
| libraries = common_libs | |
| meta = [ | |
| { | |
| path = rebase_path("meta/$target_name.cmx") | |
| dest = "$target_name.cmx" | |
| }, | |
| ] | |
| } | |
| fuchsia_archive("flutter_runner_tzdata_tests") { | |
| testonly = true | |
| deps = [ ":flutter_runner_tzdata_unittests" ] | |
| binary = "$target_name" | |
| resources = [ | |
| { | |
| path = rebase_path("//third_party/icu/common/icudtl.dat") | |
| dest = "icudtl.dat" | |
| }, | |
| ] | |
| meta_dir = "//flutter/shell/platform/fuchsia/flutter/meta" | |
| libraries = common_libs | |
| meta = [ | |
| { | |
| path = rebase_path("meta/$target_name.cmx") | |
| dest = "$target_name.cmx" | |
| }, | |
| ] | |
| } | |
| fuchsia_archive("flutter_runner_scenic_tests") { | |
| testonly = true | |
| deps = [ ":flutter_runner_scenic_unittests" ] | |
| binary = "$target_name" | |
| resources = [ | |
| { | |
| path = rebase_path("//third_party/icu/common/icudtl.dat") | |
| dest = "icudtl.dat" | |
| }, | |
| ] | |
| meta_dir = "//flutter/shell/platform/fuchsia/flutter/meta" | |
| libraries = common_libs | |
| meta = [ | |
| { | |
| path = rebase_path("meta/$target_name.cmx") | |
| dest = "$target_name.cmx" | |
| }, | |
| ] | |
| } | |
| fuchsia_test_archive("fml_tests") { | |
| deps = [ "//flutter/fml:fml_unittests" ] | |
| binary = "fml_unittests" | |
| } | |
| fuchsia_test_archive("flow_tests") { | |
| deps = [ "//flutter/flow:flow_unittests" ] | |
| binary = "flow_unittests" | |
| resources = [ | |
| { | |
| path = rebase_path( | |
| "//flutter/testing/resources/performance_overlay_gold_60fps.png") | |
| dest = "flutter/testing/resources/performance_overlay_gold_60fps.png" | |
| }, | |
| { | |
| path = rebase_path( | |
| "//flutter/testing/resources/performance_overlay_gold_90fps.png") | |
| dest = "flutter/testing/resources/performance_overlay_gold_90fps.png" | |
| }, | |
| { | |
| path = rebase_path( | |
| "//flutter/testing/resources/performance_overlay_gold_120fps.png") | |
| dest = "flutter/testing/resources/performance_overlay_gold_120fps.png" | |
| }, | |
| ] | |
| } | |
| fuchsia_test_archive("runtime_tests") { | |
| deps = [ | |
| "//flutter/runtime:runtime_fixtures", | |
| "//flutter/runtime:runtime_unittests", | |
| ] | |
| binary = "runtime_unittests" | |
| # TODO(gw280): https://github.com/flutter/flutter/issues/50294 | |
| # Right now we need to manually specify all the fixtures that are | |
| # declared in the test_fixtures() call above. | |
| resources = [ | |
| { | |
| path = "$root_gen_dir/flutter/runtime/assets/kernel_blob.bin" | |
| dest = "assets/kernel_blob.bin" | |
| }, | |
| ] | |
| } | |
| fuchsia_test_archive("shell_tests") { | |
| deps = [ | |
| "//flutter/shell/common:shell_unittests", | |
| "//flutter/shell/common:shell_unittests_fixtures", | |
| ] | |
| binary = "shell_unittests" | |
| # TODO(gw280): https://github.com/flutter/flutter/issues/50294 | |
| # Right now we need to manually specify all the fixtures that are | |
| # declared in the test_fixtures() call above. | |
| resources = [ | |
| { | |
| path = "$root_gen_dir/flutter/shell/common/assets/kernel_blob.bin" | |
| dest = "assets/kernel_blob.bin" | |
| }, | |
| { | |
| path = | |
| "$root_gen_dir/flutter/shell/common/assets/shelltest_screenshot.png" | |
| dest = "assets/shelltest_screenshot.png" | |
| }, | |
| ] | |
| libraries = vulkan_validation_libs | |
| resources += vulkan_icds | |
| } | |
| fuchsia_test_archive("testing_tests") { | |
| deps = [ "//flutter/testing:testing_unittests" ] | |
| binary = "testing_unittests" | |
| } | |
| fuchsia_test_archive("txt_tests") { | |
| deps = [ "//flutter/third_party/txt:txt_unittests" ] | |
| binary = "txt_unittests" | |
| resources = [ | |
| { | |
| path = rebase_path("//third_party/icu/common/icudtl.dat") | |
| dest = "icudtl.dat" | |
| }, | |
| { | |
| path = rebase_path("//third_party/icu/common/icudtl.dat") | |
| dest = "icudtl2.dat" | |
| }, | |
| ] | |
| } | |
| fuchsia_test_archive("ui_tests") { | |
| deps = [ | |
| "//flutter/lib/ui:ui_unittests", | |
| "//flutter/lib/ui:ui_unittests_fixtures", | |
| ] | |
| binary = "ui_unittests" | |
| # TODO(gw280): https://github.com/flutter/flutter/issues/50294 | |
| # Right now we need to manually specify all the fixtures that are | |
| # declared in the test_fixtures() call above. | |
| resources = [ | |
| { | |
| path = "$root_gen_dir/flutter/lib/ui/assets/kernel_blob.bin" | |
| dest = "assets/kernel_blob.bin" | |
| }, | |
| { | |
| path = "$root_gen_dir/flutter/lib/ui/assets/DashInNooglerHat.jpg" | |
| dest = "assets/DashInNooglerHat.jpg" | |
| }, | |
| { | |
| path = "$root_gen_dir/flutter/lib/ui/assets/Horizontal.jpg" | |
| dest = "assets/Horizontal.jpg" | |
| }, | |
| { | |
| path = "$root_gen_dir/flutter/lib/ui/assets/Horizontal.png" | |
| dest = "assets/Horizontal.png" | |
| }, | |
| { | |
| path = "$root_gen_dir/flutter/lib/ui/assets/hello_loop_2.gif" | |
| dest = "assets/hello_loop_2.gif" | |
| }, | |
| { | |
| path = "$root_gen_dir/flutter/lib/ui/assets/hello_loop_2.webp" | |
| dest = "assets/hello_loop_2.webp" | |
| }, | |
| ] | |
| libraries = vulkan_validation_libs | |
| resources += vulkan_icds | |
| } | |
| # When adding a new dep here, please also ensure the dep is added to | |
| # testing/fuchsia/run_tests.sh and testing/fuchsia/test_fars | |
| group("tests") { | |
| testonly = true | |
| deps = [ | |
| ":flow_tests", | |
| ":flutter_runner_scenic_tests", | |
| ":flutter_runner_tests", | |
| ":flutter_runner_tzdata_tests", | |
| ":fml_tests", | |
| ":runtime_tests", | |
| ":shell_tests", | |
| ":testing_tests", | |
| ":txt_tests", | |
| ":ui_tests", | |
| ] | |
| } |