"""Bazel build and test dependencies."""

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

module(
    name = "bazel",
    version = "9.0.0-prerelease",
    repo_name = "io_bazel",
)

# =========================================
# Bazel module dependencies
# =========================================

bazel_dep(name = "abseil-cpp", version = "20250814.1")
bazel_dep(name = "bazel_skylib", version = "1.8.2")
bazel_dep(name = "blake3", version = "1.8.2")
bazel_dep(name = "googleapis-grpc-java", version = "1.0.0")
bazel_dep(name = "googleapis-java", version = "1.0.0")
bazel_dep(name = "googleapis", version = "0.0.0-20250604-de157ca3")
bazel_dep(name = "googletest", version = "1.17.0.bcr.2", repo_name = "com_google_googletest")
bazel_dep(name = "grpc-java", version = "1.71.0")
bazel_dep(name = "grpc", version = "1.76.0.bcr.1", repo_name = "com_github_grpc_grpc")
bazel_dep(name = "platforms", version = "1.0.0")
bazel_dep(name = "protobuf", version = "33.1", repo_name = "com_google_protobuf")
bazel_dep(name = "re2", version = "2025-11-05.bcr.1")
bazel_dep(name = "rules_graalvm", version = "0.11.1")
bazel_dep(name = "rules_java", version = "9.1.0")
bazel_dep(name = "rules_jvm_external", version = "6.6")
bazel_dep(name = "rules_license", version = "1.0.0")
bazel_dep(name = "rules_pkg", version = "1.1.0")
bazel_dep(name = "rules_python", version = "1.7.0")
bazel_dep(name = "rules_shell", version = "0.6.1")
bazel_dep(name = "rules_testing", version = "0.9.0")
bazel_dep(name = "stardoc", version = "0.8.0", repo_name = "io_bazel_skydoc")
bazel_dep(name = "with_cfg.bzl", version = "0.13.0")
bazel_dep(name = "zlib", version = "1.3.1.bcr.7")
bazel_dep(name = "zstd-jni", version = "1.5.6-9")

# Depend on apple_support first and then rules_cc so that the Xcode toolchain
# from apple_support wins over the generic Unix toolchain from rules_cc.
bazel_dep(name = "apple_support", version = "1.24.5")
bazel_dep(name = "rules_cc", version = "0.2.14")

# The starlark rules in @rules_cc are hidden behind macros but docgen needs to
# load the rule class directly, so we need to expose the cc_compatibility_proxy
# repo for access to the symbols
cc_compatibility_proxy = use_extension("@rules_cc//cc:extensions.bzl", "compatibility_proxy")
use_repo(cc_compatibility_proxy, "cc_compatibility_proxy")

# TODO: wyv@ - add remoteapis to the BCR
bazel_dep(name = "remoteapis", version = "")

# Indirect module dependencies. Minimal versions are specified for compatibility; repo_name=None avoids accidental usages
bazel_dep(name = "buildozer", version = "8.2.1", repo_name = None)  # Keep in sync with MODULE.tools
bazel_dep(name = "rules_swift", version = "3.3.0")  # with repo_name = None, version drops to 2.4.0
bazel_dep(name = "rules_apple", version = "4.3.1", repo_name = None)
bazel_dep(name = "google_benchmark", version = "1.9.4", repo_name = None)
bazel_dep(name = "onetbb", version = "2022.2.0", repo_name = None)

# bazel_dep overrides
single_version_override(
    module_name = "rules_jvm_external",
    patch_strip = 1,
    patches = ["//third_party:rules_jvm_external_6.5.patch"],
    version = "6.6",
)

# TODO(pcloudy): Remove once the next version of rules_graalvm is available.
single_version_override(
    module_name = "rules_graalvm",
    patch_strip = 1,
    patches = [
        "//third_party:rules_graalvm_fix.patch",
        "//third_party:rules_graalvm_unicode.patch",
        "//third_party:rules_graalvm_load_fix.patch",
        "//third_party:rules_graalvm_bazel9_fixes.patch",
    ],
)

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

