module(
    name = "cel-spec",
)

bazel_dep(
    name = "bazel_skylib",
    version = "1.7.1",
)
bazel_dep(
    name = "gazelle",
    version = "0.36.0",
    repo_name = "bazel_gazelle",
)
bazel_dep(
    name = "googleapis",
    version = "0.0.0-20240819-fe8ba054a",
    repo_name = "com_google_googleapis",
)
bazel_dep(
    name = "protobuf",
    version = "26.0",
    repo_name = "com_google_protobuf",
)
bazel_dep(
    name = "rules_cc",
    version = "0.0.9",
)
bazel_dep(
    name = "rules_go",
    version = "0.49.0",
    repo_name = "io_bazel_rules_go",
)
bazel_dep(
    name = "rules_java",
    version = "7.6.5",
)
bazel_dep(
    name = "rules_proto",
    version = "6.0.0",
)
bazel_dep(
    name = "rules_python",
    version = "0.35.0",
)

### PYTHON ###
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
    ignore_root_user_error = True,
    python_version = "3.11",
)

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

go_sdk = use_extension("@io_bazel_rules_go//go:extensions.bzl", "go_sdk")
go_sdk.download(version = "1.21.1")

go_deps = use_extension("@bazel_gazelle//:extensions.bzl", "go_deps")
go_deps.from_file(go_mod = "//:go.mod")
use_repo(
    go_deps,
    "org_golang_google_genproto_googleapis_rpc",
    "org_golang_google_protobuf",
)