| # Copyright 2014 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. |
| |
| import("//chrome/common/features.gni") |
| import("//third_party/closure_compiler/compile_js.gni") |
| import("//tools/grit/grit_rule.gni") |
| import("//tools/grit/preprocess_if_expr.gni") |
| import("//ui/webui/resources/tools/generate_grd.gni") |
| |
| grit("resources") { |
| source = "file_manager_resources.grd" |
| outputs = [ |
| "grit/file_manager_resources.h", |
| "grit/file_manager_resources_map.cc", |
| "grit/file_manager_resources_map.h", |
| "file_manager_resources.pak", |
| "file_manager_resources.rc", |
| ] |
| } |
| |
| component("file_manager") { |
| sources = [ "file_manager_export.h" ] |
| public_deps = [ |
| ":file_manager_gen_resources", |
| ":resources", |
| "//base", |
| ] |
| defines = [ "FILE_MANAGER_IMPLEMENTATION" ] |
| } |
| |
| group("closure_compile") { |
| # Subfolders' closure_compile groups bundle the non-test "module" type-check |
| # groups as well as unittests and test_support. |
| testonly = true |
| |
| deps = [ |
| "audio_player/elements:closure_compile", |
| "audio_player/js:closure_compile", |
| "base/js:closure_compile", |
| "file_manager/background/js:closure_compile", |
| "file_manager/common/js:closure_compile", |
| "file_manager/foreground/elements:closure_compile", |
| "file_manager/foreground/js:closure_compile", |
| "file_manager/foreground/js/metadata:closure_compile", |
| "file_manager/foreground/js/ui:closure_compile", |
| "file_manager/test:closure_compile", |
| "gallery/js:closure_compile", |
| "gallery/js/image_editor:closure_compile", |
| "image_loader:closure_compile", |
| "integration_tests:closure_compile", |
| "integration_tests/file_manager:closure_compile", |
| "video_player/js:closure_compile", |
| ] |
| } |
| |
| group("unit_test_data") { |
| testonly = true |
| deps = [ |
| "base/js:js_test_gen_html", |
| "file_manager/background/js:js_test_gen_html_modules", |
| "file_manager/common/js:js_test_gen_html_modules", |
| "file_manager/foreground/elements:js_test_gen_html_modules", |
| "file_manager/foreground/js:js_test_gen_html", |
| "file_manager/foreground/js:js_test_gen_html_modules", |
| "file_manager/foreground/js/metadata:js_test_gen_html_modules", |
| "file_manager/foreground/js/ui:js_test_gen_html_modules", |
| "gallery/js:js_test_gen_html", |
| "gallery/js/image_editor:js_test_gen_html", |
| "gallery/js/image_editor:js_test_gen_html_modules", |
| "image_loader:js_test_gen_html", |
| "image_loader:js_test_gen_html_modules", |
| "video_player/js:js_test_gen_html_modules", |
| ] |
| } |
| |
| preprocess_folder = "$target_gen_dir/preprocessed" |
| |
| # Move files to the preprocessed folder to combine all resources in the same |
| # folder for JS bundling with rollup. |
| # This is for files direct from the src/: input_folder="./". |
| preprocess_if_expr("preprocess_static") { |
| in_folder = "./" |
| out_folder = preprocess_folder |
| |
| in_files = [ |
| "audio_player/js/main.m.js", |
| "audio_player/js/main_background.m.js", |
| "file_manager/background/js/main_background.m.js", |
| "video_player/js/main.m.js", |
| "video_player/js/main_background.m.js", |
| ] |
| |
| deps = [ |
| "//ui/file_manager/audio_player/js:main.m", |
| "//ui/file_manager/audio_player/js:main_background.m", |
| "//ui/file_manager/file_manager/background/js:main_background.m", |
| "//ui/file_manager/video_player/js:main.m", |
| "//ui/file_manager/video_player/js:main_background.m", |
| ] |
| } |
| |
| # This is for files that are generated in "gen/": input_folder=target_gen_dir. |
| preprocess_if_expr("preprocess_generated") { |
| in_folder = target_gen_dir |
| out_folder = preprocess_folder |
| |
| in_files = [ |
| # Audio Player: |
| "audio_player/js/error_util.m.js", |
| "audio_player/js/test_util.m.js", |
| "audio_player/js/background.m.js", |
| "audio_player/js/audio_player.m.js", |
| "audio_player/js/metadata_worker.m.js", |
| "audio_player/elements/audio_player.m.js", |
| "audio_player/elements/track_info_panel.m.js", |
| "audio_player/elements/track_list.m.js", |
| "audio_player/elements/control_panel.m.js", |
| "audio_player/elements/repeat_button.m.js", |
| |
| # Base: |
| "base/js/app_util.m.js", |
| "base/js/error_counter.m.js", |
| "base/js/filtered_volume_manager.m.js", |
| "base/js/mediasession_types.m.js", |
| "base/js/volume_manager_types.m.js", |
| |
| # Common: |
| "file_manager/common/js/async_util.m.js", |
| "file_manager/common/js/file_operation_common.m.js", |
| "file_manager/common/js/file_type.m.js", |
| "file_manager/common/js/files_app_entry_types.m.js", |
| "file_manager/common/js/importer_common.m.js", |
| "file_manager/common/js/lru_cache.m.js", |
| "file_manager/common/js/metrics.m.js", |
| "file_manager/common/js/metrics_base.m.js", |
| "file_manager/common/js/progress_center_common.m.js", |
| "file_manager/common/js/trash.m.js", |
| "file_manager/common/js/util.m.js", |
| |
| # Externs: |
| "externs/background/background_base.m.js", |
| "externs/background/crostini.m.js", |
| "externs/background/drive_sync_handler.m.js", |
| "externs/background/duplicate_finder.m.js", |
| "externs/background/file_browser_background_full.m.js", |
| "externs/background/file_operation_manager.m.js", |
| "externs/background/import_history.m.js", |
| "externs/background/media_import_handler.m.js", |
| "externs/background/media_scanner.m.js", |
| "externs/background/progress_center.m.js", |
| "externs/background/task_queue.m.js", |
| "externs/entry_location.m.js", |
| "externs/exif_entry.m.js", |
| "externs/files_app_entry_interfaces.m.js", |
| "externs/metadata_worker_window.m.js", |
| "externs/progress_center_panel.m.js", |
| "externs/volume_info.m.js", |
| "externs/volume_info_list.m.js", |
| "externs/volume_manager.m.js", |
| |
| # Files app Background: |
| "file_manager/background/js/app_window_wrapper.m.js", |
| "file_manager/background/js/app_windows.m.js", |
| "file_manager/background/js/background.m.js", |
| "file_manager/background/js/background_base.m.js", |
| "file_manager/background/js/crostini.m.js", |
| "file_manager/background/js/device_handler.m.js", |
| "file_manager/background/js/drive_sync_handler.m.js", |
| "file_manager/background/js/duplicate_finder.m.js", |
| "file_manager/background/js/entry_location_impl.m.js", |
| "file_manager/background/js/file_operation_handler.m.js", |
| "file_manager/background/js/file_operation_manager.m.js", |
| "file_manager/background/js/file_operation_util.m.js", |
| "file_manager/background/js/import_history.m.js", |
| "file_manager/background/js/launcher.m.js", |
| "file_manager/background/js/launcher_search.m.js", |
| "file_manager/background/js/media_import_handler.m.js", |
| "file_manager/background/js/media_scanner.m.js", |
| "file_manager/background/js/metadata_proxy.m.js", |
| "file_manager/background/js/metrics_start.m.js", |
| "file_manager/background/js/mount_metrics.m.js", |
| "file_manager/background/js/progress_center.m.js", |
| "file_manager/background/js/task_queue.m.js", |
| "file_manager/background/js/test_util.m.js", |
| "file_manager/background/js/test_util_base.m.js", |
| "file_manager/background/js/trash.m.js", |
| "file_manager/background/js/volume_info_impl.m.js", |
| "file_manager/background/js/volume_info_list_impl.m.js", |
| "file_manager/background/js/volume_manager_factory.m.js", |
| "file_manager/background/js/volume_manager_impl.m.js", |
| "file_manager/background/js/volume_manager_util.m.js", |
| |
| # Files app Foreground: |
| "file_manager/foreground/js/thumbnail_loader.m.js", |
| |
| # Files app Elements: |
| "file_manager/foreground/elements/files_icon_button.m.js", |
| |
| # Image Loader: |
| "image_loader/image_loader_client.m.js", |
| "image_loader/load_image_request.m.js", |
| |
| # Metadata: |
| "file_manager/foreground/js/metadata/content_metadata_provider.m.js", |
| "file_manager/foreground/js/metadata/external_metadata_provider.m.js", |
| "file_manager/foreground/js/metadata/file_system_metadata_provider.m.js", |
| "file_manager/foreground/js/metadata/multi_metadata_provider.m.js", |
| "file_manager/foreground/js/metadata/metadata_model.m.js", |
| "file_manager/foreground/js/metadata/metadata_cache_item.m.js", |
| "file_manager/foreground/js/metadata/metadata_item.m.js", |
| "file_manager/foreground/js/metadata/metadata_provider.m.js", |
| "file_manager/foreground/js/metadata/metadata_cache_set.m.js", |
| "file_manager/foreground/js/metadata/metadata_request.m.js", |
| "file_manager/foreground/js/metadata/image_orientation.m.js", |
| "file_manager/foreground/js/metadata/metadata_dispatcher.m.js", |
| "file_manager/foreground/js/metadata/image_parsers.m.js", |
| "file_manager/foreground/js/metadata/exif_parser.m.js", |
| "file_manager/foreground/js/metadata/id3_parser.m.js", |
| "file_manager/foreground/js/metadata/metadata_parser.m.js", |
| "file_manager/foreground/js/metadata/mpeg_parser.m.js", |
| "file_manager/foreground/js/metadata/byte_reader.m.js", |
| "file_manager/foreground/js/metadata/function_parallel.m.js", |
| "file_manager/foreground/js/metadata/function_sequence.m.js", |
| "file_manager/foreground/js/metadata/exif_constants.m.js", |
| |
| # Video Player: |
| "video_player/js/error_util.m.js", |
| "video_player/js/test_util.m.js", |
| "video_player/js/background.m.js", |
| "video_player/js/video_player.m.js", |
| "video_player/js/video_player_native_controls.m.js", |
| "video_player/js/video_player_metrics.m.js", |
| ] |
| |
| deps = [ |
| "//ui/file_manager/audio_player/elements:elements", |
| "//ui/file_manager/audio_player/js:modulize", |
| "//ui/file_manager/base/js:modulize", |
| "//ui/file_manager/externs:modulize", |
| "//ui/file_manager/externs/background:modulize", |
| "//ui/file_manager/file_manager/background/js:modulize", |
| "//ui/file_manager/file_manager/common/js:modulize", |
| "//ui/file_manager/file_manager/foreground/elements:elements", |
| "//ui/file_manager/file_manager/foreground/js:modulize", |
| "//ui/file_manager/file_manager/foreground/js/metadata:modulize", |
| "//ui/file_manager/image_loader:modulize", |
| "//ui/file_manager/video_player/js:modulize", |
| ] |
| } |
| |
| grd_prefix = "file_manager_gen" |
| generated_grd = "$target_gen_dir/${grd_prefix}_resources.grd" |
| |
| generate_grd("build_grd") { |
| out_grd = generated_grd |
| |
| input_files_base_dir = rebase_path(target_gen_dir, root_build_dir) |
| input_files = [ |
| "audio_player/js/main.m.rollup.js", |
| "audio_player/js/main_background.m.rollup.js", |
| "audio_player/js/metadata_worker.m.rollup.js", |
| |
| "file_manager/background/js/main_background.m.rollup.js", |
| "file_manager/foreground/elements/files_icon_button.m.js", |
| "file_manager/foreground/elements/files_toggle_ripple.m.js", |
| "file_manager/foreground/elements/files_ripple.m.js", |
| |
| "video_player/js/main.m.rollup.js", |
| "video_player/js/main_background.m.rollup.js", |
| ] |
| |
| resource_path_rewrites = [ |
| "audio_player/js/main.m.rollup.js|audio_player/js/main.m.js", |
| "audio_player/js/main_background.m.rollup.js|audio_player/js/main_background.m.js", |
| "audio_player/js/metadata_worker.m.rollup.js|audio_player/js/metadata_worker.m.js", |
| "file_manager/background/js/main_background.m.rollup.js|file_manager/background/js/main_background.m.js", |
| "video_player/js/main.m.rollup.js|video_player/js/main.m.js", |
| "video_player/js/main_background.m.rollup.js|video_player/js/main_background.m.js", |
| ] |
| |
| grdp_files = [ |
| "$target_gen_dir/audio_player/static_resources.grdp", |
| "$target_gen_dir/file_manager/static_resources.grdp", |
| ] |
| |
| deps = [ |
| "audio_player:build_static_grdp", |
| "file_manager:build_static_grdp", |
| "//ui/file_manager/audio_player/js:build", |
| "//ui/file_manager/audio_player/js:build_background", |
| "//ui/file_manager/audio_player/js:build_worker", |
| "//ui/file_manager/file_manager/background/js:build", |
| "//ui/file_manager/file_manager/foreground/elements:elements", |
| "//ui/file_manager/video_player/js:build", |
| "//ui/file_manager/video_player/js:build_background", |
| ] |
| } |
| |
| # Resources for the JS modules. |
| grit("file_manager_gen_resources") { |
| defines = chrome_grit_defines |
| |
| # These arguments are needed since the grd is generated at build time. |
| enable_input_discovery_for_gn_analyze = false |
| |
| source = generated_grd |
| deps = [ ":build_grd" ] |
| |
| outputs = [ |
| "grit/file_manager_gen_resources.h", |
| "grit/file_manager_gen_resources_map.cc", |
| "grit/file_manager_gen_resources_map.h", |
| "file_manager_gen_resources.pak", |
| ] |
| output_dir = target_gen_dir |
| } |