1{ 2 "pw": { 3 "pw_presubmit": { 4 "format": { 5 "python_formatter": "black", 6 "black_config_file": "$pw_env{PW_ROOT}/.black.toml", 7 "exclude": [ 8 "\\bthird_party/fuchsia/repo", 9 "\\bthird_party/perfetto/repo", 10 "\\bthird_party/.*\\.json$", 11 "\\bpackage\\.lock$", 12 "\\bpw_presubmit/py/pw_presubmit/format/test_data/.*", 13 "\\bpw_web/log-viewer/package(-lock)?\\.json", 14 "\\bpw_web/log-viewer/src/assets/material_symbols_rounded_subset\\.woff2", 15 "^patches\\.json$" 16 ] 17 } 18 }, 19 "pw_cli": { 20 "plugins": { 21 "build": { 22 "module": "pw_build.pigweed_upstream_build", 23 "function": "pigweed_upstream_main" 24 }, 25 "console": { 26 "module": "pw_system.console", 27 "function": "main" 28 }, 29 "emu": { 30 "module": "pw_emu.__main__", 31 "function": "main" 32 }, 33 "clang-tidy-fix": { 34 "module": "pw_toolchain.clang_apply_replacements", 35 "function": "main" 36 }, 37 "ffx": { 38 "module": "pw_cli.pigweed_aliases", 39 "function": "ffx" 40 }, 41 "format": { 42 "module": "pw_presubmit.format_code", 43 "function": "main" 44 }, 45 "heap-viewer": { 46 "module": "pw_allocator.heap_viewer", 47 "function": "main" 48 }, 49 "ide": { 50 "module": "pw_ide.__main__", 51 "function": "main" 52 }, 53 "package": { 54 "module": "pw_package.pigweed_packages", 55 "function": "main" 56 }, 57 "presubmit": { 58 "module": "pw_presubmit.pigweed_presubmit", 59 "function": "main" 60 }, 61 "requires": { 62 "module": "pw_cli.requires", 63 "function": "main" 64 }, 65 "rpc": { 66 "module": "pw_hdlc.rpc_console", 67 "function": "main" 68 }, 69 "seed": { 70 "module": "pw_module.seed", 71 "function": "main" 72 }, 73 "update": { 74 "module": "pw_software_update.cli", 75 "function": "main" 76 }, 77 "west": { 78 "module": "pw_env_setup_zephyr.zephyr", 79 "function": "main" 80 }, 81 "sensor-desc": { 82 "module": "pw_sensor.sensor_desc", 83 "function": "main" 84 } 85 } 86 }, 87 "pw_env_setup": { 88 "root_variable": "PW_ROOT", 89 "relative_pigweed_root": ".", 90 "rosetta": "never", 91 "project_actions": [ 92 { 93 "import_path": "pw_env_setup", 94 "module_name": "npm_action" 95 } 96 ], 97 "gni_file": "build_overrides/pigweed_environment.gni", 98 "cipd_package_files": [ 99 "pw_env_setup/py/pw_env_setup/cipd_setup/upstream.json" 100 ], 101 "virtualenv": { 102 "gn_targets": [ 103 "python.install" 104 ], 105 "gn_root": ".", 106 "requirements": [ 107 "pw_env_setup/py/pw_env_setup/virtualenv_setup/pigweed_upstream_requirements.txt" 108 ], 109 "constraints": [ 110 "pw_env_setup/py/pw_env_setup/virtualenv_setup/constraint.list" 111 ], 112 "pip_install_find_links": [ 113 "${PW_MSRV_PYTHON_CIPD_INSTALL_DIR}/pip_cache" 114 ] 115 } 116 }, 117 "pw_package": { 118 "allow_middleware_only_packages": true 119 }, 120 "pw_doctor": { 121 "new_bug_url": "https://issues.pigweed.dev/new" 122 }, 123 "pw_emu": { 124 "target_files": [ 125 "pw_emu/qemu-lm3s6965evb.json", 126 "pw_emu/qemu-stm32vldiscovery.json", 127 "pw_emu/qemu-netduinoplus2.json", 128 "pw_emu/renode-stm32f4_discovery.json" 129 ] 130 }, 131 "bazel_presubmit": { 132 "remote_cache": true, 133 "upload_local_results": true, 134 "programs": { 135 "default": [ 136 [ 137 "mod", 138 "deps", 139 "--lockfile_mode=error" 140 ], 141 [ 142 "build", 143 "//..." 144 ], 145 [ 146 "test", 147 "//..." 148 ], 149 [ 150 "test", 151 "--//pw_unit_test:backend=//pw_unit_test:googletest", 152 "--//pw_unit_test:main=@com_google_googletest//:gtest_main", 153 "--platforms=//pw_unit_test:googletest_platform", 154 "//..." 155 ], 156 [ 157 "build", 158 "--aspects=@rules_rust//rust:defs.bzl%rust_clippy_aspect", 159 "--output_groups=clippy_checks", 160 "//..." 161 ], 162 [ 163 "build", 164 "--config=asan", 165 "--config=fuzztest", 166 "//..." 167 ] 168 ], 169 "docs": [ 170 [ 171 "build", 172 "//docs" 173 ] 174 ], 175 "integration": [ 176 [ 177 "test", 178 "--build_tag_filters=integration", 179 "--test_tag_filters=integration", 180 "//..." 181 ] 182 ], 183 "sanitizers": [ 184 [ 185 "test", 186 "--config=asan", 187 "//..." 188 ], 189 [ 190 "test", 191 "--config=tsan", 192 "//..." 193 ], 194 [ 195 "test", 196 "--config=ubsan", 197 "//..." 198 ] 199 ] 200 } 201 }, 202 "pw_cli_analytics": { 203 "report_command_line": true, 204 "report_project_name": true, 205 "report_remote_url": true, 206 "report_subcommand_name": "always" 207 } 208 } 209} 210