# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# https://bazel.build/external/overview#bzlmod

module(
    name = "gutil",
    version = "20250409.0",
    bazel_compatibility = [">=8.1.1"],
    compatibility_level = 1,
    repo_name = "com_github_google_gutil",
)

bazel_dep(name = "rules_license", version = "1.0.0")
bazel_dep(
    name = "googleapis",
    version = "0.0.0-20240819-fe8ba054a",
    repo_name = "com_google_googleapis",
)

switched_rules = use_extension("@com_google_googleapis//:extensions.bzl", "switched_rules")
switched_rules.use_languages(
    cc = True,
    grpc = True,
)
use_repo(switched_rules, "com_google_googleapis_imports")

bazel_dep(
    name = "abseil-cpp",
    version = "20240722.0.bcr.2",
    repo_name = "com_google_absl",
)

bazel_dep(
    name = "buildifier_prebuilt",
    version = "8.0.3",
    dev_dependency = True,
    repo_name = "com_github_buildifier_prebuilt",
)

# Note: Googletest is NOT a dev_dependency. Some Gutil test utilities
# intended to be used by Gutil users depend on GoogleTest.
bazel_dep(
    name = "googletest",
    version = "1.15.2",
    repo_name = "com_google_googletest",
)

bazel_dep(
    name = "google_benchmark",
    version = "1.8.5",
    dev_dependency = True,
    repo_name = "com_google_benchmark",
)

bazel_dep(
    name = "grpc",
    version = "1.66.0.bcr.2",
    repo_name = "com_github_grpc_grpc",
)
bazel_dep(
    name = "protobuf",
    version = "29.1",
    repo_name = "com_google_protobuf",
)
bazel_dep(
    name = "re2",
    version = "2024-07-02.bcr.1",
    repo_name = "com_googlesource_code_re2",
)
