@@ -55,10 +55,18 @@ bazel_dep(name = "bazel_skylib", version = "1.7.1")
5555bazel_dep (name = "googleapis" , version = "0.0.0-20260514-1dbb1a14" , repo_name = "com_google_googleapis" )
5656bazel_dep (name = "grpc-proto" , version = "0.0.0-20240627-ec30f58.bcr.1" , repo_name = "io_grpc_grpc_proto" )
5757bazel_dep (name = "protobuf" , version = "33.4" , repo_name = "com_google_protobuf" )
58+ bazel_dep (name = "rules_android" , version = "0.7.2" )
5859bazel_dep (name = "rules_cc" , version = "0.0.9" )
5960bazel_dep (name = "rules_java" , version = "9.1.0" )
6061bazel_dep (name = "rules_jvm_external" , version = "6.0" )
6162
63+ android_sdk_repository_extension = use_extension (
64+ "@rules_android//rules/android_sdk_repository:rule.bzl" ,
65+ "android_sdk_repository_extension" ,
66+ )
67+ use_repo (android_sdk_repository_extension , "androidsdk" )
68+ register_toolchains ("@androidsdk//:sdk-toolchain" , "@androidsdk//:all" )
69+
6270maven = use_extension ("@rules_jvm_external//:extensions.bzl" , "maven" )
6371maven .install (
6472 artifacts = IO_GRPC_GRPC_JAVA_ARTIFACTS ,
@@ -69,6 +77,30 @@ maven.install(
6977)
7078use_repo (maven , "maven" )
7179
80+ # Define a separate, dev-only extension import for Android deps.
81+ # This prevents downstream non-Android users from having to resolve
82+ # Google Maven (which is required for androidx.*) or rules_android transitively.
83+ grpc_android_maven = use_extension ("@rules_jvm_external//:extensions.bzl" , "maven" , dev_dependency = True )
84+ grpc_android_maven .install (
85+ name = "grpc_android_maven" ,
86+ artifacts = [
87+ "androidx.annotation:annotation:1.6.0" ,
88+ "androidx.annotation:annotation-jvm:1.6.0" ,
89+ "androidx.core:core:1.13.1" ,
90+ "androidx.lifecycle:lifecycle-common:2.6.2" ,
91+ ],
92+ repositories = [
93+ "https://repo.maven.apache.org/maven2/" ,
94+ "https://maven.google.com" ,
95+ ],
96+ strict_visibility = True ,
97+ # For Bazel 8+ compatibility.
98+ use_starlark_android_rules = True ,
99+ # Set this explicitly since the default guess is incorrect under Bzlmod.
100+ aar_import_bzl_label = "@rules_android//rules:rules.bzl" ,
101+ )
102+ use_repo (grpc_android_maven , "grpc_android_maven" )
103+
72104maven .override (
73105 coordinates = "com.google.protobuf:protobuf-java" ,
74106 target = "@com_google_protobuf//:protobuf_java" ,
0 commit comments