googletest/googletest_deps.bzl
Radoslav Petkov 8362b6b106
Optimize Bazel dependency management for GoogleTest
This PR optimizes the Bazel dependency loading script for GoogleTest by introducing a helper function (maybe_http_archive) to reduce redundancy and improve maintainability.
2025-01-31 19:29:17 +02:00

35 lines
1.3 KiB
Python

"""Load dependencies required for using the GoogleTest library as a third-party consumer."""
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("//:fake_fuchsia_sdk.bzl", "fake_fuchsia_sdk")
def maybe_http_archive(name, sha256, strip_prefix, urls):
"""Helper function to conditionally load an http_archive if it doesn't exist."""
if not native.existing_rule(name):
http_archive(
name = name,
sha256 = sha256,
strip_prefix = strip_prefix,
urls = urls,
)
def googletest_deps():
"""Loads required dependencies for using GoogleTest."""
maybe_http_archive(
name = "re2",
sha256 = "eb2df807c781601c14a260a507a5bb4509be1ee626024cb45acbd57cb9d4032b",
strip_prefix = "re2-2024-07-02",
urls = ["https://github.com/google/re2/releases/download/2024-07-02/re2-2024-07-02.tar.gz"],
)
maybe_http_archive(
name = "abseil-cpp",
sha256 = "733726b8c3a6d39a4120d7e45ea8b41a434cdacde401cba500f14236c49b39dc",
strip_prefix = "abseil-cpp-20240116.2",
urls = ["https://github.com/abseil/abseil-cpp/releases/download/20240116.2/abseil-cpp-20240116.2.tar.gz"],
)
if not native.existing_rule("fuchsia_sdk"):
fake_fuchsia_sdk(name = "fuchsia_sdk")