blob: 4bef07cd7c1997a037ac3adb598fd5c903d90d65 [file] [log] [blame]
Avi Drissman3e1a26c2022-09-15 20:26:031# Copyright 2020 The Chromium Authors
Luciano Pachecod4a896072020-01-14 11:07:502# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
Luciano Pacheco23364a22023-10-17 01:24:345import("//tools/typescript/ts_library.gni")
Luciano Pachecod4a896072020-01-14 11:07:506
Luciano Pachecoa2319c02023-10-17 00:59:527preprocess_folder = "$target_gen_dir/preprocessed"
Luciano Pacheco23364a22023-10-17 01:24:348tsc_folder = "$target_gen_dir/tsc"
Luciano Pachecoa2319c02023-10-17 00:59:529
Luciano Pachecoa2319c02023-10-17 00:59:5210js_files = [
Luciano Pacheco41a49472024-02-14 22:41:3311 "test_util.ts",
Luciano Pachecoa2319c02023-10-17 00:59:5212
13 # File Manager.
Luciano Pachecoa2319c02023-10-17 00:59:5214 "file_manager/transfer.js",
Luciano Pachecoa2319c02023-10-17 00:59:5215]
16
Luciano Pacheco23364a22023-10-17 01:24:3417ts_files = [
Luciano Pacheco2aa66872024-02-14 00:00:3518 "remote_call.ts",
Luciano Pachecob1272ad2024-01-22 02:22:1419 "testcase.ts",
20
Luciano Pacheco3c2de2ff2024-02-05 09:26:2521 # "test_util.ts",
22
23 # File Manager.
24 "file_manager/android_photos.ts",
25
Luciano Pachecoa56523a2024-02-14 23:05:4426 "file_manager/background.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2527
Ben Reich3be51caa2024-02-13 00:59:3928 "file_manager/breadcrumbs.ts",
Luciano Pacheco23364a22023-10-17 01:24:3429 "file_manager/choose_entry.ts",
30 "file_manager/choose_entry_const.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2531
Ben Reich282c52e2024-02-14 05:14:2132 "file_manager/context_menu.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2533
Ben Reich02c27f632024-02-13 06:56:3934 "file_manager/copy_between_windows.ts",
Ben Reichbea72ee2024-02-14 01:26:4235 "file_manager/create_new_folder.ts",
François Degrosce09bdf2024-02-14 02:35:1636 "file_manager/crostini.ts",
Wenbo Jie462ac7f2024-02-07 03:12:5537 "file_manager/directory_tree.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2538
Luciano Pacheco16d23d62024-02-15 02:53:0539 "file_manager/directory_tree_context_menu.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2540
Luciano Pachecoa65c2792024-02-15 04:09:2041 "file_manager/dlp.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2542
Luciano Pachecocf67cc0272024-02-15 11:23:2743 "file_manager/dlp_enterprise_connectors.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2544
Luciano Pacheco432700e2024-02-15 01:23:0945 "file_manager/drive_specific.ts",
François Degros39c1f292024-02-15 05:18:3346 "file_manager/file_dialog.ts",
François Degrosf7ea6bb2024-02-13 05:48:3047 "file_manager/file_display.ts",
Ben Reich5dd10702024-02-13 04:53:5948 "file_manager/file_list.ts",
Luciano Pacheco8f01a352024-02-15 03:33:1349 "file_manager/file_transfer_connector.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2550 "file_manager/files_tooltip.ts",
François Degros29c4db2d2024-02-14 03:47:1551 "file_manager/folder_shortcuts.ts",
Ben Reich00a488b2024-02-13 01:00:5752 "file_manager/format_dialog.ts",
François Degrosc6090062024-02-15 02:54:4953 "file_manager/gear_menu.ts",
Ben Reicheb1b49d2024-02-13 07:26:2054 "file_manager/grid_view.ts",
Ben Reichb6f29e32024-02-13 06:46:4455 "file_manager/guest_os.ts",
François Degros1fdd44c5252024-02-15 05:36:0356 "file_manager/holding_space.ts",
François Degros7f74c2c2024-02-14 01:29:3657 "file_manager/install_linux_package_dialog.ts",
Ben Reicha2e15312024-02-13 04:06:0958 "file_manager/keyboard_operations.ts",
Ben Reichfde927892024-02-12 03:18:2759 "file_manager/manage_dialog.ts",
Ben Reichd6282c882024-02-13 06:33:4960 "file_manager/metadata.ts",
Ben Reich71eeaa22024-02-14 00:35:3161 "file_manager/metrics.ts",
Ben Reich77b351b2024-02-13 00:58:4362 "file_manager/my_files.ts",
François Degros319b9c52024-02-09 05:23:4863 "file_manager/navigation.ts",
Ben Reich00d34012024-02-13 04:54:5364 "file_manager/office.ts",
Austin Tankiangfdbe72182024-02-07 03:01:4065 "file_manager/open_audio_media_app.ts",
Austin Tankiang4a39f6712024-02-07 07:39:2466 "file_manager/open_files_in_web_drive.ts",
Austin Tankiangfdbe72182024-02-07 03:01:4067 "file_manager/open_image_media_app.ts",
68 "file_manager/open_media_app.ts",
Austin Tankianged3497ed2024-02-07 03:34:3669 "file_manager/open_sniffed_files.ts",
Austin Tankiangfdbe72182024-02-07 03:01:4070 "file_manager/open_video_media_app.ts",
Ben Reicha47f3e92024-02-13 05:41:2971 "file_manager/providers.ts",
François Degros441cb812024-02-13 00:42:1772 "file_manager/quick_view.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2573
Luciano Pacheco91127112024-02-15 04:47:0274 "file_manager/recents.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2575
François Degros29b92522024-02-14 01:11:1176 "file_manager/restore_prefs.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2577
Bo Majewski8f76eab2024-02-15 23:10:1378 "file_manager/search.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2579
François Degros9f40f472024-02-11 23:49:4580 "file_manager/share.ts",
Ben Reich646c8752024-02-13 05:30:3381 "file_manager/sort_columns.ts",
François Degros61a5cc852024-02-14 03:59:4882 "file_manager/tab_index.ts",
Ben Reichc19b6bd2024-02-13 07:27:5983 "file_manager/tasks.ts",
François Degrosc7e8fa672024-02-14 04:36:3984 "file_manager/test_data.ts",
Ben Reich994c80b2024-02-13 04:44:5885 "file_manager/toolbar.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2586
87 # "file_manager/transfer.ts",
88
Wenbo Jiedaf26742024-02-07 05:01:1089 "file_manager/trash.ts",
François Degroscad34e22024-02-12 00:37:4190 "file_manager/traverse.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2591
François Degros88587972024-02-13 04:07:3292 "file_manager/zip_files.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2593
94 # Page Objects.
François Degrosd2642762024-02-15 01:35:2995 "file_manager/page_objects/directory_tree.ts",
Luciano Pacheco23364a22023-10-17 01:24:3496]
97
Luciano Pachecoa2319c02023-10-17 00:59:5298# TS/JS files.
99copy("copy_src") {
Luciano Pacheco23364a22023-10-17 01:24:34100 sources = js_files + ts_files
Luciano Pachecoa2319c02023-10-17 00:59:52101 outputs = [ "$preprocess_folder/{{source_target_relative}}" ]
102}
103
Luciano Pacheco63be2c42024-02-01 06:50:30104copy("from_files_app") {
105 sources = [ "../file_manager/common/js/shared_types.ts" ]
106 outputs = [ "$preprocess_folder/prod/file_manager/{{source_file_part}}" ]
107 deps = [ "//ui/file_manager:generate_definitions" ]
108}
109
Luciano Pachecoa2319c02023-10-17 00:59:52110# All non JS/TS files.
111copy("copy_app") {
112 sources = [
113 "file_manager/background.html",
114 "file_manager/choose_entry.html",
115 "file_manager_test_manifest.json",
116 ]
Luciano Pacheco23364a22023-10-17 01:24:34117 outputs = [ "$tsc_folder/{{source_target_relative}}" ]
118}
119
120ts_library("build_ts") {
121 root_dir = preprocess_folder
122 out_dir = tsc_folder
123 tsconfig_base = "tsconfig_base.json"
124 composite = true
125
126 definitions = [
Luciano Pachecob1272ad2024-01-22 02:22:14127 "//tools/typescript/definitions/chrome_test.d.ts",
Luciano Pacheco23364a22023-10-17 01:24:34128 "//tools/typescript/definitions/runtime.d.ts",
129 "//tools/typescript/definitions/file_system.d.ts",
Luciano Pachecob1272ad2024-01-22 02:22:14130 "//tools/typescript/definitions/windows.d.ts",
Luciano Pacheco432700e2024-02-15 01:23:09131 "//ui/file_manager/file_manager/definitions/file_manager_private.d.ts",
132 "//ui/file_manager/file_manager/definitions/navigator_connection.d.ts",
Luciano Pacheco23364a22023-10-17 01:24:34133 "definitions.d.ts",
Luciano Pacheco23364a22023-10-17 01:24:34134 ]
135
Luciano Pacheco63be2c42024-02-01 06:50:30136 extra_deps = [
137 ":copy_src",
138 ":from_files_app",
139 ]
Luciano Pacheco23364a22023-10-17 01:24:34140
Luciano Pacheco63be2c42024-02-01 06:50:30141 in_files = js_files + ts_files + [
142 # Copied from the Files app production to avoid duplication.
143 "prod/file_manager/shared_types.ts",
144 ]
Luciano Pachecoa2319c02023-10-17 00:59:52145}
146
147group("build") {
148 deps = [
Luciano Pacheco23364a22023-10-17 01:24:34149 ":build_ts",
Luciano Pachecoa2319c02023-10-17 00:59:52150 ":copy_app",
Luciano Pachecoa2319c02023-10-17 00:59:52151 ]
152
153 # Also as data_deps to make the files available at runtime to the
154 # browser_tests binary, see `gn help runtime_deps` for more info.
155 data_deps = [
Luciano Pacheco23364a22023-10-17 01:24:34156 ":build_ts",
Luciano Pachecoa2319c02023-10-17 00:59:52157 ":copy_app",
Luciano Pachecoa2319c02023-10-17 00:59:52158 ]
159}