1workspace(name = "com_github_grpc_grpc") 2 3load("//bazel:grpc_deps.bzl", "grpc_deps", "grpc_test_only_deps") 4 5grpc_deps() 6 7grpc_test_only_deps() 8 9load("//bazel:grpc_extra_deps.bzl", "grpc_extra_deps") 10 11grpc_extra_deps() 12 13load("@bazel_toolchains//rules/exec_properties:exec_properties.bzl", "create_rbe_exec_properties_dict", "custom_exec_properties") 14 15custom_exec_properties( 16 name = "grpc_custom_exec_properties", 17 constants = { 18 "LARGE_MACHINE": create_rbe_exec_properties_dict( 19 labels = { 20 "os": "ubuntu", 21 "machine_size": "large", 22 }, 23 ), 24 }, 25) 26 27load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") 28 29http_archive( 30 name = "platforms", 31 sha256 = "8150406605389ececb6da07cbcb509d5637a3ab9a24bc69b1101531367d89d74", 32 urls = ["https://github.com/bazelbuild/platforms/releases/download/0.0.8/platforms-0.0.8.tar.gz"], 33) 34 35RULES_ANDROID_NDK_COMMIT = "010f4f17dd13a8baaaacc28ba6c8c2c75f54c68b" 36 37RULES_ANDROID_NDK_SHA = "2ab6a97748772f289331d75caaaee0593825935d1d9d982231a437fb8ab5a14d" 38 39http_archive( 40 name = "rules_android_ndk", 41 sha256 = RULES_ANDROID_NDK_SHA, 42 strip_prefix = "rules_android_ndk-%s" % RULES_ANDROID_NDK_COMMIT, 43 url = "https://github.com/bazelbuild/rules_android_ndk/archive/%s.zip" % RULES_ANDROID_NDK_COMMIT, 44) 45 46android_sdk_repository( 47 name = "androidsdk", 48 build_tools_version = "34.0.0", 49) 50 51load("@rules_android_ndk//:rules.bzl", "android_ndk_repository") 52 53android_ndk_repository(name = "androidndk") 54 55# Note that we intentionally avoid calling `register_toolchains("@androidndk//:all")` 56# here, because the toolchain rule fails when $ANDROID_NDK_HOME is not set. 57# Use `--extra_toolchains=@androidndk//:all` to manually register it when building for Android. 58 59# Prevents bazel's '...' expansion from including the following folder. 60# This is required because the BUILD file in the following folder 61# will trigger bazel failure when Android SDK is not configured. 62# The targets in the following folder need to be included in APK and will 63# be invoked by binder transport implementation through JNI. 64local_repository( 65 name = "binder_transport_android_helper", 66 path = "src/core/ext/transport/binder/java", 67) 68 69# Prevents bazel's '...' expansion from including the following folder. 70# This is required to avoid triggering "Unable to find package for @rules_fuzzing//fuzzing:cc_defs.bzl" 71# error. 72local_repository( 73 name = "ignore_third_party_utf8_range_subtree", 74 path = "third_party/utf8_range", 75) 76 77load("@rules_python//python:pip.bzl", "pip_parse") 78 79pip_parse( 80 name = "grpc_python_dependencies", 81 requirements_lock = "@com_github_grpc_grpc//:requirements.bazel.txt", 82) 83 84load("@grpc_python_dependencies//:requirements.bzl", "install_deps") 85 86install_deps() 87 88load("@com_google_protobuf//bazel:system_python.bzl", "system_python") 89 90system_python( 91 name = "system_python", 92 minimum_python_version = "3.7", 93) 94 95load("@system_python//:pip.bzl", system_pip_parse = "pip_parse") 96 97system_pip_parse( 98 name = "pip_deps", 99 requirements = "@com_google_protobuf//python:requirements.txt", 100 requirements_overrides = { 101 "3.11": "@com_google_protobuf//python:requirements_311.txt", 102 }, 103) 104 105http_archive( 106 name = "build_bazel_rules_swift", 107 sha256 = "bf2861de6bf75115288468f340b0c4609cc99cc1ccc7668f0f71adfd853eedb3", 108 url = "https://github.com/bazelbuild/rules_swift/releases/download/1.7.1/rules_swift.1.7.1.tar.gz", 109) 110 111load( 112 "@build_bazel_apple_support//lib:repositories.bzl", 113 "apple_support_dependencies", 114) 115 116apple_support_dependencies() 117 118load( 119 "@build_bazel_rules_swift//swift:repositories.bzl", 120 "swift_rules_dependencies", 121) 122 123swift_rules_dependencies() 124 125# This loads the libpfm transitive dependency. 126# See https://github.com/google/benchmark/pull/1520 127load("@com_github_google_benchmark//:bazel/benchmark_deps.bzl", "benchmark_deps") 128 129benchmark_deps() 130 131load("@io_opentelemetry_cpp//bazel:repository.bzl", "opentelemetry_cpp_deps") 132 133opentelemetry_cpp_deps() 134 135load("@io_opentelemetry_cpp//bazel:extra_deps.bzl", "opentelemetry_extra_deps") 136 137opentelemetry_extra_deps() 138 139# TODO: Enable below once https://github.com/bazel-xcode/PodToBUILD/issues/232 is resolved 140# 141#http_archive( 142# name = "rules_pods", 143# urls = ["https://github.com/pinterest/PodToBUILD/releases/download/4.1.0-412495/PodToBUILD.zip"], 144#) 145# 146#load( 147# "@rules_pods//BazelExtensions:workspace.bzl", 148# "new_pod_repository", 149#) 150# 151#new_pod_repository( 152# name = "CronetFramework", 153# is_dynamic_framework = True, 154# podspec_url = "https://raw.githubusercontent.com/CocoaPods/Specs/master/Specs/2/e/1/CronetFramework/0.0.5/CronetFramework.podspec.json", 155# url = "https://storage.googleapis.com/grpc-precompiled-binaries/cronet/Cronet.framework-v0.0.5.zip", 156#) 157