workspace(name = "com_google_protobuf") load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") local_repository( name = "com_google_protobuf_examples", path = "examples", ) # We will soon merge upb and protobuf into the same Bazel repository, but for # now we depend on the separate Bazel repo in the upb/ directory. This is # important to ensure that the CI tests exercise upb at head instead of relying # on a stale version from protobuf_deps.bzl. local_repository( name = "upb", path = "upb", ) # Load common dependencies first to ensure we use the correct version load("//:protobuf_deps.bzl", "PROTOBUF_MAVEN_ARTIFACTS", "protobuf_deps") protobuf_deps() # Bazel platform rules. http_archive( name = "platforms", sha256 = "a879ea428c6d56ab0ec18224f976515948822451473a80d06c2e50af0bbe5121", strip_prefix = "platforms-da5541f26b7de1dc8e04c075c99df5351742a4a2", urls = ["https://github.com/bazelbuild/platforms/archive/da5541f26b7de1dc8e04c075c99df5351742a4a2.zip"], # 2022-05-27 ) http_archive( name = "com_google_googletest", sha256 = "730215d76eace9dd49bf74ce044e8daa065d175f1ac891cc1d6bb184ef94e565", strip_prefix = "googletest-f53219cdcb7b084ef57414efea92ee5b71989558", urls = [ "https://github.com/google/googletest/archive/f53219cdcb7b084ef57414efea92ee5b71989558.tar.gz" # 2023-03-16 ], ) load("@com_google_googletest//:googletest_deps.bzl", "googletest_deps") googletest_deps() load("@rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps") rules_jvm_external_deps() load("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup") rules_jvm_external_setup() load("@rules_jvm_external//:defs.bzl", "maven_install") maven_install( artifacts = PROTOBUF_MAVEN_ARTIFACTS, # For updating instructions, see: # https://github.com/bazelbuild/rules_jvm_external#updating-maven_installjson maven_install_json = "//:maven_install.json", repositories = [ "https://repo1.maven.org/maven2", "https://repo.maven.apache.org/maven2", ], ) load("@maven//:defs.bzl", "pinned_maven_install") pinned_maven_install() # For `cc_proto_blacklist_test` and `build_test`. load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") bazel_skylib_workspace() load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies") rules_pkg_dependencies() load("@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies") apple_rules_dependencies() # For `kt_jvm_library` load("@io_bazel_rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories") kotlin_repositories() load("@io_bazel_rules_kotlin//kotlin:core.bzl", "kt_register_toolchains") kt_register_toolchains() load("@rules_ruby//ruby:defs.bzl", "ruby_runtime") ruby_runtime("system_ruby") register_toolchains("@system_ruby//:toolchain") # Uncomment pairs of ruby_runtime() + register_toolchain() calls below to enable # local JRuby testing. Do not submit the changes (due to impact on test duration # for non JRuby builds due to downloading JRuby SDKs). #ruby_runtime("jruby-9.2") # #register_toolchains("@jruby-9.2//:toolchain") # #ruby_runtime("jruby-9.3") # #register_toolchains("@jruby-9.3//:toolchain") load("@system_ruby//:bundle.bzl", "ruby_bundle") ruby_bundle( name = "protobuf_bundle", srcs = ["//ruby:google-protobuf.gemspec"], gemfile = "//ruby:Gemfile", ) load("@upb//bazel:workspace_deps.bzl", "upb_deps") upb_deps() http_archive( name = "lua", build_file = "@upb//bazel:lua.BUILD", sha256 = "b9e2e4aad6789b3b63a056d442f7b39f0ecfca3ae0f1fc0ae4e9614401b69f4b", strip_prefix = "lua-5.2.4", urls = [ "https://mirror.bazel.build/www.lua.org/ftp/lua-5.2.4.tar.gz", "https://www.lua.org/ftp/lua-5.2.4.tar.gz", ], ) http_archive( name = "com_github_google_benchmark", urls = ["https://github.com/google/benchmark/archive/0baacde3618ca617da95375e0af13ce1baadea47.zip"], strip_prefix = "benchmark-0baacde3618ca617da95375e0af13ce1baadea47", sha256 = "62e2f2e6d8a744d67e4bbc212fcfd06647080de4253c97ad5c6749e09faf2cb0", ) http_archive( name = "com_google_googleapis", urls = ["https://github.com/googleapis/googleapis/archive/30ed2662a85403cbdeb9ea38df1e414a2a276b83.zip"], strip_prefix = "googleapis-30ed2662a85403cbdeb9ea38df1e414a2a276b83", sha256 = "4dfc28101127d22abd6f0f6308d915d490c4594c0cfcf7643769c446d6763a46", build_file = "@upb//benchmarks:BUILD.googleapis", patch_cmds = ["find google -type f -name BUILD.bazel -delete"], ) load("@upb//bazel:system_python.bzl", "system_python") system_python( name = "system_python", minimum_python_version = "3.7", ) load("@system_python//:pip.bzl", "pip_parse") pip_parse( name = "pip_deps", requirements = "@upb//python:requirements.txt", requirements_overrides = { "3.11": "@upb//python:requirements_311.txt", }, ) load("@pip_deps//:requirements.bzl", "install_deps") install_deps() load("@utf8_range//:workspace_deps.bzl", "utf8_range_deps") utf8_range_deps() http_archive( name = "rules_fuzzing", sha256 = "d9002dd3cd6437017f08593124fdd1b13b3473c7b929ceb0e60d317cb9346118", strip_prefix = "rules_fuzzing-0.3.2", urls = ["https://github.com/bazelbuild/rules_fuzzing/archive/v0.3.2.zip"], ) load("@rules_fuzzing//fuzzing:repositories.bzl", "rules_fuzzing_dependencies") rules_fuzzing_dependencies() bind( name = "python_headers", actual = "@system_python//:python_headers", ) http_archive( name = "rules_rust", sha256 = "4a9cb4fda6ccd5b5ec393b2e944822a62e050c7c06f1ea41607f14c4fdec57a2", urls = ["https://github.com/bazelbuild/rules_rust/releases/download/0.25.1/rules_rust-v0.25.1.tar.gz"], ) load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains") rules_rust_dependencies() rust_register_toolchains(edition = "2021")