blob: 7bc444234c8d16fe8b4e37445e8d8d9c7cf01b53 [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",
Luciano Pachecoa2319c02023-10-17 00:59:5216 "file_manager/context_menu.js",
17 "file_manager/copy_between_windows.js",
18 "file_manager/create_new_folder.js",
19 "file_manager/crostini.js",
Luciano Pachecoa2319c02023-10-17 00:59:5220 "file_manager/directory_tree_context_menu.js",
21 "file_manager/dlp.js",
22 "file_manager/dlp_enterprise_connectors.js",
23 "file_manager/drive_specific.js",
24 "file_manager/file_dialog.js",
25 "file_manager/file_display.js",
26 "file_manager/file_list.js",
27 "file_manager/file_transfer_connector.js",
Luciano Pachecoa2319c02023-10-17 00:59:5228 "file_manager/folder_shortcuts.js",
Luciano Pachecoa2319c02023-10-17 00:59:5229 "file_manager/gear_menu.js",
30 "file_manager/grid_view.js",
31 "file_manager/guest_os.js",
32 "file_manager/holding_space.js",
33 "file_manager/install_linux_package_dialog.js",
Luciano Pachecoa2319c02023-10-17 00:59:5234 "file_manager/metadata.js",
35 "file_manager/metrics.js",
Luciano Pachecoa2319c02023-10-17 00:59:5236 "file_manager/office.js",
Luciano Pachecoa2319c02023-10-17 00:59:5237 "file_manager/providers.js",
Luciano Pachecoa2319c02023-10-17 00:59:5238 "file_manager/recents.js",
39 "file_manager/restore_prefs.js",
40 "file_manager/search.js",
Luciano Pachecoa2319c02023-10-17 00:59:5241 "file_manager/sort_columns.js",
42 "file_manager/tab_index.js",
43 "file_manager/tasks.js",
44 "file_manager/test_data.js",
Luciano Pachecoa2319c02023-10-17 00:59:5245 "file_manager/transfer.js",
Luciano Pachecoa2319c02023-10-17 00:59:5246
47 # Page Objects.
48 "file_manager/page_objects/directory_tree.js",
49]
50
Luciano Pacheco23364a22023-10-17 01:24:3451ts_files = [
Luciano Pachecob1272ad2024-01-22 02:22:1452 "testcase.ts",
53
Luciano Pacheco3c2de2ff2024-02-05 09:26:2554 # "remote_call.ts",
55
56 # "test_util.ts",
57
58 # File Manager.
59 "file_manager/android_photos.ts",
60
61 # "file_manager/background.ts",
62
Ben Reich3be51caa2024-02-13 00:59:3963 "file_manager/breadcrumbs.ts",
Luciano Pacheco23364a22023-10-17 01:24:3464 "file_manager/choose_entry.ts",
65 "file_manager/choose_entry_const.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2566
67 # "file_manager/context_menu.ts",
68
69 # "file_manager/copy_between_windows.ts",
70
71 # "file_manager/create_new_folder.ts",
72
73 # "file_manager/crostini.ts",
74
Wenbo Jie462ac7f2024-02-07 03:12:5575 "file_manager/directory_tree.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2576
77 # "file_manager/directory_tree_context_menu.ts",
78
79 # "file_manager/dlp.ts",
80
81 # "file_manager/dlp_enterprise_connectors.ts",
82
83 # "file_manager/drive_specific.ts",
84
85 # "file_manager/file_dialog.ts",
86
87 # "file_manager/file_display.ts",
88
89 # "file_manager/file_list.ts",
90
91 # "file_manager/file_transfer_connector.ts",
92
93 "file_manager/files_tooltip.ts",
94
95 # "file_manager/folder_shortcuts.ts",
96
Ben Reich00a488b2024-02-13 01:00:5797 "file_manager/format_dialog.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:2598
99 # "file_manager/gear_menu.ts",
100
101 # "file_manager/grid_view.ts",
102
103 # "file_manager/guest_os.ts",
104
105 # "file_manager/holding_space.ts",
106
107 # "file_manager/install_linux_package_dialog.ts",
108
Ben Reicha2e15312024-02-13 04:06:09109 "file_manager/keyboard_operations.ts",
Ben Reichfde927892024-02-12 03:18:27110 "file_manager/manage_dialog.ts",
111
Luciano Pacheco3c2de2ff2024-02-05 09:26:25112 # "file_manager/metadata.ts",
113
114 # "file_manager/metrics.ts",
115
Ben Reich77b351b2024-02-13 00:58:43116 "file_manager/my_files.ts",
François Degros319b9c52024-02-09 05:23:48117 "file_manager/navigation.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:25118
119 # "file_manager/office.ts",
120
Austin Tankiangfdbe72182024-02-07 03:01:40121 "file_manager/open_audio_media_app.ts",
Austin Tankiang4a39f6712024-02-07 07:39:24122 "file_manager/open_files_in_web_drive.ts",
Austin Tankiangfdbe72182024-02-07 03:01:40123 "file_manager/open_image_media_app.ts",
124 "file_manager/open_media_app.ts",
Austin Tankianged3497ed2024-02-07 03:34:36125 "file_manager/open_sniffed_files.ts",
Austin Tankiangfdbe72182024-02-07 03:01:40126 "file_manager/open_video_media_app.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:25127
128 # "file_manager/providers.ts",
129
François Degros441cb812024-02-13 00:42:17130 "file_manager/quick_view.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:25131
132 # "file_manager/recents.ts",
133
134 # "file_manager/restore_prefs.ts",
135
136 # "file_manager/search.ts",
137
François Degros9f40f472024-02-11 23:49:45138 "file_manager/share.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:25139
Luciano Pacheco3c2de2ff2024-02-05 09:26:25140 # "file_manager/sort_columns.ts",
141
142 # "file_manager/tab_index.ts",
143
144 # "file_manager/tasks.ts",
145
146 # "file_manager/test_data.ts",
147
Ben Reich994c80b2024-02-13 04:44:58148 "file_manager/toolbar.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:25149
150 # "file_manager/transfer.ts",
151
Wenbo Jiedaf26742024-02-07 05:01:10152 "file_manager/trash.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:25153
François Degroscad34e22024-02-12 00:37:41154 "file_manager/traverse.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:25155
François Degros88587972024-02-13 04:07:32156 "file_manager/zip_files.ts",
Luciano Pacheco3c2de2ff2024-02-05 09:26:25157
158 # Page Objects.
159 # "file_manager/page_objects/directory_tree.ts",
Luciano Pacheco23364a22023-10-17 01:24:34160]
161
Luciano Pachecoa2319c02023-10-17 00:59:52162# TS/JS files.
163copy("copy_src") {
Luciano Pacheco23364a22023-10-17 01:24:34164 sources = js_files + ts_files
Luciano Pachecoa2319c02023-10-17 00:59:52165 outputs = [ "$preprocess_folder/{{source_target_relative}}" ]
166}
167
Luciano Pacheco63be2c42024-02-01 06:50:30168copy("from_files_app") {
169 sources = [ "../file_manager/common/js/shared_types.ts" ]
170 outputs = [ "$preprocess_folder/prod/file_manager/{{source_file_part}}" ]
171 deps = [ "//ui/file_manager:generate_definitions" ]
172}
173
Luciano Pachecoa2319c02023-10-17 00:59:52174# All non JS/TS files.
175copy("copy_app") {
176 sources = [
177 "file_manager/background.html",
178 "file_manager/choose_entry.html",
179 "file_manager_test_manifest.json",
180 ]
Luciano Pacheco23364a22023-10-17 01:24:34181 outputs = [ "$tsc_folder/{{source_target_relative}}" ]
182}
183
184ts_library("build_ts") {
185 root_dir = preprocess_folder
186 out_dir = tsc_folder
187 tsconfig_base = "tsconfig_base.json"
188 composite = true
189
190 definitions = [
Luciano Pachecob1272ad2024-01-22 02:22:14191 "//tools/typescript/definitions/chrome_test.d.ts",
Luciano Pacheco23364a22023-10-17 01:24:34192 "//tools/typescript/definitions/runtime.d.ts",
193 "//tools/typescript/definitions/file_system.d.ts",
Luciano Pachecob1272ad2024-01-22 02:22:14194 "//tools/typescript/definitions/windows.d.ts",
Luciano Pacheco23364a22023-10-17 01:24:34195 "definitions.d.ts",
Luciano Pachecob1272ad2024-01-22 02:22:14196
197 # "//ui/file_manager/file_manager/definitions/file_manager_private.d.ts",
Luciano Pacheco23364a22023-10-17 01:24:34198 ]
199
Luciano Pacheco63be2c42024-02-01 06:50:30200 extra_deps = [
201 ":copy_src",
202 ":from_files_app",
203 ]
Luciano Pacheco23364a22023-10-17 01:24:34204
Luciano Pacheco63be2c42024-02-01 06:50:30205 in_files = js_files + ts_files + [
206 # Copied from the Files app production to avoid duplication.
207 "prod/file_manager/shared_types.ts",
208 ]
Luciano Pachecoa2319c02023-10-17 00:59:52209}
210
211group("build") {
212 deps = [
Luciano Pacheco23364a22023-10-17 01:24:34213 ":build_ts",
Luciano Pachecoa2319c02023-10-17 00:59:52214 ":copy_app",
Luciano Pachecoa2319c02023-10-17 00:59:52215 ]
216
217 # Also as data_deps to make the files available at runtime to the
218 # browser_tests binary, see `gn help runtime_deps` for more info.
219 data_deps = [
Luciano Pacheco23364a22023-10-17 01:24:34220 ":build_ts",
Luciano Pachecoa2319c02023-10-17 00:59:52221 ":copy_app",
Luciano Pachecoa2319c02023-10-17 00:59:52222 ]
223}