• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2024 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
15module(
16    name = "pigweed",
17    version = "0.0.1",
18)
19
20register_execution_platforms("@local_config_platform//:host")
21
22bazel_dep(name = "aspect_bazel_lib", version = "2.8.1")
23bazel_dep(name = "aspect_rules_js", version = "2.1.0")
24bazel_dep(name = "bazel_skylib", version = "1.7.1")
25bazel_dep(name = "boringssl", version = "0.20240913.0")
26bazel_dep(name = "freertos", version = "10.5.1.bcr.2")
27bazel_dep(name = "gazelle", version = "0.40.0", repo_name = "bazel_gazelle")
28bazel_dep(name = "googletest", version = "1.15.0", repo_name = "com_google_googletest")
29bazel_dep(name = "nanopb", version = "0.4.9.1", repo_name = "com_github_nanopb_nanopb")
30bazel_dep(name = "pico-sdk", version = "2.1.1-develop.bcr.20250113-4b6e6475")
31bazel_dep(name = "picotool", version = "2.1.0")
32bazel_dep(name = "platforms", version = "0.0.10")
33
34# LINT.IfChange(protobuf)
35bazel_dep(name = "protobuf", version = "28.2", repo_name = "com_google_protobuf")
36# LINT.ThenChange(pw_env_setup/py/pw_env_setup/cipd_setup/pigweed.json,pw_env_setup/py/pw_env_setup/virtualenv_setup/constraint.list:protobuf)
37
38# A transitive dependency requires this.
39bazel_dep(name = "re2", version = "2024-07-02.bcr.1")
40bazel_dep(name = "rules_android", version = "0.1.1")
41bazel_dep(name = "rules_cc", version = "0.0.17")
42bazel_dep(name = "rules_fuzzing", version = "0.5.2")
43bazel_dep(name = "rules_go", version = "0.52.0", repo_name = "io_bazel_rules_go")
44bazel_dep(name = "rules_java", version = "8.6.1")
45bazel_dep(name = "rules_jvm_external", version = "6.6")
46bazel_dep(name = "rules_libusb", version = "0.1.0-rc1")
47bazel_dep(name = "rules_license", version = "1.0.0")
48bazel_dep(name = "rules_nodejs", version = "6.3.0")
49bazel_dep(name = "rules_platform", version = "0.1.0")
50bazel_dep(name = "rules_probe_rs", version = "0.0.2")
51bazel_dep(name = "rules_python", version = "0.40.0")
52bazel_dep(name = "rules_rust", version = "0.56.0")
53
54# LINT.IfChange(emboss)
55bazel_dep(name = "emboss", version = "2024.1017.203246", repo_name = "com_google_emboss")
56# LINT.ThenChange(/pw_package/py/pw_package/packages/emboss.py:emboss)
57
58bazel_dep(name = "hedron_compile_commands", dev_dependency = True)
59bazel_dep(name = "rules_doxygen", version = "2.2.0", dev_dependency = True)
60
61# Repository overrides
62# ====================
63
64# TODO: https://pwbug.dev/349880767 - Point this back to the upstream repo once
65# this PR is merged.
66archive_override(
67    module_name = "hedron_compile_commands",
68    strip_prefix = "bazel-compile-commands-extractor-163521345aa6366fd1ed801b989b668b5c806f69",
69    urls = ["https://github.com/chadnorvell/bazel-compile-commands-extractor/archive/163521345aa6366fd1ed801b989b668b5c806f69.tar.gz"],
70)
71
72# TODO: https://pwbug.dev/372510795 - A `bazel_dep` on this version propagates
73# to downstream projects, which causes breakages since downstream is still
74# pre-Bazel 8.0.0. When all downstream projects are flipped to Bazel 8.0.0,
75# remove this and update the rules_android bazel_dep requirement.
76single_version_override(
77    module_name = "rules_android",
78    version = "0.6.0",
79)
80
81# TODO: https://pwbug.dev/354268150 - Switch back to a release once this commit
82# makes it into one. Downstream projects generally don't need this commit, it's
83# only required for interop with the Fuchsia SDK.
84git_override(
85    module_name = "googletest",
86    commit = "e54519b09463cec3aea77a1739e02c97ca766da5",
87    remote = "https://github.com/google/googletest.git",
88)
89
90single_version_override(
91    module_name = "rules_rust",
92    patch_strip = 1,
93    patches = [
94        # Adds prototype functionality for documenting multiple crates in one
95        # HTML output directory.  While the approach in this patch may have
96        # issues scaling to giant mono-repos, it is appropriate for embedded
97        # projects and minimally invasive and should be easy to maintain.  Once
98        # the `rules_rust` community decides on a way to propperly support this,
99        # we will migrate to that solution.
100        # https://github.com/konkers/rules_rust/tree/wip/rustdoc
101        "//pw_rust/bazel_patches:0002-PROTOTYPE-Add-ability-to-document-multiple-crates-at.patch",
102
103        # Adds more thumbv6m, thumbv8m, and thumbv8m triples
104        # TODO: https://pwbug.dev/392707726 - Upstream below patch
105        "//pw_rust/bazel_patches:0003-Add-thumbv6m-and-more-thumbv7m-and-thumbv8m-triples.patch",
106
107        # Adds ability to specify a subdirectory, relative to the target's BUILD
108        # file, where the rust sources live.  Without this `gen_rust_project`
109        # gets the path to those files wrong.
110        # TODO: https://pwbug.dev/3392708481 - Upstream below patch
111        "//pw_rust/bazel_patches:0004-Add-rust_srcs_subdir-to-rust_analyzer_toolchain.patch",
112
113        # rust_analyzer: Support passing a --config option to Bazel
114        # https://github.com/bazelbuild/rules_rust/pull/3254
115        "//pw_rust/bazel_patches:0005-rust_analyzer-Support-passing-a-config-option-to-Baz.patch",
116    ],
117)
118
119# Transitive deps not in BCR
120# ==========================
121http_archive = use_repo_rule(
122    "@bazel_tools//tools/build_defs/repo:http.bzl",
123    "http_archive",
124)
125
126# TODO(b/370523804): Remove this once the following issues are addressed in a
127# released version of rules_fuzzing
128# https://github.com/bazel-contrib/rules_fuzzing/issues/257
129non_module_dependencies = use_extension("@rules_fuzzing//fuzzing/private:extensions.bzl", "non_module_dependencies")
130use_repo(
131    non_module_dependencies,
132    "rules_fuzzing_oss_fuzz",
133)
134
135git_repository = use_repo_rule(
136    "@bazel_tools//tools/build_defs/repo:git.bzl",
137    "git_repository",
138)
139
140git_repository(
141    name = "bazel_clang_tidy",
142    commit = "db677011c7363509a288a9fb3bf0a50830bbf791",
143    remote = "https://github.com/erenon/bazel_clang_tidy.git",
144)
145
146# Configure libusb
147# ================
148#
149# The rules_libusb lets you configure which actual libusb version to use.
150libusb = use_extension("@rules_libusb//:extensions.bzl", "libusb")
151libusb.source_release(min_version = "1.0.27")
152use_repo(libusb, "libusb")
153
154xcode_sdk_repository = use_repo_rule("//pw_toolchain:xcode.bzl", "xcode_sdk_repository")
155
156xcode_sdk_repository(
157    name = "macos_sysroot",
158    build_file = "//pw_toolchain/host_clang:macos_sysroot.BUILD",
159)
160
161cipd_client_repository = use_repo_rule("//pw_env_setup/bazel/cipd_setup:cipd_rules.bzl", "_cipd_client_repository")
162
163cipd_client_repository(name = "cipd_client")
164
165cipd_repository = use_repo_rule("//pw_env_setup/bazel/cipd_setup:cipd_rules.bzl", "cipd_repository")
166
167# Fetch llvm toolchain.
168cipd_repository(
169    name = "llvm_toolchain",
170    build_file = "//pw_toolchain/build_external:llvm_clang.BUILD",
171    path = "fuchsia/third_party/clang/${os}-${arch}",
172    tag = "git_revision:0454dd8c48cd771478f1ae53330ba78e71bcd7cb",
173)
174
175# TODO: https://pwbug.dev/388593877 - macOS toolchain is behind because of a
176# breakage in C++ standard library headers. Remove this when the upstream LLVM
177# bug (https://github.com/llvm/llvm-project/issues/117630) is fixed and
178# rolled into Pigweed.
179cipd_repository(
180    name = "llvm_toolchain_macos",
181    build_file = "//pw_toolchain/build_external:llvm_clang.BUILD",
182    path = "fuchsia/third_party/clang/${os}-${arch}",
183    tag = "git_revision:8280651ad57cb9fb24a404cec2401040c28dec98",
184)
185
186cipd_repository(
187    name = "llvm_toolchain_device",
188    build_file = "//pw_toolchain/build_external:llvm_clang.BUILD",
189    path = "fuchsia/third_party/clang/${os}-${arch}",
190    tag = "git_revision:0454dd8c48cd771478f1ae53330ba78e71bcd7cb",
191)
192
193# Fetch linux sysroot for host builds.
194cipd_repository(
195    name = "linux_sysroot",
196    build_file = "//pw_toolchain/host_clang:linux_sysroot.BUILD",
197    path = "fuchsia/third_party/sysroot/bionic",
198    tag = "git_revision:702eb9654703a7cec1cadf93a7e3aa269d053943",
199)
200
201# Fetch gcc-arm-none-eabi toolchain.
202cipd_repository(
203    name = "gcc_arm_none_eabi_toolchain",
204    build_file = "//pw_toolchain/build_external:arm_none_eabi_gcc.BUILD",
205    path = "fuchsia/third_party/armgcc/${os}-${arch}",
206    tag = "version:2@12.2.MPACBTI-Rel1.1",
207)
208
209# Fetch the Zephyr toolchain
210cipd_repository(
211    name = "zephyr_toolchain",
212    build_file = "//pw_toolchain/build_external:zephyr.BUILD",
213    path = "infra/3pp/tools/zephyr_sdk/${os}-${arch}",
214    tag = "version:3@0.17.0",
215)
216
217register_toolchains(
218    "//pw_toolchain:cc_toolchain_cortex-m0",
219    "//pw_toolchain:cc_toolchain_cortex-m0plus",
220    "//pw_toolchain:cc_toolchain_cortex-m33",
221    "//pw_toolchain/arm_gcc:arm_gcc_cc_toolchain_cortex-m3",
222    "//pw_toolchain/arm_gcc:arm_gcc_cc_toolchain_cortex-m4",
223    "//pw_toolchain/host_clang:host_cc_toolchain_linux",
224    "//pw_toolchain/host_clang:host_cc_toolchain_macos",
225    dev_dependency = True,
226)
227
228register_toolchains(
229    "//pw_toolchain/fuchsia:all",
230    dev_dependency = True,
231)
232
233# Rust toolchains
234pw_rust = use_extension("//pw_toolchain/rust:extensions.bzl", "pw_rust")
235pw_rust.toolchain(cipd_tag = "rust_revision:77a455303bf08da8eef6236b2b4422a77cd25c42")
236use_repo(pw_rust, "pw_rust_toolchains")
237
238register_toolchains(
239    "@pw_rust_toolchains//:all",
240    dev_dependency = True,
241)
242
243crate = use_extension("@rules_rust//crate_universe:extension.bzl", "crate")
244crate.from_cargo(
245    name = "crates_no_std",
246    cargo_lockfile = "//third_party/crates_io/crates_no_std:Cargo.lock",
247    manifests = ["//third_party/crates_io/crates_no_std:Cargo.toml"],
248    # crate_universe's defaults do not include some embedded triples so the
249    # triples are listed explicitly.
250    supported_platform_triples = [
251        # Host platforms
252        "aarch64-unknown-linux-gnu",
253        "x86_64-unknown-linux-gnu",
254        "aarch64-apple-darwin",
255        "x86_64-apple-darwin",
256
257        # Target platforms
258        "thumbv6m-none-eabi",
259        "thumbv7m-none-eabi",
260        "thumbv8m.main-none-eabihf",
261    ],
262)
263use_repo(crate, "crates_no_std")
264
265# Enable necessary features for `compiler_builtins` to build.
266crate.annotation(
267    crate = "compiler_builtins",
268    rustc_flags = ["-Zallow-features=abi_unadjusted,asm_experimental_arch,naked_functions,repr_simd,cfg_target_has_atomic,compiler_builtins,core_intrinsics,linkage"],
269)
270crate.from_cargo(
271    name = "crates_std",
272    cargo_lockfile = "//third_party/crates_io/crates_std:Cargo.lock",
273    manifests = ["//third_party/crates_io/crates_std:Cargo.toml"],
274)
275use_repo(crate, "crates_std")
276
277pw_rust_crates = use_extension("@pigweed//pw_build:pw_rust_crates_extension.bzl", "pw_rust_crates_extension")
278use_repo(pw_rust_crates, "rust_crates")
279
280# Get probe-rs
281# ============
282
283# TODO: https://pwbug.dev/346388161 - Re enable use of rules_probe_rs once rp2350
284# support is upstreamed.
285#
286# probe_rs = use_extension("@rules_probe_rs//probe_rs:extensions.bzl", "probe_rs")
287# probe_rs.tools(
288#     name = "probe_rs",
289#     version = "0.24.0",
290# )
291# use_repo(probe_rs, "probe_rs")
292
293# Use pre-release prebuilts for RP2350 support.
294cipd_repository(
295    name = "probe_rs",
296    build_file = "@pigweed//third_party/probe-rs:probe-rs.BUILD.bazel",
297    path = "pigweed/third_party/probe-rs/${os}-${arch}",
298    tag = "git_revision:37660106aba307cbab5cf6c2b0da57b72b6dc4e9",
299)
300
301# Configure Python toolchains and pip dependencies.
302# =================================================
303python = use_extension("@rules_python//python/extensions:python.bzl", "python")
304python.toolchain(
305    # Allows building as root in a docker container. Required by oss-fuzz.
306    ignore_root_user_error = True,
307    is_default = True,
308    python_version = "3.11",
309)
310use_repo(python, "pythons_hub")
311
312pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
313pip.parse(
314    hub_name = "python_packages",
315    python_version = "3.11",
316    requirements_darwin = "//pw_env_setup/py:pw_env_setup/virtualenv_setup/upstream_requirements_darwin_lock.txt",
317    requirements_linux = "//pw_env_setup/py:pw_env_setup/virtualenv_setup/upstream_requirements_linux_lock.txt",
318    requirements_windows = "//pw_env_setup/py:pw_env_setup/virtualenv_setup/upstream_requirements_windows_lock.txt",
319)
320use_repo(pip, "python_packages")
321
322# TODO: b/354241571 - The next two lines are only required because the Fuchsia
323# SDK doesn't correctly restrict the target platform compatibility of all its
324# targets. We should remove them once the bug is fixed.
325register_toolchains("@pythons_hub//:all")
326
327register_toolchains("@rules_python//python/runtime_env_toolchains:all")
328
329# Configure Go dependencies
330# =========================
331go_deps = use_extension("@bazel_gazelle//:extensions.bzl", "go_deps")
332go_deps.from_file(go_mod = "//:go.mod")
333use_repo(go_deps, "org_golang_google_grpc", "org_golang_google_grpc_examples", "org_golang_google_protobuf")
334
335# Configure Java dependencies
336# ===========================
337maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
338maven.install(
339    artifacts = [
340        "com.google.auto.value:auto-value-annotations:1.8.2",
341        "com.google.auto.value:auto-value:1.8.2",
342        "com.google.code.findbugs:jsr305:3.0.2",
343        "com.google.flogger:flogger-system-backend:0.7.1",
344        "com.google.flogger:flogger:0.7.1",
345        "com.google.guava:failureaccess:1.0.2",
346        "com.google.guava:guava:31.0.1-jre",
347        "com.google.truth:truth:1.1.3",
348        "org.mockito:mockito-core:4.1.0",
349    ],
350    repositories = [
351        "https://maven.google.com/",
352        "https://jcenter.bintray.com/",
353        "https://repo1.maven.org/maven2",
354    ],
355)
356use_repo(
357    maven,
358    "maven",
359)
360
361# QEMU prebuilts
362# ==============
363cipd_repository(
364    name = "qemu",
365    build_file = "//third_party/qemu:qemu.BUILD",
366    path = "fuchsia/third_party/qemu/${os}-${arch}",
367    tag = "git_revision:d922088eb4ba6bc31a99f17b32cf75e59dd306cd",
368)
369
370# Vendored libraries
371# ==================
372
373# TODO: https://pwbug.dev/378531541 - These are one-off external libraries that
374# are NOT in the BCR that downstream users may need to override/unify to their
375# expected version.
376
377# TODO: https://pwbug.dev/354749299 - Use the BCR version of mbedtls.
378http_archive(
379    name = "mbedtls",
380    build_file = "//:third_party/mbedtls/mbedtls.BUILD.bazel",
381    sha256 = "241c68402cef653e586be3ce28d57da24598eb0df13fcdea9d99bfce58717132",
382    strip_prefix = "mbedtls-2.28.8",
383    url = "https://github.com/Mbed-TLS/mbedtls/releases/download/v2.28.8/mbedtls-2.28.8.tar.bz2",
384)
385
386# TODO: https://github.com/bazelbuild/bazel/issues/23077 - Make these
387# bazel_deps dev_dependencies once archive_override has a build_file argument.
388http_archive(
389    name = "stm32f4xx_hal_driver",
390    build_file = "//third_party/stm32cube:stm32_hal_driver.BUILD.bazel",
391    sha256 = "d0427a3830f0c23dd4810952321b8209be7b3c50897d1fc2d79587435cc3a379",
392    strip_prefix = "stm32f4xx-hal-driver-1.8.0",
393    urls = ["https://github.com/STMicroelectronics/stm32f4xx-hal-driver/archive/refs/tags/v1.8.0.tar.gz"],
394)
395
396http_archive(
397    name = "cmsis_device_f4",
398    build_file = "//third_party/stm32cube:cmsis_device.BUILD.bazel",
399    sha256 = "1d9612ecaaab8708c88be2c9573927f2e5e9a911aa2c1427182b545ed5ed0fd6",
400    strip_prefix = "cmsis-device-f4-2.6.8",
401    urls = ["https://github.com/STMicroelectronics/cmsis-device-f4/archive/refs/tags/v2.6.8.tar.gz"],
402)
403
404http_archive(
405    name = "cmsis_core",
406    build_file = "//third_party/stm32cube:cmsis_core.BUILD.bazel",
407    sha256 = "32f226c31d7d1ff4a504404400603e047b99f405cd0c9a8f417f1f250251b829",
408    strip_prefix = "cmsis-core-5.4.0_cm4",
409    urls = ["https://github.com/STMicroelectronics/cmsis-core/archive/refs/tags/v5.4.0_cm4.tar.gz"],
410)
411
412git_repository(
413    name = "mcuxpresso",
414    commit = "0cc0caa0c44fc9ceae1ad4c0a9e3b79e8b38d751",
415    # temporary point to antmicro github fork until SDK generated files
416    # will be pushed to: https://pigweed.googlesource.com/pigweed/mcuxpresso-sdk
417    remote = "https://github.com/antmicro/mcuxpresso-sdk.git",
418)
419
420# Other Pigweed-specific dependencies
421# ===================================
422cipd_repository(
423    name = "bloaty",
424    path = "fuchsia/third_party/bloaty/${os=linux,mac}-amd64",
425    tag = "git_revision:c057ba4f43db0506d4ba8c096925b054b02a8bd3",
426)
427
428cipd_repository(
429    name = "buildifier",
430    path = "infra/3pp/tools/buildifier/${platform}",
431    tag = "version:3@v8.0.3",
432)
433
434# Set up legacy pw_transfer test binaries.
435# Required by: pigweed.
436# Used in modules: //pw_transfer.
437cipd_repository(
438    name = "pw_transfer_test_binaries",
439    # Only ever needed if you run the pw_transfer unit tests.
440    dev_dependency = True,
441    path = "pigweed/pw_transfer_test_binaries/${os=linux}-${arch=amd64}",
442    tag = "version:pw_transfer_test_binaries_528098d588f307881af83f769207b8e6e1b57520-linux-amd64-cipd.cipd",
443)
444
445workspace_and_buildfile = use_repo_rule("//pw_build/bazel_internal:workspace_and_buildfile.bzl", "workspace_and_buildfile")
446
447workspace_and_buildfile(
448    name = "pw_build_external_runfile_resource",
449    build_file = "//pw_build:test_data/external_py_runfiles.BUILD",
450    dev_dependency = True,
451)
452
453# Doxygen setup
454# =============
455
456# Get executables.
457cipd_repository(
458    name = "doxygen_linux_amd64",
459    path = "pigweed/third_party/doxygen/linux-amd64",
460    tag = "version:1.9.6-1",
461)
462
463cipd_repository(
464    name = "doxygen_mac_amd64",
465    path = "pigweed/third_party/doxygen/mac-amd64",
466    tag = "version:1.9.6-1",
467)
468
469cipd_repository(
470    name = "doxygen_mac_arm64",
471    path = "pigweed/third_party/doxygen/mac-arm64",
472    tag = "version:1.9.6",
473)
474
475cipd_repository(
476    name = "doxygen_windows_amd64",
477    path = "pigweed/third_party/doxygen/windows-amd64",
478    tag = "version:1.9.6-1",
479)
480
481# Configure rules_doxygen to use our executables.
482doxygen_extension = use_extension("@rules_doxygen//:extensions.bzl", "doxygen_extension", dev_dependency = True)
483doxygen_extension.configuration(
484    executable = "@doxygen_linux_amd64//:bin/doxygen",
485    platform = "linux",
486)
487doxygen_extension.configuration(
488    executable = "@doxygen_mac_amd64//:doxygen",
489    platform = "mac",
490)
491doxygen_extension.configuration(
492    executable = "@doxygen_mac_arm64//:doxygen",
493    platform = "mac-arm",
494)
495doxygen_extension.configuration(
496    executable = "@doxygen_windows_amd64//:windows.exe",
497    platform = "windows",
498)
499use_repo(doxygen_extension, "doxygen")
500
501# Configure Node.js dependencies
502# ==============================
503
504node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node", dev_dependency = True)
505node.toolchain(node_version = "20.12.1")
506
507npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm", dev_dependency = True)
508npm.npm_translate_lock(
509    name = "npm",
510    pnpm_lock = "//:pnpm-lock.yaml",
511)
512use_repo(npm, "npm")
513
514# Setup Fuchsia SDK.
515# ==================
516FUCHSIA_SDK_VERSION = "version:27.20250226.5.1"
517
518cipd_repository(
519    name = "fuchsia_sdk",
520    path = "fuchsia/sdk/core/fuchsia-bazel-rules/linux-amd64",
521    tag = FUCHSIA_SDK_VERSION,
522)
523
524cipd_repository(
525    name = "rules_fuchsia",
526    path = "fuchsia/development/rules_fuchsia",
527    tag = FUCHSIA_SDK_VERSION,
528)
529
530fuchsia_clang_repository = use_repo_rule("@rules_fuchsia//fuchsia/workspace:fuchsia_clang_repository.bzl", "fuchsia_clang_repository")
531
532fuchsia_clang_repository(
533    name = "fuchsia_clang",
534    cipd_tag = "git_revision:aea60ab94db4729bad17daa86ccfc411d48a1699",
535)
536
537cipd_repository(
538    name = "fuchsia_products_metadata",
539    path = "fuchsia/development/product_bundles/v2",
540    tag = FUCHSIA_SDK_VERSION,
541)
542
543fuchsia_products_repository = use_repo_rule("//pw_build/bazel_internal/fuchsia_sdk_workspace:products.bzl", "fuchsia_products_repository")
544
545fuchsia_products_repository(
546    name = "fuchsia_products",
547    metadata_file = "@fuchsia_products_metadata//:product_bundles.json",
548)
549
550register_toolchains(
551    "//pw_toolchain/fuchsia:fuchsia_sdk_toolchain",
552    dev_dependency = True,
553)
554
555fake_fuchsia_sdk_extension = use_extension("@com_google_googletest//:fake_fuchsia_sdk.bzl", "fuchsia_sdk", dev_dependency = True)
556
557override_repo(fake_fuchsia_sdk_extension, "fuchsia_sdk")
558