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