load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") load("//bazel/platforms:local_config_platform.bzl", "setup_local_config_platform") load("//bazel/toolchains:mongo_toolchain.bzl", "toolchain_download") http_archive( name = "bazel_clang_tidy", sha256 = "8453e35f399c97bbf95f268dc479d825dc70872554cd778b9d4a555939cb76c3", strip_prefix = "bazel_clang_tidy-1.3", urls = [ # Implements retry by relisting each url multiple times to be used as a failover. # TODO(SERVER-86719): Re-implement http_archive to allow sleeping between retries "https://github.com/mongodb-forks/bazel_clang_tidy/archive/refs/tags/v1.3.tar.gz", "https://github.com/mongodb-forks/bazel_clang_tidy/archive/refs/tags/v1.3.tar.gz", "https://github.com/mongodb-forks/bazel_clang_tidy/archive/refs/tags/v1.3.tar.gz", "https://github.com/mongodb-forks/bazel_clang_tidy/archive/refs/tags/v1.3.tar.gz", "https://github.com/mongodb-forks/bazel_clang_tidy/archive/refs/tags/v1.3.tar.gz", ], ) setup_local_config_platform(name = "local_config_platform") toolchain_download(name = "mongo_toolchain") register_toolchains("@mongo_toolchain//:mongo_toolchain") load("//bazel/toolchains:python_toolchain.bzl", "setup_mongo_python_toolchains") [register_toolchains(toolchain) for toolchain in setup_mongo_python_toolchains()] load("//bazel/coverity:coverity_toolchain.bzl", "coverity_toolchain") coverity_toolchain( name = "rules_coverity", ) load("@rules_coverity//coverity:repositories.bzl", "rules_coverity_toolchains") rules_coverity_toolchains() load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") # Hedron's Compile Commands Extractor for Bazel # https://github.com/hedronvision/bazel-compile-commands-extractor http_archive( # TODO SERVER-91979 # the compile commands extractor is tied to bazel version and toolchain resolution # so this might need to be update when bazel version is updated. name = "hedron_compile_commands", sha256 = "d699c5e3a82b811d7051e833b1808358256a9c52285a43e6a3abb76c809ab03f", strip_prefix = "bazel-compile-commands-extractor-33658bab23a4858b513d767480b43d3d8fb6a3d1", url = "https://github.com/hedronvision/bazel-compile-commands-extractor/archive/33658bab23a4858b513d767480b43d3d8fb6a3d1.tar.gz", ) load("@hedron_compile_commands//:workspace_setup.bzl", "hedron_compile_commands_setup") hedron_compile_commands_setup() load("@hedron_compile_commands//:workspace_setup_transitive.bzl", "hedron_compile_commands_setup_transitive") hedron_compile_commands_setup_transitive() load("@hedron_compile_commands//:workspace_setup_transitive_transitive.bzl", "hedron_compile_commands_setup_transitive_transitive") hedron_compile_commands_setup_transitive_transitive() load("@hedron_compile_commands//:workspace_setup_transitive_transitive_transitive.bzl", "hedron_compile_commands_setup_transitive_transitive_transitive") hedron_compile_commands_setup_transitive_transitive_transitive() http_archive( name = "rules_python", sha256 = "8c8fe44ef0a9afc256d1e75ad5f448bb59b81aba149b8958f02f7b3a98f5d9b4", strip_prefix = "rules_python-0.13.0", urls = [ # Implements retry by relisting each url multiple times to be used as a failover. # TODO(SERVER-86719): Re-implement http_archive to allow sleeping between retries "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.13.0.tar.gz", "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.13.0.tar.gz", "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.13.0.tar.gz", "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.13.0.tar.gz", "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.13.0.tar.gz", ], ) http_archive( name = "platforms", sha256 = "8150406605389ececb6da07cbcb509d5637a3ab9a24bc69b1101531367d89d74", urls = [ # Implements retry by relisting each url multiple times to be used as a failover. # TODO(SERVER-86719): Re-implement http_archive to allow sleeping between retries "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.8/platforms-0.0.8.tar.gz", "https://github.com/bazelbuild/platforms/releases/download/0.0.8/platforms-0.0.8.tar.gz", "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.8/platforms-0.0.8.tar.gz", "https://github.com/bazelbuild/platforms/releases/download/0.0.8/platforms-0.0.8.tar.gz", "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.8/platforms-0.0.8.tar.gz", "https://github.com/bazelbuild/platforms/releases/download/0.0.8/platforms-0.0.8.tar.gz", "https://mirror.bazel.build/github.com/bazelbuild/platforms/releases/download/0.0.8/platforms-0.0.8.tar.gz", "https://github.com/bazelbuild/platforms/releases/download/0.0.8/platforms-0.0.8.tar.gz", ], ) # We need skylib to be able to use config_setting_group in rule_poetry below # https://github.com/bazelbuild/bazel-skylib/blob/main/docs/selects_doc.md#selectsconfig_setting_group http_archive( name = "bazel_skylib", sha256 = "cd55a062e763b9349921f0f5db8c3933288dc8ba4f76dd9416aac68acee3cb94", urls = [ # Implements retry by relisting each url multiple times to be used as a failover. # TODO(SERVER-86719): Re-implement http_archive to allow sleeping between retries "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.5.0/bazel-skylib-1.5.0.tar.gz", "https://github.com/bazelbuild/bazel-skylib/releases/download/1.5.0/bazel-skylib-1.5.0.tar.gz", "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.5.0/bazel-skylib-1.5.0.tar.gz", "https://github.com/bazelbuild/bazel-skylib/releases/download/1.5.0/bazel-skylib-1.5.0.tar.gz", "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.5.0/bazel-skylib-1.5.0.tar.gz", "https://github.com/bazelbuild/bazel-skylib/releases/download/1.5.0/bazel-skylib-1.5.0.tar.gz", "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.5.0/bazel-skylib-1.5.0.tar.gz", "https://github.com/bazelbuild/bazel-skylib/releases/download/1.5.0/bazel-skylib-1.5.0.tar.gz", ], ) # Poetry rules for managing Python dependencies http_archive( name = "rules_poetry", sha256 = "59b6f654885059465880d641dbf45a1babad512c6ae7347b01ad03eebd615e0a", strip_prefix = "rules_poetry-fc645faf7fb2e7f6c8fce968801e2a63dc1332bb", urls = [ # Implements retry by relisting each url multiple times to be used as a failover. # TODO(SERVER-86719): Re-implement http_archive to allow sleeping between retries "https://github.com/mongodb-forks/rules_poetry/archive/fc645faf7fb2e7f6c8fce968801e2a63dc1332bb.tar.gz", "https://github.com/mongodb-forks/rules_poetry/archive/fc645faf7fb2e7f6c8fce968801e2a63dc1332bb.tar.gz", "https://github.com/mongodb-forks/rules_poetry/archive/fc645faf7fb2e7f6c8fce968801e2a63dc1332bb.tar.gz", "https://github.com/mongodb-forks/rules_poetry/archive/fc645faf7fb2e7f6c8fce968801e2a63dc1332bb.tar.gz", "https://github.com/mongodb-forks/rules_poetry/archive/fc645faf7fb2e7f6c8fce968801e2a63dc1332bb.tar.gz", ], ) load("@rules_poetry//rules_poetry:defs.bzl", "poetry_deps") poetry_deps() load("@rules_poetry//rules_poetry:poetry.bzl", "poetry") poetry( name = "poetry", lockfile = "//:poetry.lock", pyproject = "//:pyproject.toml", python_interpreter_target_default = "@py_host//:bin/python3", python_interpreter_target_mac = "@py_host//:bin/python3", python_interpreter_target_win = "@py_host//:python.exe", ) http_archive( name = "aspect_rules_js", sha256 = "630a71aba66c4023a5b16ab3efafaeed8b1a2865ccd168a34611eb73876b3fc4", strip_prefix = "rules_js-1.37.1", urls = [ # Implements retry by relisting each url multiple times to be used as a failover. # TODO(SERVER-86719): Re-implement http_archive to allow sleeping between retries "https://github.com/aspect-build/rules_js/releases/download/v1.37.1/rules_js-v1.37.1.tar.gz", "https://github.com/aspect-build/rules_js/releases/download/v1.37.1/rules_js-v1.37.1.tar.gz", "https://github.com/aspect-build/rules_js/releases/download/v1.37.1/rules_js-v1.37.1.tar.gz", "https://github.com/aspect-build/rules_js/releases/download/v1.37.1/rules_js-v1.37.1.tar.gz", "https://github.com/aspect-build/rules_js/releases/download/v1.37.1/rules_js-v1.37.1.tar.gz", ], ) load("@aspect_rules_js//js:repositories.bzl", "rules_js_dependencies") rules_js_dependencies() load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") nodejs_register_toolchains( name = "nodejs", node_version = DEFAULT_NODE_VERSION, ) load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock") npm_translate_lock( name = "npm", pnpm_lock = "//:pnpm-lock.yaml", verify_node_modules_ignored = "//:.bazelignore", ) load("@npm//:repositories.bzl", "npm_repositories") npm_repositories()