# TODO: migrate all dependencies from WORKSPACE to MODULE.bazel
# https://github.com/protocolbuffers/protobuf/issues/14313

module(
    name = "protobuf",
    version = "29.0-dev",  # Automatically updated on release
    compatibility_level = 1,
    repo_name = "com_google_protobuf",
)

# LOWER BOUND dependency versions.
# Bzlmod follows MVS:
# https://bazel.build/versions/6.0.0/build/bzlmod#version-resolution
# Thus the highest version in their module graph is resolved.
bazel_dep(
    name = "abseil-cpp",
    version = "20230802.0.bcr.1",
    repo_name = "com_google_absl",
)

bazel_dep(
    name = "bazel_skylib",
    version = "1.7.0",
)

bazel_dep(
    name = "jsoncpp",
    version = "1.9.5",
)

bazel_dep(
    name = "rules_cc",
    version = "0.0.9",
)

bazel_dep(
    name = "rules_fuzzing",
    version = "0.5.2",
)

bazel_dep(
    name = "rules_java",
    version = "7.11.1",
)

bazel_dep(
    name = "rules_jvm_external",
    version = "6.3",
)

bazel_dep(
    name = "rules_kotlin",
    version = "1.9.0",
)

bazel_dep(
    name = "rules_license",
    version = "1.0.0",
)

bazel_dep(
    name = "rules_pkg",
    version = "1.0.1",
)

bazel_dep(
    name = "rules_python",
    version = "0.28.0",
)

bazel_dep(
    name = "rules_rust",
    version = "0.45.1",
)

bazel_dep(
    name = "platforms",
    version = "0.0.8",
)

bazel_dep(
    name = "zlib",
    version = "1.3.1",
)

bazel_dep(
    name = "bazel_features",
    version = "1.17.0",
    repo_name = "proto_bazel_features",
)

# Proto toolchains
register_toolchains("//bazel/private/toolchains:all")

SUPPORTED_PYTHON_VERSIONS = [
    "3.8",
    "3.9",
    "3.10",
    "3.11",
    "3.12",
]

python = use_extension("@rules_python//python/extensions:python.bzl", "python")

[
    python.toolchain(
        is_default = python_version == SUPPORTED_PYTHON_VERSIONS[-1],
        python_version = python_version,
    )
    for python_version in SUPPORTED_PYTHON_VERSIONS
]

use_repo(
    python,
    system_python = "python_{}".format(SUPPORTED_PYTHON_VERSIONS[-1].replace(".", "_")),
)

pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")

[
    pip.parse(
        hub_name = "pip_deps",
        python_version = python_version,
        requirements_lock = "//python:requirements.txt",
    )
    for python_version in SUPPORTED_PYTHON_VERSIONS
]

use_repo(pip, "pip_deps")

rust = use_extension("@rules_rust//rust:extensions.bzl", "rust")

rust.toolchain(edition = "2021")

use_repo(rust, "rust_toolchains")

register_toolchains("@rust_toolchains//:all")

crate = use_extension("@rules_rust//crate_universe:extension.bzl", "crate")

crate.spec(
    package = "googletest",
    version = ">0.0.0",
)

crate.spec(
    package = "paste",
    version = ">=1",
)

crate.from_specs()

use_repo(
    crate,
    crate_index = "crates",
)

maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")

maven.install(
    artifacts = [
        "com.google.caliper:caliper:1.0-beta-3",
        "com.google.code.findbugs:jsr305:3.0.2",
        "com.google.code.gson:gson:2.8.9",
        "com.google.errorprone:error_prone_annotations:2.5.1",
        "com.google.j2objc:j2objc-annotations:2.8",
        "com.google.guava:guava:32.0.1-jre",
        "com.google.guava:guava-testlib:32.0.1-jre",
        "com.google.truth:truth:1.1.2",
        "junit:junit:4.13.2",
        "org.mockito:mockito-core:4.3.1",
        "biz.aQute.bnd:biz.aQute.bndlib:6.4.0",
        "info.picocli:picocli:4.6.3",
    ],
    repositories = [
        "https://repo1.maven.org/maven2",
        "https://repo.maven.apache.org/maven2",
    ],
)

use_repo(maven, "maven")

# Development dependencies
bazel_dep(
    name = "googletest",
    version = "1.14.0",
    dev_dependency = True,
    repo_name = "com_google_googletest",
)

bazel_dep(
    name = "rules_buf",
    version = "0.3.0",
    dev_dependency = True,
)

bazel_dep(
    name = "rules_testing",
    version = "0.6.0",
    dev_dependency = True,
)

# rules_proto are needed for @com_google_protobuf_v25.0 used in //compatibility/... tests
bazel_dep(
    name = "rules_proto",
    version = "4.0.0",
    dev_dependency = True,
)
