xref: /aosp_15_r20/external/pigweed/pw_console/py/BUILD.bazel (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1# Copyright 2022 The Pigweed Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7#     https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15load("@rules_python//python:defs.bzl", "py_library")
16load("//pw_build:python.bzl", "pw_py_binary", "pw_py_test")
17
18package(default_visibility = ["//visibility:public"])
19
20py_library(
21    name = "event_count_history",
22    srcs = ["pw_console/widgets/event_count_history.py"],
23)
24
25py_library(
26    name = "pyserial_wrapper",
27    srcs = ["pw_console/pyserial_wrapper.py"],
28    deps = [
29        ":event_count_history",
30    ],
31)
32
33py_library(
34    name = "pw_console",
35    srcs = [
36        "pw_console/__init__.py",
37        "pw_console/__main__.py",
38        "pw_console/command_runner.py",
39        "pw_console/console_app.py",
40        "pw_console/console_log_server.py",
41        "pw_console/console_prefs.py",
42        "pw_console/docs/__init__.py",
43        "pw_console/embed.py",
44        "pw_console/filter_toolbar.py",
45        "pw_console/get_pw_console_app.py",
46        "pw_console/help_window.py",
47        "pw_console/html/__init__.py",
48        "pw_console/key_bindings.py",
49        "pw_console/log_filter.py",
50        "pw_console/log_line.py",
51        "pw_console/log_pane.py",
52        "pw_console/log_pane_saveas_dialog.py",
53        "pw_console/log_pane_selection_dialog.py",
54        "pw_console/log_pane_toolbars.py",
55        "pw_console/log_screen.py",
56        "pw_console/log_store.py",
57        "pw_console/log_view.py",
58        "pw_console/mouse.py",
59        "pw_console/pigweed_code_style.py",
60        "pw_console/plugin_mixin.py",
61        "pw_console/plugins/__init__.py",
62        "pw_console/plugins/bandwidth_toolbar.py",
63        "pw_console/plugins/calc_pane.py",
64        "pw_console/plugins/clock_pane.py",
65        "pw_console/plugins/twenty48_pane.py",
66        "pw_console/progress_bar/__init__.py",
67        "pw_console/progress_bar/progress_bar_impl.py",
68        "pw_console/progress_bar/progress_bar_state.py",
69        "pw_console/progress_bar/progress_bar_task_counter.py",
70        "pw_console/pw_ptpython_repl.py",
71        "pw_console/python_logging.py",
72        "pw_console/quit_dialog.py",
73        "pw_console/repl_pane.py",
74        "pw_console/search_toolbar.py",
75        "pw_console/socket_client.py",
76        "pw_console/style.py",
77        "pw_console/templates/__init__.py",
78        "pw_console/test_mode.py",
79        "pw_console/text_formatting.py",
80        "pw_console/web.py",
81        "pw_console/web_kernel.py",
82        "pw_console/web_server.py",
83        "pw_console/widgets/__init__.py",
84        "pw_console/widgets/border.py",
85        "pw_console/widgets/checkbox.py",
86        "pw_console/widgets/mouse_handlers.py",
87        "pw_console/widgets/table.py",
88        "pw_console/widgets/window_pane.py",
89        "pw_console/widgets/window_pane_toolbar.py",
90        "pw_console/window_list.py",
91        "pw_console/window_manager.py",
92    ],
93    data = [
94        "pw_console/docs/user_guide.rst",
95        "pw_console/html/console.html",
96        "pw_console/html/defaultconfig.json",
97        "pw_console/html/index.html",
98        "pw_console/html/main.js",
99        "pw_console/html/style.css",
100        "pw_console/py.typed",
101        "pw_console/templates/keybind_list.jinja",
102        "pw_console/templates/repl_output.jinja",
103    ],
104    imports = ["."],
105    deps = [
106        ":event_count_history",
107        ":pyserial_wrapper",
108        "//pw_cli/py:pw_cli",
109        "//pw_config_loader/py:pw_config_loader",
110        "//pw_log_tokenized/py:pw_log_tokenized",
111        "@python_packages//aiohttp",
112        "@python_packages//jinja2",
113        "@python_packages//prompt_toolkit",
114        "@python_packages//ptpython",
115        "@python_packages//pygments",
116        "@python_packages//pyperclip",
117        "@python_packages//pyyaml",
118        "@python_packages//websockets",
119    ],
120)
121
122pw_py_binary(
123    name = "pw_console_test_mode",
124    srcs = [
125        "pw_console/__main__.py",
126    ],
127    main = "pw_console/__main__.py",
128    deps = [
129        ":pw_console",
130    ],
131)
132
133pw_py_test(
134    name = "command_runner_test",
135    size = "small",
136    srcs = [
137        "command_runner_test.py",
138    ],
139    deps = [
140        ":pw_console",
141    ],
142)
143
144pw_py_test(
145    name = "console_app_test",
146    size = "small",
147    srcs = [
148        "console_app_test.py",
149    ],
150    deps = [
151        ":pw_console",
152    ],
153)
154
155pw_py_test(
156    name = "console_prefs_test",
157    size = "small",
158    srcs = [
159        "console_prefs_test.py",
160    ],
161    deps = [
162        ":pw_console",
163    ],
164)
165
166pw_py_test(
167    name = "help_window_test",
168    size = "small",
169    srcs = [
170        "help_window_test.py",
171    ],
172    deps = [
173        ":pw_console",
174    ],
175)
176
177pw_py_test(
178    name = "log_filter_test",
179    size = "small",
180    srcs = [
181        "log_filter_test.py",
182    ],
183    deps = [
184        ":pw_console",
185        "@python_packages//parameterized",
186    ],
187)
188
189pw_py_test(
190    name = "log_store_test",
191    size = "small",
192    srcs = [
193        "log_store_test.py",
194    ],
195    deps = [
196        ":pw_console",
197    ],
198)
199
200pw_py_test(
201    name = "log_view_test",
202    size = "small",
203    srcs = [
204        "log_view_test.py",
205    ],
206    deps = [
207        ":pw_console",
208        "@python_packages//parameterized",
209    ],
210)
211
212pw_py_test(
213    name = "socket_client_test",
214    size = "small",
215    srcs = [
216        "socket_client_test.py",
217    ],
218    deps = [
219        ":pw_console",
220    ],
221)
222
223pw_py_test(
224    name = "repl_pane_test",
225    size = "small",
226    srcs = [
227        "repl_pane_test.py",
228    ],
229    deps = [
230        ":pw_console",
231    ],
232)
233
234pw_py_test(
235    name = "table_test",
236    size = "small",
237    srcs = [
238        "table_test.py",
239    ],
240    deps = [
241        ":pw_console",
242        "@python_packages//parameterized",
243    ],
244)
245
246pw_py_test(
247    name = "text_formatting_test",
248    size = "small",
249    srcs = [
250        "text_formatting_test.py",
251    ],
252    deps = [
253        ":pw_console",
254        "@python_packages//parameterized",
255    ],
256)
257
258pw_py_test(
259    name = "window_manager_test",
260    size = "small",
261    srcs = [
262        "window_manager_test.py",
263    ],
264    deps = [
265        ":pw_console",
266    ],
267)
268