1"""Loads the dependencies necessary for the external repositories defined in grpc_deps.bzl.""" 2 3load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") 4load("@upb//bazel:workspace_deps.bzl", "upb_deps") 5load("@envoy_api//bazel:repositories.bzl", "api_dependencies") 6load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") 7load("@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies") 8load("@build_bazel_apple_support//lib:repositories.bzl", "apple_support_dependencies") 9load("@com_google_googleapis//:repository_rules.bzl", "switched_rules_by_language") 10 11def grpc_extra_deps(ignore_version_differences = False): 12 """Loads the extra dependencies. 13 14 These are necessary for using the external repositories defined in 15 grpc_deps.bzl. Projects that depend on gRPC as an external repository need 16 to call both grpc_deps and grpc_extra_deps, if they have not already loaded 17 the extra dependencies. For example, they can do the following in their 18 WORKSPACE 19 ``` 20 load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps", "grpc_test_only_deps") 21 grpc_deps() 22 23 grpc_test_only_deps() 24 25 load("@com_github_grpc_grpc//bazel:grpc_extra_deps.bzl", "grpc_extra_deps") 26 27 grpc_extra_deps() 28 ``` 29 """ 30 protobuf_deps() 31 32 upb_deps() 33 34 api_dependencies() 35 36 go_rules_dependencies() 37 go_register_toolchains() 38 39 apple_rules_dependencies(ignore_version_differences = ignore_version_differences) 40 41 apple_support_dependencies() 42 43 # Initialize Google APIs with only C++ and Python targets 44 switched_rules_by_language( 45 name = "com_google_googleapis_imports", 46 cc = True, 47 grpc = True, 48 python = True, 49 ) 50