###############################################################################
# Bazel now uses Bzlmod by default to manage external dependencies.
# Please consider migrating your external dependencies from WORKSPACE to MODULE.bazel.
#
# For more details, please check https://github.com/bazelbuild/bazel/issues/18958
###############################################################################

# NOTE: When editing this file, also update the lockfile.
#   bazel mod deps --lockfile_mode=update

bazel_dep(name = "platforms", version = "0.0.11")
bazel_dep(name = "rules_go", repo_name = "io_bazel_rules_go")
single_version_override(
    module_name = "rules_go",
    patch_strip = 1,
    patches = [
        "//third_party/go/patches:rules_go_absolute_embedsrc.patch",
    ],
    version = "0.51.0",
)

bazel_dep(name = "gazelle", repo_name = "bazel_gazelle")
single_version_override(
    module_name = "gazelle",
    patch_strip = 1,
    patches = [
        "//third_party/gazelle:add-prepatching.patch",
    ],
    version = "0.41.0",
)

# rules_rust was split into multiple dependencies. Sadly, this means we have to
# patch each include separately.
bazel_dep(name = "rules_rust")
single_version_override(
    module_name = "rules_rust",
    patch_strip = 1,
    patches = [
        "//third_party/rules_rust:rust-uefi-platform.patch",
        "//third_party/rules_rust:rust-prost-nostd.patch",
        "//third_party/rules_rust:rust-reproducibility.patch",
    ],
    version = "0.56.0",
)

bazel_dep(name = "rules_rust_prost")
single_version_override(
    module_name = "rules_rust_prost",
    patch_strip = 3,
    patches = [
        "//third_party/rules_rust:rust-prost-nostd.patch",
    ],
    version = "0.56.0",
)

bazel_dep(name = "rules_rust_protobuf", version = "0.56.0")
bazel_dep(name = "zlib")
single_version_override(
    module_name = "zlib",
    version = "1.3.1",
)

bazel_dep(name = "buildifier_prebuilt", version = "7.3.1")
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "rules_pkg", version = "1.0.1")
bazel_dep(name = "rules_oci", version = "2.2.0")
bazel_dep(name = "aspect_bazel_lib", version = "2.10.0")
bazel_dep(name = "rules_multirun", version = "0.10.0")
bazel_dep(name = "rules_python", version = "1.0.0")
bazel_dep(name = "rules_cc", version = "0.1.0")
bazel_dep(name = "rules_proto", version = "7.1.0")
bazel_dep(name = "rules_proto_grpc_doc", version = "5.0.1")
bazel_dep(name = "rules_proto_grpc_buf", version = "5.0.1")

# Currently supported version are listed here:
# https://protobuf.dev/support/version-support/
bazel_dep(name = "protobuf", version = "29.2")

# Load musl toolchain Metropolis sysroot tarball into external repository.
musl_sysroot_rule = use_repo_rule("//build/toolchain/musl-host-gcc:sysroot_repository.bzl", "musl_sysroot_rule")

musl_sysroot_rule(
    name = "musl_sysroot",
    snapshot = "//build/toolchain/musl-host-gcc:sysroot.tar.xz",
)

# Register our custom CC toolchains. Order matters - more specific toolchains must be registered first.
# (host_cc_toolchain won't care about //build/platforms/linkmode, but musl_host_toolchain won't
# match anything unless its linkmode is set).
register_toolchains("//build/toolchain/musl-host-gcc:musl_host_toolchain")

register_toolchains("//build/toolchain/llvm-efi:efi_k8_toolchain")

register_toolchains("//build/toolchain:host_cc_toolchain")

# Rust Toolchains
register_toolchains("@rust_toolchains//:all")

# Protobuf Toolchains
register_toolchains("@rules_rust_protobuf//:default_proto_toolchain")

register_toolchains("//build/rust:prost_efi_toolchain")

include("//build/bazel:rust.MODULE.bazel")

include("//build/bazel:go.MODULE.bazel")

include("//build/bazel:oci.MODULE.bazel")

include("//build/bazel:third_party.MODULE.bazel")
