workspace(name = "yuanrong_functionsystem")
load("//bazel:hazel_workspace.bzl", "hw_rules")
hw_rules()
load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies")
rules_foreign_cc_dependencies()
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
load("//bazel:local_patched_repository.bzl", "local_patched_repository")
# --- spdlog (local, patches pre-applied) ---
local_patched_repository(
name = "spdlog",
path = "./vendor/src/spdlog/",
build_file = "@//bazel:spdlog.bzl",
)
# --- nlohmann_json --- gitee.com mirror zip
http_archive(
name = "nlohmann_json",
build_file = "@//bazel:nlohmann_json.bzl",
sha256 = "0deac294b2c96c593d0b7c0fb2385a2f4594e8053a36c52b11445ef4b9defebb",
strip_prefix = "nlohmann-json-v3.11.3",
urls = ["https://gitee.com/mirrors/nlohmann-json/repository/archive/v3.11.3.zip"],
)
# --- gtest --- gitee.com mirror zip
http_archive(
name = "gtest",
sha256 = "647924848ca7cb91ba5e34260132902886e1bd140428bd3bd7b4e8fa6c6c8904",
strip_prefix = "googletest-v1.13.0",
urls = ["https://gitee.com/mirrors/googletest/repository/archive/v1.13.0.zip"],
)
# --- grpc dependency chain (abseil, protobuf, zlib, grpc, boringssl, re2, etc.) ---
load("//bazel:preload_grpc.bzl", "preload_grpc")
preload_grpc()
# --- opentelemetry pre-loading (must come after grpc preload) ---
load("//bazel:preload_opentelemetry.bzl", "preload_opentelemetry")
preload_opentelemetry()
# --- opentelemetry-cpp (must come after preload_opentelemetry) ---
http_archive(
name = "opentelemetry_cpp",
sha256 = "7735cc56507149686e6019e06f588317099d4522480be5f38a2a09ec69af1706",
strip_prefix = "opentelemetry-cpp-1.13.0",
urls = ["https://openyuanrong.obs.cn-southwest-2.myhuaweicloud.com/thirdparty/github.com/open-telemetry/opentelemetry-cpp/v1.13.0.tar.gz"],
)
load("@opentelemetry_cpp//bazel:repository.bzl", "opentelemetry_cpp_deps")
opentelemetry_cpp_deps()
load("@opentelemetry_cpp//bazel:extra_deps.bzl", "opentelemetry_extra_deps")
opentelemetry_extra_deps()
# --- grpc deps and extra deps (must come after otel) ---
load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
grpc_deps()
load("//bazel:grpc_extra_deps.bzl", "grpc_extra_deps")
grpc_extra_deps()
# --- yaml-cpp --- gitee.com mirror zip
http_archive(
name = "yaml-cpp",
sha256 = "6a05c681872d9465b8e2040b5211b1aa5cf30151dc4f3d7ed23ac75ce0fd9944",
strip_prefix = "yaml-cpp-0.8.0",
url = "https://gitee.com/mirrors/yaml-cpp/repository/archive/0.8.0.zip",
)
# --- securec (libboundscheck) ---
maybe(
new_local_repository,
name = "securec",
build_file = "@//bazel:securec.bzl",
path = "./vendor/src/libboundscheck",
)
# --- Pre-built common libraries ---
new_local_repository(
name = "litebus",
build_file = "@//bazel:litebus.bzl",
path = "./common/litebus/output/",
)
new_local_repository(
name = "logs_sdk",
build_file = "@//bazel:logs.bzl",
path = "./common/logs/output/",
)
new_local_repository(
name = "metrics_sdk",
build_file = "@//bazel:metrics_sdk.bzl",
path = "./common/metrics/output/",
)
new_local_repository(
name = "datasystem_sdk",
build_file = "@//bazel:datasystem_sdk.bzl",
path = "./vendor/src/datasystem/sdk/cpp/",
)
# --- Pre-built vendor libraries (built by run.sh vendor step) ---
new_local_repository(
name = "etcdapi",
build_file = "@//bazel:etcdapi.bzl",
path = "./vendor/output/Install/etcdapi/",
)
new_local_repository(
name = "obs_sdk",
build_file = "@//bazel:obs_sdk.bzl",
path = "./vendor/output/Install/obs/",
)
new_local_repository(
name = "curl_sdk",
build_file = "@//bazel:curl_sdk.bzl",
path = "./vendor/output/Install/curl/",
)
new_local_repository(
name = "opentelemetry_prebuilt",
build_file = "@//bazel:opentelemetry_prebuilt.bzl",
path = "./vendor/output/Install/opentelemetry/",
)
new_local_repository(
name = "minizip_sdk",
build_file = "@//bazel:minizip_sdk.bzl",
path = "./vendor/output/Install/zlib/",
)