@@ -49,16 +49,31 @@ IO_GRPC_GRPC_JAVA_ARTIFACTS = [
4949]
5050# GRPC_DEPS_END
5151
52+ ANDROID_ARTIFACTS = [
53+ "androidx.annotation:annotation:1.6.0" ,
54+ "androidx.annotation:annotation-jvm:1.6.0" ,
55+ "androidx.core:core:1.13.1" ,
56+ "androidx.lifecycle:lifecycle-common:2.6.2" ,
57+ ]
58+
5259bazel_dep (name = "abseil-cpp" , version = "20250512.1" )
5360bazel_dep (name = "bazel_jar_jar" , version = "0.1.11.bcr.1" )
5461bazel_dep (name = "bazel_skylib" , version = "1.7.1" )
5562bazel_dep (name = "googleapis" , version = "0.0.0-20260514-1dbb1a14" , repo_name = "com_google_googleapis" )
5663bazel_dep (name = "grpc-proto" , version = "0.0.0-20240627-ec30f58.bcr.1" , repo_name = "io_grpc_grpc_proto" )
5764bazel_dep (name = "protobuf" , version = "33.4" , repo_name = "com_google_protobuf" )
65+ bazel_dep (name = "rules_android" , version = "0.7.2" )
5866bazel_dep (name = "rules_cc" , version = "0.0.9" )
5967bazel_dep (name = "rules_java" , version = "9.1.0" )
6068bazel_dep (name = "rules_jvm_external" , version = "6.0" )
6169
70+ android_sdk_repository_extension = use_extension (
71+ "@rules_android//rules/android_sdk_repository:rule.bzl" ,
72+ "android_sdk_repository_extension" ,
73+ )
74+ use_repo (android_sdk_repository_extension , "androidsdk" )
75+ register_toolchains ("@androidsdk//:sdk-toolchain" , "@androidsdk//:all" )
76+
6277maven = use_extension ("@rules_jvm_external//:extensions.bzl" , "maven" )
6378maven .install (
6479 artifacts = IO_GRPC_GRPC_JAVA_ARTIFACTS ,
@@ -69,6 +84,25 @@ maven.install(
6984)
7085use_repo (maven , "maven" )
7186
87+ # Define a separate, dev-only extension import for Android deps.
88+ # This prevents downstream non-Android users from having to resolve
89+ # Google Maven (which is required for androidx.*) or rules_android transitively.
90+ grpc_android_maven = use_extension ("@rules_jvm_external//:extensions.bzl" , "maven" , dev_dependency = True )
91+ grpc_android_maven .install (
92+ name = "grpc_android_maven" ,
93+ artifacts = ANDROID_ARTIFACTS ,
94+ repositories = [
95+ "https://repo.maven.apache.org/maven2/" ,
96+ "https://maven.google.com" ,
97+ ],
98+ strict_visibility = True ,
99+ # For Bazel 8+ compatibility.
100+ use_starlark_android_rules = True ,
101+ # Set this explicitly since the default guess is incorrect under Bzlmod.
102+ aar_import_bzl_label = "@rules_android//rules:rules.bzl" ,
103+ )
104+ use_repo (grpc_android_maven , "grpc_android_maven" )
105+
72106maven .override (
73107 coordinates = "com.google.protobuf:protobuf-java" ,
74108 target = "@com_google_protobuf//:protobuf_java" ,
0 commit comments