single_version_override(
    module_name = "googleapis",
    patch_strip = 1,
    patches = ["//third_party:googleapis.patch"],
    version = "0.0.0-20250604-de157ca3",
)

single_version_override(
    module_name = "protoc-gen-validate",
    patch_strip = 1,
    patches = ["//third_party:protoc-gen-validate.patch"],
    version = "1.2.1.bcr.1",
)

# 1. Expose @com_google_protobuf//java/core:lite_runtime_only
# due to https://github.com/protocolbuffers/protobuf/commit/079be27925955348d1b3cb30ffbfa33dcec5778c
# We need to package the lite runtime jar for Bazel's bootstrap build
# 2. Partially revert of https://github.com/protocolbuffers/protobuf/commit/7ec5e19c0743b80c5097434a05cc0e972e7b4e7a
# to support grpc
single_version_override(
    module_name = "protobuf",
    patch_strip = 1,
    patches = ["//third_party:protobuf.patch"],
    version = "33.1",
)

# Remove once the following PRs are available in a grpc-java release.
#   https://github.com/grpc/grpc-java/pull/12148
#   https://github.com/grpc/grpc-java/pull/12207
#   https://github.com/grpc/grpc-java/pull/12222
single_version_override(
    module_name = "grpc-java",
    patch_strip = 1,
    patches = [
        "//third_party:grpc-java.patch",
        "//third_party:grpc-java-12207.patch",
        "//third_party:grpc-java-12222.patch",
        "//third_party:grpc-java-addloads.patch",
    ],
)

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

# =========================================
# Java dependencies
# =========================================

maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
maven.install(
    artifacts = [
        # keep sorted
        "args4j:args4j:2.37",
        "com.beust:jcommander:1.82",
        "com.dylibso.chicory:runtime:1.5.2",
        "com.dylibso.chicory:wasm:1.5.2",
        "com.dylibso.chicory:log:1.5.2",
        "com.github.ben-manes.caffeine:caffeine:3.1.8",
        "com.github.stephenc.jcip:jcip-annotations:1.0-1",
        "com.google.api-client:google-api-client:1.35.2",
        "com.google.api-client:google-api-client-gson:1.35.2",
        "com.google.auth:google-auth-library-credentials:1.24.1",
        "com.google.auth:google-auth-library-oauth2-http:1.24.1",
        "com.google.auto:auto-common:1.2.2",
        "com.google.auto.service:auto-service:1.0",
        "com.google.auto.service:auto-service-annotations:1.0.1",
        "com.google.auto.value:auto-value:1.11.0",
        "com.google.auto.value:auto-value-annotations:1.11.0",
        "com.google.code.findbugs:jsr305:3.0.2",
        "com.google.code.gson:gson:2.11.0",
        "com.google.code.java-allocation-instrumenter:java-allocation-instrumenter:3.3.4",
        "com.google.errorprone:error_prone_annotation:2.41.0",
        "com.google.errorprone:error_prone_annotations:2.41.0",
        "com.google.errorprone:error_prone_check_api:2.41.0",
        "com.google.errorprone:error_prone_core:2.41.0",
        "com.google.flogger:flogger:0.5.1",
        "com.google.flogger:flogger-system-backend:0.5.1",
        "com.google.flogger:google-extensions:0.5.1",
        "com.google.guava:failureaccess:1.0.3",
        "com.google.guava:guava:33.5.0-jre",
        "com.google.http-client:google-http-client:1.42.2",
        "com.google.http-client:google-http-client-gson:1.42.2",
        "com.google.turbine:turbine:0.13.1",
        "com.guardsquare:proguard-base:jar:7.5.0",
        "com.ryanharter.auto.value:auto-value-gson-extension:1.3.1",
        "com.ryanharter.auto.value:auto-value-gson-factory:1.3.1",
        "com.ryanharter.auto.value:auto-value-gson-runtime:1.3.1",
        "com.squareup:javapoet:1.12.0",
        "commons-collections:commons-collections:3.2.2",
        "commons-lang:commons-lang:2.6",
        "io.github.java-diff-utils:java-diff-utils:4.12",
        "io.grpc:grpc-api:1.66.0",
        "io.grpc:grpc-auth:1.66.0",
        "io.grpc:grpc-context:1.66.0",
        "io.grpc:grpc-core:1.66.0",
        "io.grpc:grpc-inprocess:1.66.0",
        "io.grpc:grpc-netty:1.66.0",
        "io.grpc:grpc-protobuf:1.66.0",
        "io.grpc:grpc-protobuf-lite:1.66.0",
        "io.grpc:grpc-stub:1.66.0",
        "io.netty:netty-buffer:4.1.119.Final",
        "io.netty:netty-codec:4.1.119.Final",
        "io.netty:netty-codec-http:4.1.119.Final",
        "io.netty:netty-codec-http2:4.1.119.Final",
        "io.netty:netty-common:4.1.119.Final",
        "io.netty:netty-handler:4.1.119.Final",
        "io.netty:netty-handler-proxy:4.1.119.Final",
        "io.netty:netty-resolver:4.1.119.Final",
        "io.netty:netty-resolver-dns:4.1.119.Final",
        "io.netty:netty-tcnative-boringssl-static:jar:linux-aarch_64:2.0.70.Final",
        "io.netty:netty-tcnative-boringssl-static:jar:linux-x86_64:2.0.70.Final",
        "io.netty:netty-tcnative-boringssl-static:jar:osx-aarch_64:2.0.70.Final",
        "io.netty:netty-tcnative-boringssl-static:jar:osx-x86_64:2.0.70.Final",
        "io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64:2.0.70.Final",
        "io.netty:netty-tcnative-classes:2.0.70.Final",
        "io.netty:netty-transport:4.1.119.Final",
        "io.netty:netty-transport-classes-epoll:4.1.119.Final",
        "io.netty:netty-transport-classes-kqueue:4.1.119.Final",
        "io.netty:netty-transport-native-epoll:jar:linux-aarch_64:4.1.119.Final",
        "io.netty:netty-transport-native-epoll:jar:linux-x86_64:4.1.119.Final",
        "io.netty:netty-transport-native-kqueue:jar:osx-aarch_64:4.1.119.Final",
        "io.netty:netty-transport-native-kqueue:jar:osx-x86_64:4.1.119.Final",
        "io.netty:netty-transport-native-unix-common:4.1.119.Final",
        "io.netty:netty-transport-native-unix-common:jar:linux-aarch_64:4.1.119.Final",
        "io.netty:netty-transport-native-unix-common:jar:linux-x86_64:4.1.119.Final",
        "io.netty:netty-transport-native-unix-common:jar:osx-aarch_64:4.1.119.Final",
        "io.netty:netty-transport-native-unix-common:jar:osx-x86_64:4.1.119.Final",
        "io.reactivex.rxjava3:rxjava:3.1.2",
        "it.unimi.dsi:fastutil:7.2.1",
        "javax.activation:javax.activation-api:1.2.0",
        "javax.annotation:javax.annotation-api:1.3.2",
        "javax.inject:javax.inject:1",
        "org.apache.commons:commons-compress:1.28.0",
        "org.apache.commons:commons-lang3:3.14.0",
        "org.apache.tomcat:tomcat-annotations-api:8.0.5",
        "org.apache.velocity:velocity:1.7",
        "org.checkerframework:checker-qual:3.42.0",
        "org.commonmark:commonmark:0.25.0",
        "org.openjdk.jmh:jmh-core:1.37",
        "org.openjdk.jmh:jmh-generator-annprocess:1.37",
        "org.ow2.asm:asm:9.9",
        "org.ow2.asm:asm-analysis:9.9",
        "org.ow2.asm:asm-commons:9.9",
        "org.ow2.asm:asm-tree:9.9",
        "org.ow2.asm:asm-util:9.9",
        "org.pcollections:pcollections:4.0.1",
        "org.threeten:threeten-extra:1.5.0",
        "org.tukaani:xz:1.9",
        "org.yaml:snakeyaml:2.0",
        # The following jars are for testing.
        # junit is not test only due to //src/java_tools/junitrunner/java/com/google/testing/junit/junit4:runner,
        # and hamcrest is a dependency of junit.
        "junit:junit:4.13.2",
        "org.hamcrest:hamcrest-core:1.3",
    ],
    excluded_artifacts = [
        # org.apache.httpcomponents and org.eclipse.jgit:org.eclipse.jgit
        # require java.security.jgss module to be embedded in the Bazel binary.
        "org.apache.httpcomponents:httpclient",
        "org.apache.httpcomponents:httpcore",
        "org.eclipse.jgit:org.eclipse.jgit",
    ],
    fail_if_repin_required = True,
    lock_file = "//:maven_install.json",
    repositories = [
        "https://repo1.maven.org/maven2",
    ],
    strict_visibility = True,
)

