blob: 987499101d34b0cf05b41ac70bf692812716a7c3 [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 Pachecoa2319c02023-10-17 00:59:5211 "test_util.js",
Luciano Pachecoa2319c02023-10-17 00:59:5212
13 # File Manager.
Luciano Pachecoa2319c02023-10-17 00:59:5214 "file_manager/background.js",
Luciano Pachecoa2319c02023-10-17 00:59:5215 "file_manager/context_menu.js",
Luciano Pachecoa2319c02023-10-17 00:59:5216 "file_manager/crostini.js",
Luciano Pachecoa2319c02023-10-17 00:59:5217 "file_manager/directory_tree_context_menu.js",
18 "file_manager/dlp.js",
19 "file_manager/dlp_enterprise_connectors.js",
20 "file_manager/drive_specific.js",
21 "file_manager/file_dialog.js",
Luciano Pachecoa2319c02023-10-17 00:59:5222 "file_manager/file_transfer_connector.js",
Luciano Pachecoa2319c02023-10-17 00:59:5223 "file_manager/folder_shortcuts.js",
Luciano Pachecoa2319c02023-10-17 00:59:5224 "file_manager/gear_menu.js",
Luciano Pachecoa2319c02023-10-17 00:59:5225 "file_manager/holding_space.js",
26 "file_manager/install_linux_package_dialog.js",
Luciano Pachecoa2319c02023-10-17 00:59:5227 "file_manager/recents.js",
Luciano Pachecoa2319c02023-10-17 00:59:5228 "file_manager/search.js",
Luciano Pachecoa2319c02023-10-17 00:59:5229 "file_manager/tab_index.js",
Luciano Pachecoa2319c02023-10-17 00:59:5230 "file_manager/test_data.js",
Luciano Pachecoa2319c02023-10-17 00:59:5231 "file_manager/transfer.js",
Luciano Pachecoa2319c02023-10-17 00:59:5232
33 # Page Objects.
34 "file_manager/page_objects/directory_tree.js",
35]
36
Luciano Pacheco23364a22023-10-17 01:24:3437ts_files = [
Luciano Pacheco2aa66872024-02-14 00:00:3538 "remote_call.ts",
Luciano Pachecob1272ad2024-01-22 02:22:1439 "testcase.ts",
40
Luciano Pacheco3c2de2ff2024-02-05 09:26:2541 # "test_util.ts",
42
43 # File Manager.
44 "file_manager/android_photos.ts",
45
46 # "file_manager/background.ts",
47
Ben Reich3be51caa2024-02-13 00:59:3948 "file_manager/breadcrumbs.ts",
Luciano Pacheco23364a22023-10-17 01:24:3449 "file_manager/choose_entry.ts",
50 "file_manager/choose_entry_const.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2551
52 # "file_manager/context_menu.ts",
53
Ben Reich02c27f632024-02-13 06:56:3954 "file_manager/copy_between_windows.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2555
Ben Reichbea72ee2024-02-14 01:26:4256 "file_manager/create_new_folder.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2557
58 # "file_manager/crostini.ts",
59
Wenbo Jie462ac7f2024-02-07 03:12:5560 "file_manager/directory_tree.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2561
62 # "file_manager/directory_tree_context_menu.ts",
63
64 # "file_manager/dlp.ts",
65
66 # "file_manager/dlp_enterprise_connectors.ts",
67
68 # "file_manager/drive_specific.ts",
69
70 # "file_manager/file_dialog.ts",
71
François Degrosf7ea6bb2024-02-13 05:48:3072 "file_manager/file_display.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2573
Ben Reich5dd10702024-02-13 04:53:5974 "file_manager/file_list.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2575
76 # "file_manager/file_transfer_connector.ts",
77
78 "file_manager/files_tooltip.ts",
79
80 # "file_manager/folder_shortcuts.ts",
81
Ben Reich00a488b2024-02-13 01:00:5782 "file_manager/format_dialog.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2583
84 # "file_manager/gear_menu.ts",
85
Ben Reicheb1b49d2024-02-13 07:26:2086 "file_manager/grid_view.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2587
Ben Reichb6f29e32024-02-13 06:46:4488 "file_manager/guest_os.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2589
90 # "file_manager/holding_space.ts",
91
92 # "file_manager/install_linux_package_dialog.ts",
93
Ben Reicha2e15312024-02-13 04:06:0994 "file_manager/keyboard_operations.ts",
Ben Reichfde927892024-02-12 03:18:2795 "file_manager/manage_dialog.ts",
Luciano Pacheco2aa66872024-02-14 00:00:3596
Ben Reichd6282c882024-02-13 06:33:4997 "file_manager/metadata.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2598
Ben Reich71eeaa22024-02-14 00:35:3199 "file_manager/metrics.ts",
Ben Reich77b351b2024-02-13 00:58:43100 "file_manager/my_files.ts",
François Degros319b9c52024-02-09 05:23:48101 "file_manager/navigation.ts",
Ben Reich00d34012024-02-13 04:54:53102 "file_manager/office.ts",
Austin Tankiangfdbe72182024-02-07 03:01:40103 "file_manager/open_audio_media_app.ts",
Austin Tankiang4a39f6712024-02-07 07:39:24104 "file_manager/open_files_in_web_drive.ts",
Austin Tankiangfdbe72182024-02-07 03:01:40105 "file_manager/open_image_media_app.ts",
106 "file_manager/open_media_app.ts",
Austin Tankianged3497ed2024-02-07 03:34:36107 "file_manager/open_sniffed_files.ts",
Austin Tankiangfdbe72182024-02-07 03:01:40108 "file_manager/open_video_media_app.ts",
Ben Reicha47f3e92024-02-13 05:41:29109 "file_manager/providers.ts",
François Degros441cb812024-02-13 00:42:17110 "file_manager/quick_view.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:25111
112 # "file_manager/recents.ts",
113
François Degros29b92522024-02-14 01:11:11114 "file_manager/restore_prefs.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:25115
116 # "file_manager/search.ts",
117
François Degros9f40f472024-02-11 23:49:45118 "file_manager/share.ts",
Ben Reich646c875c72024-02-13 05:30:33119 "file_manager/sort_columns.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:25120
121 # "file_manager/tab_index.ts",
122
Ben Reichc19b6bd2024-02-13 07:27:59123 "file_manager/tasks.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:25124
125 # "file_manager/test_data.ts",
126
Ben Reich994c80b2024-02-13 04:44:58127 "file_manager/toolbar.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:25128
129 # "file_manager/transfer.ts",
130
Wenbo Jiedaf26742024-02-07 05:01:10131 "file_manager/trash.ts",
François Degroscad34e22024-02-12 00:37:41132 "file_manager/traverse.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:25133
François Degros88587972024-02-13 04:07:32134 "file_manager/zip_files.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:25135
136 # Page Objects.
137 # "file_manager/page_objects/directory_tree.ts",
Luciano Pacheco23364a22023-10-17 01:24:34138]
139
Luciano Pachecoa2319c02023-10-17 00:59:52140# TS/JS files.
141copy("copy_src") {
Luciano Pacheco23364a22023-10-17 01:24:34142 sources = js_files + ts_files
Luciano Pachecoa2319c02023-10-17 00:59:52143 outputs = [ "$preprocess_folder/{{source_target_relative}}" ]
144}
145
Luciano Pacheco63be2c42024-02-01 06:50:30146copy("from_files_app") {
147 sources = [ "../file_manager/common/js/shared_types.ts" ]
148 outputs = [ "$preprocess_folder/prod/file_manager/{{source_file_part}}" ]
149 deps = [ "//ui/file_manager:generate_definitions" ]
150}
151
Luciano Pachecoa2319c02023-10-17 00:59:52152# All non JS/TS files.
153copy("copy_app") {
154 sources = [
155 "file_manager/background.html",
156 "file_manager/choose_entry.html",
157 "file_manager_test_manifest.json",
158 ]
Luciano Pacheco23364a22023-10-17 01:24:34159 outputs = [ "$tsc_folder/{{source_target_relative}}" ]
160}
161
162ts_library("build_ts") {
163 root_dir = preprocess_folder
164 out_dir = tsc_folder
165 tsconfig_base = "tsconfig_base.json"
166 composite = true
167
168 definitions = [
Luciano Pachecob1272ad2024-01-22 02:22:14169 "//tools/typescript/definitions/chrome_test.d.ts",
Luciano Pacheco23364a22023-10-17 01:24:34170 "//tools/typescript/definitions/runtime.d.ts",
171 "//tools/typescript/definitions/file_system.d.ts",
Luciano Pachecob1272ad2024-01-22 02:22:14172 "//tools/typescript/definitions/windows.d.ts",
Luciano Pacheco23364a22023-10-17 01:24:34173 "definitions.d.ts",
Luciano Pacheco23364a22023-10-17 01:24:34174 ]
175
Luciano Pacheco63be2c42024-02-01 06:50:30176 extra_deps = [
177 ":copy_src",
178 ":from_files_app",
179 ]
Luciano Pacheco23364a22023-10-17 01:24:34180
Luciano Pacheco63be2c42024-02-01 06:50:30181 in_files = js_files + ts_files + [
182 # Copied from the Files app production to avoid duplication.
183 "prod/file_manager/shared_types.ts",
184 ]
Luciano Pachecoa2319c02023-10-17 00:59:52185}
186
187group("build") {
188 deps = [
Luciano Pacheco23364a22023-10-17 01:24:34189 ":build_ts",
Luciano Pachecoa2319c02023-10-17 00:59:52190 ":copy_app",
Luciano Pachecoa2319c02023-10-17 00:59:52191 ]
192
193 # Also as data_deps to make the files available at runtime to the
194 # browser_tests binary, see `gn help runtime_deps` for more info.
195 data_deps = [
Luciano Pacheco23364a22023-10-17 01:24:34196 ":build_ts",
Luciano Pachecoa2319c02023-10-17 00:59:52197 ":copy_app",
Luciano Pachecoa2319c02023-10-17 00:59:52198 ]
199}