"""Bazel build and test dependencies.""" module( name = "bazel", version = "7.0.0-pre", repo_name = "io_bazel", ) bazel_dep(name = "rules_license", version = "0.0.7") 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.bcr.1", repo_name = "com_github_grpc_grpc") bazel_dep(name = "platforms", version = "0.0.7") 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.bcr.1") bazel_dep(name = "blake3", version = "1.3.3") bazel_dep(name = "zlib", version = "1.2.13") bazel_dep(name = "rules_cc", version = "0.0.8") bazel_dep(name = "rules_java", version = "6.3.0") bazel_dep(name = "rules_proto", version = "5.3.0-21.7") bazel_dep(name = "rules_jvm_external", version = "5.2") bazel_dep(name = "rules_python", version = "0.24.0") bazel_dep(name = "rules_testing", version = "0.0.4") # TODO(pcloudy): Add remoteapis and googleapis as Bazel modules in the BCR. bazel_dep(name = "remoteapis", version = "") bazel_dep(name = "googleapis", version = "") single_version_override( module_name = "rules_jvm_external", patch_strip = 1, patches = ["//third_party:rules_jvm_external_5.2.patch"], ) local_path_override( module_name = "remoteapis", path = "./third_party/remoteapis", ) local_path_override( module_name = "googleapis", path = "./third_party/googleapis", ) # ========================================= # Java dependencies # ========================================= 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") java_toolchains = use_extension("@rules_java//java:extensions.bzl", "toolchains") use_repo(java_toolchains, "local_jdk") # ========================================= # Other Bazel internal dependencies # - embedded JDKs # - repos for Debian build # ========================================= bazel_internal_deps = use_extension("//:extensions.bzl", "bazel_internal_deps") use_repo( bazel_internal_deps, "debian_cc_deps", "openjdk_linux_aarch64_vanilla", "openjdk_linux_ppc64le_vanilla", "openjdk_linux_s390x_vanilla", "openjdk_linux_vanilla", "openjdk_macos_aarch64_vanilla", "openjdk_macos_x86_64_vanilla", "openjdk_win_arm64_vanilla", "openjdk_win_vanilla", ) # ========================================= # Register platforms & toolchains # ========================================= register_execution_platforms("//:default_host_platform") register_toolchains("@bazel_tools//tools/python:autodetecting_toolchain") register_toolchains("@local_config_winsdk//:all") register_toolchains("//src/main/res:empty_rc_toolchain") # ========================================= # Python dependencies # ========================================= python = use_extension("@rules_python//python/extensions:python.bzl", "python") python.toolchain(python_version = "3.8") pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") pip.parse( hub_name = "bazel_pip_dev_deps", python_version = "3.8", requirements_lock = "//:requirements.txt", ) use_repo(pip, "bazel_pip_dev_deps") # ========================================= # Other dev dependencies # ========================================= bazel_dep(name = "googletest", version = "1.12.1", repo_name = "com_google_googletest") bazel_dev_deps = use_extension("//:extensions.bzl", "bazel_dev_deps") use_repo( bazel_dev_deps, "local_bazel_source_list", "local_config_winsdk", "bazelci_rules", ) bazel_rbe_deps = use_extension("//:rbe_extension.bzl", "bazel_rbe_deps") use_repo(bazel_rbe_deps, "rbe_ubuntu1804_java11") # ========================================= # Android tools Java dependencies # ========================================= maven_android = use_extension("@rules_jvm_external//:extensions.bzl", "maven") maven_android.install( name = "maven_android", # 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 = "//src/tools/android:maven_android_install.json", repositories = [ "https://dl.google.com/android/maven2", "https://repo1.maven.org/maven2", ], ) use_repo(maven_android, "maven_android") bazel_android_deps = use_extension("//:extensions.bzl", "bazel_android_deps") use_repo( bazel_android_deps, "android_gmaven_r8", "desugar_jdk_libs", )