mirror of https://github.com/mongodb/mongo
215 lines
5.6 KiB
Plaintext
215 lines
5.6 KiB
Plaintext
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
|
load("//bazel/toolchains/cc/mongo_linux:mongo_toolchain.bzl", "setup_mongo_toolchains")
|
|
load("//bazel/toolchains/cc/mongo_linux:mongo_gdb.bzl", "gdb_download")
|
|
|
|
http_archive(
|
|
name = "aspect_rules_lint",
|
|
sha256 = "f60e4a737a5e09402f5fa3bd182efa80dac5523ca4b9bc5c6fa8c06fbfb46630",
|
|
strip_prefix = "rules_lint-1.1.0",
|
|
url = "https://github.com/aspect-build/rules_lint/releases/download/v1.1.0/rules_lint-v1.1.0.tar.gz",
|
|
)
|
|
|
|
setup_mongo_toolchains()
|
|
|
|
gdb_download(
|
|
name = "gdb",
|
|
version = "v5",
|
|
)
|
|
|
|
http_archive(
|
|
name = "windows_sasl",
|
|
build_file_content = """
|
|
package(default_visibility = ["//visibility:public"])
|
|
|
|
filegroup(
|
|
name = "includes",
|
|
srcs = select({
|
|
"@platforms//os:windows": glob(["include/**/*.h"]),
|
|
"//conditions:default": [],
|
|
}),
|
|
)
|
|
|
|
filegroup(
|
|
name = "libraries",
|
|
srcs = select({
|
|
"@platforms//os:windows": glob(["lib/**/*"]),
|
|
"//conditions:default": [],
|
|
}),
|
|
)
|
|
|
|
filegroup(
|
|
name = "bins",
|
|
srcs = select({
|
|
"@platforms//os:windows": glob(["bin/**/*"]),
|
|
"//conditions:default": [],
|
|
}),
|
|
)
|
|
""",
|
|
sha256 = "3e22e2b16f802277123590f64dfda44f1c9c8a2b7e758180cd956d8ab0965817",
|
|
urls = [
|
|
"https://s3.amazonaws.com/boxes.10gen.com/build/windows_cyrus_sasl-2.1.28.zip",
|
|
] * 5,
|
|
)
|
|
|
|
http_archive(
|
|
name = "wix_toolset",
|
|
build_file_content = """
|
|
package(default_visibility = ["//visibility:public"])
|
|
|
|
filegroup(
|
|
name = "wix_binaries",
|
|
srcs = select({
|
|
"@platforms//os:windows": glob(["*"]),
|
|
"//conditions:default": [],
|
|
}),
|
|
)
|
|
|
|
filegroup(
|
|
name = "candle",
|
|
srcs = select({
|
|
"@platforms//os:windows": ["candle.exe"],
|
|
"//conditions:default": [],
|
|
}),
|
|
data = select({
|
|
"@platforms//os:windows": [":wix_binaries"],
|
|
"//conditions:default": [],
|
|
}),
|
|
)
|
|
|
|
filegroup(
|
|
name = "light",
|
|
srcs = select({
|
|
"@platforms//os:windows": ["light.exe"],
|
|
"//conditions:default": [],
|
|
}),
|
|
data = select({
|
|
"@platforms//os:windows": [":wix_binaries"],
|
|
"//conditions:default": [],
|
|
}),
|
|
)
|
|
""",
|
|
sha256 = "6ac824e1642d6f7277d0ed7ea09411a508f6116ba6fae0aa5f2c7daa2ff43d31",
|
|
urls = [
|
|
"https://github.com/wixtoolset/wix3/releases/download/wix3141rtm/wix314-binaries.zip",
|
|
] * 5,
|
|
)
|
|
|
|
load("//bazel/install_rules:windows_msvc.bzl", "windows_msvc")
|
|
|
|
windows_msvc(
|
|
name = "local_windows_msvc",
|
|
)
|
|
|
|
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("@rules_poetry//rules_poetry:poetry.bzl", "poetry")
|
|
|
|
poetry(
|
|
name = "poetry",
|
|
excludes = [
|
|
"mdit-py-plugins", # plugins for markdown-it-py. Introduces an optional circular dependency that bazel does not like.
|
|
],
|
|
lockfile = "//:poetry.lock",
|
|
pyproject = "//:pyproject.toml",
|
|
python_interpreter_target_default = "@py_host//:dist/bin/python3",
|
|
python_interpreter_target_mac = "@py_host//:dist/bin/python3",
|
|
python_interpreter_target_win = "@py_host//:dist/python.exe",
|
|
)
|
|
|
|
load("@aspect_rules_js//js:toolchains.bzl", "DEFAULT_NODE_VERSION", "rules_js_register_toolchains")
|
|
|
|
rules_js_register_toolchains(node_version = DEFAULT_NODE_VERSION)
|
|
|
|
load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
|
|
|
|
npm_translate_lock(
|
|
name = "npm",
|
|
npmrc = "//:.npmrc",
|
|
pnpm_lock = "//:pnpm-lock.yaml",
|
|
verify_node_modules_ignored = "//:.bazelignore",
|
|
)
|
|
|
|
load("@npm//:repositories.bzl", "npm_repositories")
|
|
|
|
npm_repositories()
|
|
|
|
# Sub in the system openssl for boringssl since we don't want two implementations of
|
|
# ssl in the same address space.
|
|
new_local_repository(
|
|
name = "boringssl",
|
|
build_file_content = """
|
|
cc_library(
|
|
name = "crypto",
|
|
linkopts = ["-lcrypto"],
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
cc_library(
|
|
name = "ssl",
|
|
linkopts = ["-lssl"],
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
""",
|
|
path = "bazel/_openssl_placeholder_for_grpc",
|
|
)
|
|
|
|
# Overloads for the vendored repositories.
|
|
#
|
|
# WARNING: Don't change the order of the deps() calls and local_repositories.
|
|
# They're read linearly dependencies that come first override later
|
|
# ones. Dependency updates might change the correct order, though it's
|
|
# unlikely. This is obviously a temporary solution and will no longer
|
|
# be necessary once migration to bzlmod is complete.
|
|
|
|
# Note: rules_python is implicitly loaded with a grpc-compatible version.
|
|
|
|
load("//bazel/install_rules:pigz.bzl", "setup_pigz")
|
|
|
|
setup_pigz(
|
|
name = "pigz",
|
|
)
|
|
|
|
# This repository is normally created by db-contrib-tool or manually extracting the binaries at the proper location
|
|
new_local_repository(
|
|
name = "mongot_localdev",
|
|
build_file_content = """
|
|
package(default_visibility = ["//visibility:public"])
|
|
filegroup(
|
|
name = "mongot_binaries",
|
|
srcs = glob(["**"], exclude = ["BUILD.bazel", "WORKSPACE", "MODULE.bazel", "MODULE.bazel.lock"]),
|
|
)
|
|
""",
|
|
path = "mongot-localdev",
|
|
)
|
|
|
|
local_repository(
|
|
name = "bazel_rules_mongo",
|
|
path = "buildscripts/bazel_rules_mongo",
|
|
repo_mapping = {"@poetry": "@poetry_bazel_rules_mongo"},
|
|
)
|
|
|
|
load("@bazel_rules_mongo//codeowners:codeowners_validator.bzl", "codeowners_validator")
|
|
|
|
codeowners_validator()
|
|
|
|
load("@bazel_rules_mongo//codeowners:codeowners_binary.bzl", "codeowners_binary")
|
|
|
|
codeowners_binary()
|
|
|
|
poetry(
|
|
name = "poetry_bazel_rules_mongo",
|
|
lockfile = "@bazel_rules_mongo//:poetry.lock",
|
|
pyproject = "@bazel_rules_mongo//:pyproject.toml",
|
|
)
|
|
|
|
load("//bazel/format:shfmt.bzl", "shfmt")
|
|
|
|
shfmt()
|