| # Copyright 2018 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # TODO(https://crbug.com/1164001): When a directory which contains WebUIs grd |
| # moves to ash, a target should be moved to //ash/webui/resources/BUILD.gn as |
| # well. |
| |
| import("//chromeos/assistant/assistant.gni") |
| import("//chromeos/components/eche_app_ui/eche_app_ui.gni") |
| import("//chromeos/components/projector_app/projector_app.gni") |
| import("//tools/grit/grit_rule.gni") |
| |
| assert(is_chromeos, "Non-ChromeOS builds cannot depend on //chromeos") |
| |
| grit("resources") { |
| source = "chromeos_resources.grd" |
| |
| outputs = [ |
| "grit/chromeos_resources.h", |
| "grit/chromeos_resources_map.cc", |
| "grit/chromeos_resources_map.h", |
| "chromeos_resources.pak", |
| ] |
| output_dir = "$root_gen_dir/chromeos" |
| |
| defines = [ |
| "enable_cros_libassistant=$enable_cros_libassistant", |
| "enable_cros_eche_app=$enable_cros_eche_app", |
| ] |
| |
| grit_flags = [ |
| "-E", |
| "mojom_root=" + rebase_path(root_gen_dir, root_build_dir), |
| ] |
| |
| deps = [ |
| "//chromeos/components/multidevice/mojom:mojom_js", |
| "//chromeos/language/public/mojom:mojom_js", |
| "//chromeos/services/bluetooth_config/public/mojom:mojom_js", |
| "//chromeos/services/cellular_setup/public/mojom:mojom_js", |
| "//chromeos/services/device_sync/public/mojom:mojom_js", |
| |
| # Generated ml service js bindings are required by external clients, the |
| # clients are not found within Chromium. The clients pull the generated |
| # js bindings as part of their build process. |
| "//chromeos/services/machine_learning/public/mojom:mojom_js", |
| "//chromeos/services/multidevice_setup/public/mojom:mojom_js", |
| "//chromeos/services/network_config/public/mojom:mojom_js", |
| "//chromeos/services/network_health/public/mojom:mojom_js", |
| ] |
| } |
| |
| # Convenience template for WebUIs using generate_grd. |
| # TODO(calamity): Further deduplicate with non-generated grit targets. |
| template("chromeos_generated_grit") { |
| grit(target_name) { |
| forward_variables_from(invoker, |
| [ |
| "deps", |
| "source", |
| ]) |
| |
| # These arguments are needed since the grd is generated at build time. |
| enable_input_discovery_for_gn_analyze = false |
| outputs = [ |
| "chromeos_$target_name.pak", |
| "grit/chromeos_$target_name.h", |
| "grit/chromeos_${target_name}_map.cc", |
| "grit/chromeos_${target_name}_map.h", |
| ] |
| output_dir = "$root_gen_dir/chromeos" |
| } |
| } |
| |
| # Resources used by chrome://camera-app. |
| chromeos_generated_grit("camera_app_resources") { |
| source = "$root_gen_dir/chromeos/components/camera_app_ui/chromeos_camera_app_resources.grd" |
| deps = [ "//chromeos/components/camera_app_ui:build_grd" ] |
| } |
| |
| # Resources used by chrome://eche-app |
| chromeos_generated_grit("eche_app_resources") { |
| source = "$root_gen_dir/chromeos/components/eche_app_ui/chromeos_eche_app_resources.grd" |
| deps = [ "//chromeos/components/eche_app_ui:build_grd" ] |
| } |
| |
| # Resources used by chrome://personalization SWA. |
| chromeos_generated_grit("personalization_app_resources") { |
| source = "$root_gen_dir/chromeos/components/personalization_app/resources/chromeos_personalization_app_resources.grd" |
| deps = [ "//chromeos/components/personalization_app/resources:build_grd" ] |
| } |
| |
| # Resources used by chrome-untrusted://projector SWA. |
| chromeos_generated_grit("projector_app_untrusted_resources") { |
| source = "$root_gen_dir/chromeos/components/projector_app/resources/chromeos_projector_app_untrusted_resources.grd" |
| deps = [ "//chromeos/components/projector_app/resources:build_untrusted_grd" ] |
| } |
| |
| # Resources used by chrome://projector SWA. |
| chromeos_generated_grit("projector_app_trusted_resources") { |
| source = "$root_gen_dir/chromeos/components/projector_app/resources/chromeos_projector_app_trusted_resources.grd" |
| deps = [ "//chromeos/components/projector_app/resources:build_trusted_grd" ] |
| } |
| |
| # Resources automatically served by the chrome-untrusted://projector bundle, obtained via DEPS. |
| grit("projector_app_bundle_resources") { |
| if (enable_cros_projector_app) { |
| # Obtained via an internal CIPD package in src/DEPS. |
| source = "../components/projector_app/resources/prod/projector_app_bundle_resources.grd" |
| } else { |
| source = "../components/projector_app/resources/mock/projector_app_bundle_mock_resources.grd" |
| } |
| |
| use_brotli = true |
| |
| outputs = [ |
| "grit/chromeos_projector_app_bundle_resources.h", |
| "grit/chromeos_projector_app_bundle_resources_map.cc", |
| "grit/chromeos_projector_app_bundle_resources_map.h", |
| "chromeos_projector_app_bundle_resources.pak", |
| ] |
| output_dir = "$root_gen_dir/chromeos" |
| } |
| |
| # Resources used by chrome://connectivity-diagnostics |
| grit("connectivity_diagnostics_resources") { |
| # These arguments are needed since the grd is generated at build time. |
| enable_input_discovery_for_gn_analyze = false |
| conn_diag_gen_dir = |
| "$root_gen_dir/chromeos/components/connectivity_diagnostics/resources" |
| source = "$conn_diag_gen_dir/connectivity_diagnostics_resources.grd" |
| |
| deps = |
| [ "//chromeos/components/connectivity_diagnostics/resources:build_grd" ] |
| |
| outputs = [ |
| "connectivity_diagnostics_resources.pak", |
| "grit/connectivity_diagnostics_resources.h", |
| "grit/connectivity_diagnostics_resources_map.cc", |
| "grit/connectivity_diagnostics_resources_map.h", |
| ] |
| |
| output_dir = "$root_gen_dir/chromeos" |
| } |
| |
| # Resources automatically served by the chrome://eche-app bundle, obtained via DEPS. |
| grit("eche_bundle_resources") { |
| # Obtained via an internal CIPD package in src/DEPS. |
| if (enable_cros_eche_app) { |
| # Obtained via an internal CIPD package in src/DEPS. |
| source = |
| "../components/eche_app_ui/resources/prod/eche_bundle_resources.grd" |
| } else { |
| source = "../components/eche_app_ui/resources/mock/eche_bundle_mock_resources.grd" |
| } |
| |
| use_brotli = true |
| |
| outputs = [ |
| "grit/chromeos_eche_bundle_resources.h", |
| "grit/chromeos_eche_bundle_resources_map.cc", |
| "grit/chromeos_eche_bundle_resources_map.h", |
| "chromeos_eche_bundle_resources.pak", |
| ] |
| output_dir = "$root_gen_dir/chromeos" |
| } |