grpc_extra_deps.bzl 1.7 KB

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