# Test only maven dependencies
[
    maven.artifact(
        testonly = True,
        artifact = artifact,
        group = group,
        version = version,
    )
    for group, artifact, version in [coord.split(":") for coord in [
        "com.google.guava:guava-testlib:33.2.1-jre",
        "com.google.jimfs:jimfs:1.2",
        "com.google.testing.compile:compile-testing:0.18",
        "com.google.testparameterinjector:test-parameter-injector:1.16",
        "com.google.truth:truth:1.4.2",
        "com.google.truth.extensions:truth-java8-extension:1.4.0",
        "com.google.truth.extensions:truth-liteproto-extension:1.4.0",
        "com.google.truth.extensions:truth-proto-extension:1.4.0",
        "org.mockito:mockito-core:5.20.0",
    ]]
]

use_repo(maven, "maven")

java_toolchains = use_extension("@rules_java//java:extensions.bzl", "toolchains")
use_repo(
    java_toolchains,
    "local_jdk",
    # The following are required for visibility in //src:test_repos
    "remote_java_tools",
    "remote_java_tools_darwin_arm64",
    "remote_java_tools_darwin_x86_64",
    "remote_java_tools_linux",
    "remote_java_tools_linux_aarch64",
    "remote_java_tools_windows",
    "remotejdk11_linux",
    "remotejdk11_linux_aarch64",
    "remotejdk11_linux_ppc64le",
    "remotejdk11_linux_s390x",
    "remotejdk11_macos",
    "remotejdk11_macos_aarch64",
    "remotejdk11_win",
    "remotejdk11_win_arm64",
    "remotejdk17_linux",
    "remotejdk17_linux_s390x",
    "remotejdk17_macos",
    "remotejdk17_macos_aarch64",
    "remotejdk17_win",
    "remotejdk17_win_arm64",
    "remotejdk21_linux",
    "remotejdk21_linux_s390x",
    "remotejdk21_macos",
    "remotejdk21_macos_aarch64",
    "remotejdk21_win",
)

# =========================================
# Python dependencies
# =========================================

python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
    ignore_root_user_error = True,
    is_default = True,
    python_version = "3.11",
)

pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
    hub_name = "bazel_pip_dev_deps",
    python_version = "3.11",
    requirements_lock = "//:requirements.txt",
)
use_repo(pip, "bazel_pip_dev_deps")

# =========================================
# Other Bazel build dependencies
# =========================================

bazel_build_deps = use_extension("//:extensions.bzl", "bazel_build_deps")
use_repo(
    bazel_build_deps,
    "bazel_tools_repo_cache",
    "bootstrap_repo_cache",
    "debian_bin_deps",
    "debian_cc_deps",
    "debian_java_deps",
    "debian_proto_deps",
    "graalvm_ce_toolchains",
    "graalvm_oracle",
    "openjdk_linux_aarch64_vanilla",
    "openjdk_linux_ppc64le_vanilla",
    "openjdk_linux_riscv64_vanilla",
    "openjdk_linux_s390x_vanilla",
    "openjdk_linux_vanilla",
    "openjdk_macos_aarch64_vanilla",
    "openjdk_macos_x86_64_vanilla",
    "openjdk_win_arm64_vanilla",
    "openjdk_win_vanilla",
)

