# To build Bazel with Bzlmod: `bazel build --enable_bzlmod //src:bazel_nojdk`.

module(
    name = "bazel",
    version = "7.0.0-pre",
    repo_name = "io_bazel",
)

bazel_dep(name = "rules_license", version = "0.0.3")
bazel_dep(name = "bazel_skylib", version = "1.4.1")
bazel_dep(name = "protobuf", version = "21.7", repo_name = "com_google_protobuf")
bazel_dep(name = "grpc", version = "1.48.1", repo_name = "com_github_grpc_grpc")
bazel_dep(name = "platforms", version = "0.0.6")
bazel_dep(name = "rules_pkg", version = "0.7.0")
bazel_dep(name = "stardoc", version = "0.5.3", repo_name = "io_bazel_skydoc")
bazel_dep(name = "zstd-jni", version = "1.5.2-3")
bazel_dep(name = "zlib", version = "1.2.13")
bazel_dep(name = "rules_cc", version = "0.0.6")
bazel_dep(name = "rules_java", version = "5.5.0")
bazel_dep(name = "rules_proto", version = "5.3.0-21.7")
bazel_dep(name = "rules_jvm_external", version = "4.5")
bazel_dep(name = "rules_python", version = "0.19.0")
bazel_dep(name = "rules_testing", version = "0.0.4")

single_version_override(
    module_name = "rules_jvm_external",
    patch_strip = 1,
    patches = ["//third_party:rules_jvm_external.patch"],
)

maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
maven.install(
    # We don't yet specify the maven coordinates in the MODULE.bazel to avoid duplicating information.
    # Always respect the maven_install.json file generated by rules_jvm_external from the WORKSPACE file.
    # TODO(pcloudy): We should add maven coordinates here when we enable Bzlmod in the default build for Bazel.
    lock_file = "//:maven_install.json",
    repositories = [
        "https://repo1.maven.org/maven2",
    ],
)
use_repo(maven, "maven")

# TODO(pcloudy): Add remoteapis and googleapis as Bazel modules in the BCR.
bazel_dep(name = "remoteapis", version = "")
bazel_dep(name = "googleapis", version = "")

local_path_override(
    module_name = "remoteapis",
    path = "./third_party/remoteapis",
)

local_path_override(
    module_name = "googleapis",
    path = "./third_party/googleapis",
)

bazel_internal_deps = use_extension("//:extensions.bzl", "bazel_internal_deps")
use_repo(
    bazel_internal_deps,
    "openjdk_linux_vanilla",
    "openjdk_linux_aarch64_vanilla",
    "openjdk_linux_ppc64le_vanilla",
    "openjdk_linux_s390x_vanilla",
    "openjdk_macos_x86_64_vanilla",
    "openjdk_macos_aarch64_vanilla",
    "openjdk_win_vanilla",
    "openjdk_win_arm64_vanilla",
)

register_toolchains("@bazel_tools//tools/python:autodetecting_toolchain")

# Dev dependencies

bazel_dep(name = "googletest", version = "1.12.1", repo_name = "com_google_googletest", dev_dependency = True)
