###############################################################################
# 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")
single_version_override(
    module_name = "platforms",
    patch_strip = 1,
    patches = [
        "//third_party:platforms-add-uefi.patch",
    ],
    version = "0.0.10",
)

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.50.1",
)

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.39.0",
)

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",
        "//third_party/rules_rust:Add-extra_rustc_flags-to-module-extension.patch",
    ],
    version = "0.53.0",
)

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

# Fix bazel 7.2 compatibility https://github.com/grpc/grpc-java/issues/11275
# This is coming from the grpc dependency.
# ├───grpc@1.65.0
# │   ├───googleapis@0.0.0-20240326-1c8d509c5
# │   │   └───grpc-java@1.64.0
single_version_override(
    module_name = "grpc-java",
    version = "1.66.0",
)

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.0.0")
bazel_dep(name = "aspect_bazel_lib", version = "2.9.0")
bazel_dep(name = "rules_multirun", version = "0.9.0")
bazel_dep(name = "rules_python", version = "0.36.0")
bazel_dep(name = "rules_cc", version = "0.0.10")
bazel_dep(name = "grpc", version = "1.66.0")
bazel_dep(name = "rules_proto", version = "6.0.2")
bazel_dep(name = "toolchains_protoc", version = "0.3.3")

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

# 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//proto/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")