# Required only by `--extra_toolchains=@local_config_cc//:cc-toolchain-arm64_windows` from .bazelrc
cc_configure = use_extension("@rules_cc//cc:extensions.bzl", "cc_configure_extension")
use_repo(cc_configure, "local_config_cc")

http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")

# DO NOT UPDATE the jq versions, they are used to verify compatibility with old and new versions.
http_file(
    name = "jq_linux_amd64",
    executable = True,
    integrity = "sha256-xrOn19PntwxvUbcGo7kL0BgzhGxU0yyjLwAn8AIm/20=",
    urls = ["https://github.com/jqlang/jq/releases/download/jq-1.5/jq-linux64"],
)

http_file(
    name = "jq_linux_arm64",
    executable = True,
    integrity = "sha256-TdLYoGYd8LIvG7mh+YMPBrbzuPfZEhGh7118TwaotKU=",
    urls = ["https://github.com/jqlang/jq/releases/download/jq-1.7.1/jq-linux-arm64"],
)

http_file(
    name = "jq_linux_s390x",
    executable = True,
    integrity = "sha256-hot8PKdCJKAt22EyYd38LkOxLart1etYNz29x/LF+SQ=",
    urls = ["https://github.com/jqlang/jq/releases/download/jq-1.7.1/jq-linux-s390x"],
)

http_file(
    name = "jq_macos_amd64",
    executable = True,
    integrity = "sha256-OG6SyYKlb+SFFGjXqTHfyilWDO4wag5mxqG9QGXT2sU=",
    urls = ["https://github.com/jqlang/jq/releases/download/jq-1.5/jq-osx-amd64"],
)

http_file(
    name = "jq_macos_arm64",
    executable = True,
    integrity = "sha256-C75hnmY+DeLFUL4v4NJA0HZ5nW+KZStw+gSuqKg2Loo=",
    urls = ["https://github.com/jqlang/jq/releases/download/jq-1.7.1/jq-macos-arm64"],
)

http_file(
    name = "jq_windows_amd64",
    executable = True,
    integrity = "sha256-6+zYQLpH779mgihoF4zHIaFRBgk396xAbj0xvQFb3pQ=",
    urls = ["https://github.com/jqlang/jq/releases/download/jq-1.5/jq-win64.exe"],
)

async_profiler_repos = use_extension("//:repositories.bzl", "async_profiler_repos")
use_repo(
    async_profiler_repos,
    "async_profiler",
    "async_profiler_linux_arm64",
    "async_profiler_linux_x64",
    "async_profiler_macos",
)

# =========================================
# Other Bazel testing dependencies
# =========================================

bazel_dep(name = "bazel_ci_rules", version = "1.0.0")
bazel_dep(name = "rules_fuzzing", version = "0.6.0")
bazel_dep(name = "wabt", version = "1.0.37")

rbe_preconfig = use_repo_rule("@bazel_ci_rules//:rbe_repo.bzl", "rbe_preconfig")

rbe_preconfig(
    name = "rbe_ubuntu2004",
    toolchain = "ubuntu2004",
)

list_source_repository = use_repo_rule("//src/test/shell/bazel:list_source_repository.bzl", "list_source_repository")

list_source_repository(name = "local_bazel_source_list")

winsdk_configure = use_repo_rule("//src/main/res:winsdk_configure.bzl", "winsdk_configure")

winsdk_configure(name = "local_config_winsdk")

# /usr/local/kythe is setup on Bazel CI machines
local_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository")

local_repository(
    name = "kythe_release",
    path = "/usr/local/kythe",
)

remote_coverage_tools_extension = use_extension("//tools/test:extensions.bzl", "remote_coverage_tools_extension")
use_repo(remote_coverage_tools_extension, "remote_coverage_tools")

# =========================================
# Register platforms & toolchains
# =========================================

register_execution_platforms("//:default_host_platform")

register_toolchains("@rules_python//python:autodetecting_toolchain")

register_toolchains("@local_config_winsdk//:all")

register_toolchains("//src/main/res:empty_rc_toolchain")

register_toolchains("@graalvm_ce_toolchains//:gvm")
