blob: 265e392740b873f5d69edbb1169fdd1047b179de [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 "remote_call.js",
12 "test_util.js",
Luciano Pachecoa2319c02023-10-17 00:59:5213
14 # File Manager.
Luciano Pachecoa2319c02023-10-17 00:59:5215 "file_manager/background.js",
16 "file_manager/breadcrumbs.js",
Luciano Pachecoa2319c02023-10-17 00:59:5217 "file_manager/context_menu.js",
18 "file_manager/copy_between_windows.js",
19 "file_manager/create_new_folder.js",
20 "file_manager/crostini.js",
Luciano Pachecoa2319c02023-10-17 00:59:5221 "file_manager/directory_tree_context_menu.js",
22 "file_manager/dlp.js",
23 "file_manager/dlp_enterprise_connectors.js",
24 "file_manager/drive_specific.js",
25 "file_manager/file_dialog.js",
26 "file_manager/file_display.js",
27 "file_manager/file_list.js",
28 "file_manager/file_transfer_connector.js",
Luciano Pachecoa2319c02023-10-17 00:59:5229 "file_manager/folder_shortcuts.js",
30 "file_manager/format_dialog.js",
31 "file_manager/gear_menu.js",
32 "file_manager/grid_view.js",
33 "file_manager/guest_os.js",
34 "file_manager/holding_space.js",
35 "file_manager/install_linux_package_dialog.js",
36 "file_manager/keyboard_operations.js",
37 "file_manager/metadata.js",
38 "file_manager/metrics.js",
39 "file_manager/my_files.js",
40 "file_manager/navigation.js",
41 "file_manager/office.js",
Luciano Pachecoa2319c02023-10-17 00:59:5242 "file_manager/open_files_in_web_drive.js",
Luciano Pachecoa2319c02023-10-17 00:59:5243 "file_manager/providers.js",
44 "file_manager/quick_view.js",
45 "file_manager/recents.js",
46 "file_manager/restore_prefs.js",
47 "file_manager/search.js",
48 "file_manager/share.js",
49 "file_manager/share_and_manage_dialog.js",
50 "file_manager/sort_columns.js",
51 "file_manager/tab_index.js",
52 "file_manager/tasks.js",
53 "file_manager/test_data.js",
54 "file_manager/toolbar.js",
55 "file_manager/transfer.js",
56 "file_manager/trash.js",
57 "file_manager/traverse.js",
58 "file_manager/zip_files.js",
59
60 # Page Objects.
61 "file_manager/page_objects/directory_tree.js",
62]
63
Luciano Pacheco23364a22023-10-17 01:24:3464ts_files = [
Luciano Pachecob1272ad2024-01-22 02:22:1465 "testcase.ts",
66
Luciano Pacheco3c2de2ff2024-02-05 09:26:2567 # "remote_call.ts",
68
69 # "test_util.ts",
70
71 # File Manager.
72 "file_manager/android_photos.ts",
73
74 # "file_manager/background.ts",
75
76 # "file_manager/breadcrumbs.ts",
77
Luciano Pacheco23364a22023-10-17 01:24:3478 "file_manager/choose_entry.ts",
79 "file_manager/choose_entry_const.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2580
81 # "file_manager/context_menu.ts",
82
83 # "file_manager/copy_between_windows.ts",
84
85 # "file_manager/create_new_folder.ts",
86
87 # "file_manager/crostini.ts",
88
Wenbo Jie462ac7f2024-02-07 03:12:5589 "file_manager/directory_tree.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2590
91 # "file_manager/directory_tree_context_menu.ts",
92
93 # "file_manager/dlp.ts",
94
95 # "file_manager/dlp_enterprise_connectors.ts",
96
97 # "file_manager/drive_specific.ts",
98
99 # "file_manager/file_dialog.ts",
100
101 # "file_manager/file_display.ts",
102
103 # "file_manager/file_list.ts",
104
105 # "file_manager/file_transfer_connector.ts",
106
107 "file_manager/files_tooltip.ts",
108
109 # "file_manager/folder_shortcuts.ts",
110
111 # "file_manager/format_dialog.ts",
112
113 # "file_manager/gear_menu.ts",
114
115 # "file_manager/grid_view.ts",
116
117 # "file_manager/guest_os.ts",
118
119 # "file_manager/holding_space.ts",
120
121 # "file_manager/install_linux_package_dialog.ts",
122
123 # "file_manager/keyboard_operations.ts",
124
125 # "file_manager/metadata.ts",
126
127 # "file_manager/metrics.ts",
128
129 # "file_manager/my_files.ts",
130
131 # "file_manager/navigation.ts",
132
133 # "file_manager/office.ts",
134
Austin Tankiangfdbe72182024-02-07 03:01:40135 "file_manager/open_audio_media_app.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:25136
137 # "file_manager/open_files_in_web_drive.ts",
138
Austin Tankiangfdbe72182024-02-07 03:01:40139 "file_manager/open_image_media_app.ts",
140 "file_manager/open_media_app.ts",
Austin Tankianged3497ed2024-02-07 03:34:36141 "file_manager/open_sniffed_files.ts",
Austin Tankiangfdbe72182024-02-07 03:01:40142 "file_manager/open_video_media_app.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:25143
144 # "file_manager/providers.ts",
145
146 # "file_manager/quick_view.ts",
147
148 # "file_manager/recents.ts",
149
150 # "file_manager/restore_prefs.ts",
151
152 # "file_manager/search.ts",
153
154 # "file_manager/share.ts",
155
156 # "file_manager/share_and_manage_dialog.ts",
157
158 # "file_manager/sort_columns.ts",
159
160 # "file_manager/tab_index.ts",
161
162 # "file_manager/tasks.ts",
163
164 # "file_manager/test_data.ts",
165
166 # "file_manager/toolbar.ts",
167
168 # "file_manager/transfer.ts",
169
170 # "file_manager/trash.ts",
171
172 # "file_manager/traverse.ts",
173
174 # "file_manager/zip_files.ts",
175
176 # Page Objects.
177 # "file_manager/page_objects/directory_tree.ts",
Luciano Pacheco23364a22023-10-17 01:24:34178]
179
Luciano Pachecoa2319c02023-10-17 00:59:52180# TS/JS files.
181copy("copy_src") {
Luciano Pacheco23364a22023-10-17 01:24:34182 sources = js_files + ts_files
Luciano Pachecoa2319c02023-10-17 00:59:52183 outputs = [ "$preprocess_folder/{{source_target_relative}}" ]
184}
185
Luciano Pacheco63be2c42024-02-01 06:50:30186copy("from_files_app") {
187 sources = [ "../file_manager/common/js/shared_types.ts" ]
188 outputs = [ "$preprocess_folder/prod/file_manager/{{source_file_part}}" ]
189 deps = [ "//ui/file_manager:generate_definitions" ]
190}
191
Luciano Pachecoa2319c02023-10-17 00:59:52192# All non JS/TS files.
193copy("copy_app") {
194 sources = [
195 "file_manager/background.html",
196 "file_manager/choose_entry.html",
197 "file_manager_test_manifest.json",
198 ]
Luciano Pacheco23364a22023-10-17 01:24:34199 outputs = [ "$tsc_folder/{{source_target_relative}}" ]
200}
201
202ts_library("build_ts") {
203 root_dir = preprocess_folder
204 out_dir = tsc_folder
205 tsconfig_base = "tsconfig_base.json"
206 composite = true
207
208 definitions = [
Luciano Pachecob1272ad2024-01-22 02:22:14209 "//tools/typescript/definitions/chrome_test.d.ts",
Luciano Pacheco23364a22023-10-17 01:24:34210 "//tools/typescript/definitions/runtime.d.ts",
211 "//tools/typescript/definitions/file_system.d.ts",
Luciano Pachecob1272ad2024-01-22 02:22:14212 "//tools/typescript/definitions/windows.d.ts",
Luciano Pacheco23364a22023-10-17 01:24:34213 "definitions.d.ts",
Luciano Pachecob1272ad2024-01-22 02:22:14214
215 # "//ui/file_manager/file_manager/definitions/file_manager_private.d.ts",
Luciano Pacheco23364a22023-10-17 01:24:34216 ]
217
Luciano Pacheco63be2c42024-02-01 06:50:30218 extra_deps = [
219 ":copy_src",
220 ":from_files_app",
221 ]
Luciano Pacheco23364a22023-10-17 01:24:34222
Luciano Pacheco63be2c42024-02-01 06:50:30223 in_files = js_files + ts_files + [
224 # Copied from the Files app production to avoid duplication.
225 "prod/file_manager/shared_types.ts",
226 ]
Luciano Pachecoa2319c02023-10-17 00:59:52227}
228
229group("build") {
230 deps = [
Luciano Pacheco23364a22023-10-17 01:24:34231 ":build_ts",
Luciano Pachecoa2319c02023-10-17 00:59:52232 ":copy_app",
Luciano Pachecoa2319c02023-10-17 00:59:52233 ]
234
235 # Also as data_deps to make the files available at runtime to the
236 # browser_tests binary, see `gn help runtime_deps` for more info.
237 data_deps = [
Luciano Pacheco23364a22023-10-17 01:24:34238 ":build_ts",
Luciano Pachecoa2319c02023-10-17 00:59:52239 ":copy_app",
Luciano Pachecoa2319c02023-10-17 00:59:52240 ]
241}