"""Bzlmod module extensions"""

load("//:repositories.bzl", "rust_proto_protobuf_dependencies")

def _rust_ext_protobuf_impl(module_ctx):
    # This should contain the subset of WORKSPACE.bazel that defines
    # repositories.
    direct_deps = []

    direct_deps.extend(rust_proto_protobuf_dependencies(bzlmod = True))

    # is_dev_dep is ignored here. It's not relevant for internal_deps, as dev
    # dependencies are only relevant for module extensions that can be used
    # by other MODULES.
    return module_ctx.extension_metadata(
        root_module_direct_deps = [repo.repo for repo in direct_deps],
        root_module_direct_dev_deps = [],
    )

rust_ext_protobuf = module_extension(
    doc = "Dependencies for rules_rust extensions.",
    implementation = _rust_ext_protobuf_impl,
)
