blob: 147739eeeeafafaa024396f11716c4ef3285f7d5 [file] [log] [blame]
Yun Peng9d308492023-08-08 00:49:00 -07001"""Bazel build and test dependencies."""
2
John Catercadbaa52023-10-16 10:16:21 -07003# NOTE: When editing this file, also update the lockfile.
4# bazel mod deps --lockfile_mode=update
5
Yun Peng6181a3c2021-10-28 03:11:19 -07006module(
Yun Peng1bf22462022-09-19 10:43:54 -07007 name = "bazel",
Yun Peng1bf22462022-09-19 10:43:54 -07008 repo_name = "io_bazel",
Yun Peng6181a3c2021-10-28 03:11:19 -07009)
10
Yun Pengb27ca732023-09-06 02:57:04 -070011# =========================================
12# Bazel module dependencies
13# =========================================
14
Tony Aiuto4797ba02023-06-20 05:54:54 -070015bazel_dep(name = "rules_license", version = "0.0.7")
hvd8f55a572024-05-16 23:47:23 -070016bazel_dep(name = "bazel_skylib", version = "1.6.1")
Ivo Liste9929af2023-01-12 08:18:00 -080017bazel_dep(name = "protobuf", version = "21.7", repo_name = "com_google_protobuf")
Fabian Meumertzheim9631f412023-07-07 03:04:56 -070018bazel_dep(name = "grpc", version = "1.48.1.bcr.1", repo_name = "com_github_grpc_grpc")
Fabian Meumertzheimc529cb22024-06-21 03:13:33 -070019bazel_dep(name = "platforms", version = "0.0.10")
Yun Pengb27ca732023-09-06 02:57:04 -070020bazel_dep(name = "rules_pkg", version = "0.9.1")
Yun Peng849da312024-01-30 10:16:17 -080021bazel_dep(name = "stardoc", version = "0.5.6", repo_name = "io_bazel_skydoc")
Yun Peng9d308492023-08-08 00:49:00 -070022bazel_dep(name = "zstd-jni", version = "1.5.2-3.bcr.1")
Fabian Meumertzheim5e63f2d2024-04-26 01:39:36 -070023bazel_dep(name = "blake3", version = "1.5.1.bcr.1")
Googler8ef7b702024-04-25 05:46:55 -070024bazel_dep(name = "sqlite3", version = "3.42.0.bcr.1")
Benjamin Petersoncd9f8e02023-09-06 01:56:46 -070025bazel_dep(name = "zlib", version = "1.3")
Googler0e58b0d2023-09-20 08:16:28 -070026bazel_dep(name = "rules_cc", version = "0.0.9")
Googlercd345e82024-07-16 03:14:01 -070027bazel_dep(name = "rules_java", version = "7.7.0")
Googler11498b52024-03-06 15:27:20 -080028bazel_dep(name = "rules_graalvm", version = "0.11.1")
Fabian Meumertzheim01f6dec2024-06-20 15:33:18 -070029bazel_dep(name = "rules_proto", version = "6.0.0")
Yun Peng849da312024-01-30 10:16:17 -080030bazel_dep(name = "rules_jvm_external", version = "6.0")
Fabian Meumertzheim01f6dec2024-06-20 15:33:18 -070031bazel_dep(name = "rules_python", version = "0.33.2")
Fabian Meumertzheim8ee8f792024-04-19 03:39:43 -070032bazel_dep(name = "rules_testing", version = "0.6.0")
Gowroji Sunil417c6b82024-06-04 09:23:45 -070033bazel_dep(name = "googletest", version = "1.14.0.bcr.1", repo_name = "com_google_googletest")
Fabian Meumertzheim5e63f2d2024-04-26 01:39:36 -070034bazel_dep(name = "with_cfg.bzl", version = "0.2.4")
Fabian Meumertzheim651294b2024-06-12 00:34:02 -070035bazel_dep(name = "abseil-cpp", version = "20230802.1")
Ivo List78729c02023-03-03 08:27:25 -080036
Googlercf140392023-08-01 12:34:14 -070037# TODO(pcloudy): Add remoteapis and googleapis as Bazel modules in the BCR.
38bazel_dep(name = "remoteapis", version = "")
39bazel_dep(name = "googleapis", version = "")
40
Yun Pengc749f802023-02-21 06:08:30 -080041single_version_override(
42 module_name = "rules_jvm_external",
43 patch_strip = 1,
Yun Peng849da312024-01-30 10:16:17 -080044 patches = ["//third_party:rules_jvm_external_6.0.patch"],
Yun Peng3d7937e2023-01-10 06:43:02 -080045)
46
Googlercf140392023-08-01 12:34:14 -070047local_path_override(
48 module_name = "remoteapis",
49 path = "./third_party/remoteapis",
50)
51
52local_path_override(
53 module_name = "googleapis",
54 path = "./third_party/googleapis",
55)
56
Keith Smiley6abdd2a2024-05-28 11:35:51 -070057single_version_override(
58 module_name = "grpc",
59 patch_strip = 1,
60 patches = [
61 "//third_party/grpc:00_disable_layering_check.patch",
62 ],
63)
64
Yun Pengb27ca732023-09-06 02:57:04 -070065# The following Bazel modules are not direct dependencies for building Bazel,
Yun Pengc1f2aff2023-11-07 09:51:02 -080066# but are required for visibility from DIST_ARCHIVE_REPOS in repositories.bzl
Fabian Meumertzheim5f796842023-11-14 21:07:28 -080067bazel_dep(name = "apple_support", version = "1.8.1")
Yun Pengb27ca732023-09-06 02:57:04 -070068bazel_dep(name = "c-ares", version = "1.15.0")
69bazel_dep(name = "rules_go", version = "0.39.1")
Yun Peng849da312024-01-30 10:16:17 -080070bazel_dep(name = "rules_kotlin", version = "1.9.0")
Yun Pengb27ca732023-09-06 02:57:04 -070071bazel_dep(name = "upb", version = "0.0.0-20220923-a547704")
John Caterea88bb12024-02-29 12:14:00 -080072single_version_override(
73 module_name = "upb",
74 patch_strip = 1,
75 patches = [
76 "//third_party/upb:00_remove_toolchain_transition.patch",
77 ],
78)
Yun Pengb27ca732023-09-06 02:57:04 -070079
Googlercf140392023-08-01 12:34:14 -070080# =========================================
Yun Peng9d308492023-08-08 00:49:00 -070081# Java dependencies
Googlercf140392023-08-01 12:34:14 -070082# =========================================
83
Yun Pengc749f802023-02-21 06:08:30 -080084maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
85maven.install(
Yun Peng136dae12023-09-08 12:39:10 -070086 artifacts = [
Fabian Meumertzheimd0af7142024-04-29 11:41:46 -070087 # keep sorted
Yun Peng136dae12023-09-08 12:39:10 -070088 "com.beust:jcommander:1.82",
89 "com.github.ben-manes.caffeine:caffeine:3.0.5",
Yun Peng136dae12023-09-08 12:39:10 -070090 "com.github.stephenc.jcip:jcip-annotations:1.0-1",
Yun Peng136dae12023-09-08 12:39:10 -070091 "com.google.api-client:google-api-client:1.35.2",
Fabian Meumertzheimd0af7142024-04-29 11:41:46 -070092 "com.google.api-client:google-api-client-gson:1.35.2",
Yun Peng136dae12023-09-08 12:39:10 -070093 "com.google.auth:google-auth-library-credentials:1.6.0",
94 "com.google.auth:google-auth-library-oauth2-http:1.6.0",
Yun Peng136dae12023-09-08 12:39:10 -070095 "com.google.auto:auto-common:1.2.1",
Fabian Meumertzheimd0af7142024-04-29 11:41:46 -070096 "com.google.auto.service:auto-service:1.0",
97 "com.google.auto.service:auto-service-annotations:1.0.1",
John Cater98054a22024-06-04 00:54:31 -070098 "com.google.auto.value:auto-value:1.11.0",
99 "com.google.auto.value:auto-value-annotations:1.11.0",
Yun Peng136dae12023-09-08 12:39:10 -0700100 "com.google.code.findbugs:jsr305:3.0.2",
Fabian Meumertzheim5df12362024-05-28 08:43:48 -0700101 "com.google.code.gson:gson:2.10.1",
Yun Peng136dae12023-09-08 12:39:10 -0700102 "com.google.code.java-allocation-instrumenter:java-allocation-instrumenter:3.3.0",
Benjamin Petersone6927452023-10-23 08:24:39 -0700103 "com.google.errorprone:error_prone_annotation:2.23.0",
104 "com.google.errorprone:error_prone_annotations:2.23.0",
105 "com.google.errorprone:error_prone_check_api:2.23.0",
106 "com.google.errorprone:error_prone_core:2.23.0",
107 "com.google.errorprone:error_prone_type_annotations:2.23.0",
Yun Peng136dae12023-09-08 12:39:10 -0700108 "com.google.flogger:flogger:0.5.1",
Fabian Meumertzheimd0af7142024-04-29 11:41:46 -0700109 "com.google.flogger:flogger-system-backend:0.5.1",
Yun Peng136dae12023-09-08 12:39:10 -0700110 "com.google.flogger:google-extensions:0.5.1",
111 "com.google.guava:failureaccess:1.0.1",
Googlerc7028652024-01-31 11:25:17 -0800112 "com.google.guava:guava:33.0.0-jre",
Yun Peng136dae12023-09-08 12:39:10 -0700113 "com.google.http-client:google-http-client:1.42.0",
Fabian Meumertzheimd0af7142024-04-29 11:41:46 -0700114 "com.google.http-client:google-http-client-gson:1.42.0",
Yun Peng136dae12023-09-08 12:39:10 -0700115 "com.google.j2objc:j2objc-annotations:1.3",
Xdng Yngf3133762024-05-09 10:05:04 -0700116 "com.google.turbine:turbine:0.6.0",
Fabian Meumertzheim9d8d6c72024-06-24 11:19:58 -0700117 "com.guardsquare:proguard-base:jar:7.5.0",
Yun Peng136dae12023-09-08 12:39:10 -0700118 "com.ryanharter.auto.value:auto-value-gson-extension:1.3.1",
Yun Peng136dae12023-09-08 12:39:10 -0700119 "com.ryanharter.auto.value:auto-value-gson-factory:1.3.1",
Fabian Meumertzheimd0af7142024-04-29 11:41:46 -0700120 "com.ryanharter.auto.value:auto-value-gson-runtime:1.3.1",
Yun Peng136dae12023-09-08 12:39:10 -0700121 "com.squareup:javapoet:1.12.0",
122 "commons-collections:commons-collections:3.2.2",
123 "commons-lang:commons-lang:2.6",
Googler5c843392023-09-25 09:12:54 -0700124 "io.github.java-diff-utils:java-diff-utils:4.12",
Yun Peng136dae12023-09-08 12:39:10 -0700125 "io.grpc:grpc-api:1.48.1",
126 "io.grpc:grpc-auth:1.48.1",
127 "io.grpc:grpc-context:1.48.1",
128 "io.grpc:grpc-core:1.48.1",
129 "io.grpc:grpc-netty:1.48.1",
Yun Peng136dae12023-09-08 12:39:10 -0700130 "io.grpc:grpc-protobuf:1.48.1",
Fabian Meumertzheimd0af7142024-04-29 11:41:46 -0700131 "io.grpc:grpc-protobuf-lite:1.48.1",
Yun Peng136dae12023-09-08 12:39:10 -0700132 "io.grpc:grpc-stub:1.48.1",
133 "io.netty:netty-buffer:4.1.93.Final",
Yun Peng136dae12023-09-08 12:39:10 -0700134 "io.netty:netty-codec:4.1.93.Final",
Fabian Meumertzheimd0af7142024-04-29 11:41:46 -0700135 "io.netty:netty-codec-http:4.1.93.Final",
136 "io.netty:netty-codec-http2:4.1.93.Final",
Yun Peng136dae12023-09-08 12:39:10 -0700137 "io.netty:netty-common:4.1.93.Final",
Yun Peng136dae12023-09-08 12:39:10 -0700138 "io.netty:netty-handler:4.1.93.Final",
Fabian Meumertzheimd0af7142024-04-29 11:41:46 -0700139 "io.netty:netty-handler-proxy:4.1.93.Final",
Yun Peng136dae12023-09-08 12:39:10 -0700140 "io.netty:netty-resolver:4.1.93.Final",
Fabian Meumertzheimd0af7142024-04-29 11:41:46 -0700141 "io.netty:netty-resolver-dns:4.1.93.Final",
Yun Peng136dae12023-09-08 12:39:10 -0700142 "io.netty:netty-tcnative-boringssl-static:jar:linux-aarch_64:2.0.56.Final",
143 "io.netty:netty-tcnative-boringssl-static:jar:linux-x86_64:2.0.56.Final",
144 "io.netty:netty-tcnative-boringssl-static:jar:osx-aarch_64:2.0.56.Final",
145 "io.netty:netty-tcnative-boringssl-static:jar:osx-x86_64:2.0.56.Final",
146 "io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64:2.0.56.Final",
147 "io.netty:netty-tcnative-classes:2.0.56.Final",
Fabian Meumertzheimd0af7142024-04-29 11:41:46 -0700148 "io.netty:netty-transport:4.1.93.Final",
Yun Peng136dae12023-09-08 12:39:10 -0700149 "io.netty:netty-transport-classes-epoll:4.1.93.Final",
150 "io.netty:netty-transport-classes-kqueue:4.1.93.Final",
151 "io.netty:netty-transport-native-epoll:jar:linux-aarch_64:4.1.93.Final",
152 "io.netty:netty-transport-native-epoll:jar:linux-x86_64:4.1.93.Final",
153 "io.netty:netty-transport-native-kqueue:jar:osx-aarch_64:4.1.93.Final",
154 "io.netty:netty-transport-native-kqueue:jar:osx-x86_64:4.1.93.Final",
155 "io.netty:netty-transport-native-unix-common:4.1.93.Final",
156 "io.netty:netty-transport-native-unix-common:jar:linux-aarch_64:4.1.93.Final",
157 "io.netty:netty-transport-native-unix-common:jar:linux-x86_64:4.1.93.Final",
158 "io.netty:netty-transport-native-unix-common:jar:osx-aarch_64:4.1.93.Final",
159 "io.netty:netty-transport-native-unix-common:jar:osx-x86_64:4.1.93.Final",
Yun Peng136dae12023-09-08 12:39:10 -0700160 "io.reactivex.rxjava3:rxjava:3.1.2",
Justin Horvitzc9343612023-11-30 10:43:29 -0800161 "it.unimi.dsi:fastutil:7.2.1",
Yun Peng136dae12023-09-08 12:39:10 -0700162 "javax.activation:javax.activation-api:1.2.0",
163 "javax.annotation:javax.annotation-api:1.3.2",
164 "javax.inject:javax.inject:1",
Mark Elliot2330a112024-05-07 12:26:09 -0700165 "org.apache.commons:commons-compress:1.26.1",
Yun Peng136dae12023-09-08 12:39:10 -0700166 "org.apache.commons:commons-pool2:2.8.0",
167 "org.apache.tomcat:tomcat-annotations-api:8.0.5",
168 "org.apache.velocity:velocity:1.7",
169 "org.checkerframework:checker-qual:3.19.0",
Fabian Meumertzheimd0af7142024-04-29 11:41:46 -0700170 "org.openjdk.jmh:jmh-core:1.37",
171 "org.openjdk.jmh:jmh-generator-annprocess:1.37",
172 "org.ow2.asm:asm:9.2",
Yun Peng136dae12023-09-08 12:39:10 -0700173 "org.ow2.asm:asm-analysis:9.2",
174 "org.ow2.asm:asm-commons:9.2",
175 "org.ow2.asm:asm-tree:9.2",
176 "org.ow2.asm:asm-util:9.2",
Yun Peng136dae12023-09-08 12:39:10 -0700177 "org.pcollections:pcollections:3.1.4",
178 "org.threeten:threeten-extra:1.5.0",
179 "org.tukaani:xz:1.9",
180 "org.yaml:snakeyaml:1.28",
Tiago Quelhase061a022024-02-20 05:58:25 -0800181 "tools.profiler:async-profiler:3.0",
Yun Peng136dae12023-09-08 12:39:10 -0700182 # The following jars are for testing.
183 # junit is not test only due to //src/java_tools/junitrunner/java/com/google/testing/junit/junit4:runner,
184 # and hamcrest is a dependency of junit.
185 "junit:junit:4.13.2",
186 "org.hamcrest:hamcrest-core:1.3",
187 ],
188 excluded_artifacts = [
189 # org.apache.httpcomponents and org.eclipse.jgit:org.eclipse.jgit
190 # require java.security.jgss module to be embedded in the Bazel binary.
191 "org.apache.httpcomponents:httpclient",
192 "org.apache.httpcomponents:httpcore",
193 "org.eclipse.jgit:org.eclipse.jgit",
194 # We build protobuf Java library from source, exclude protobuf jars to be safe.
195 "com.google.protobuf:protobuf-java",
196 "com.google.protobuf:protobuf-javalite",
197 ],
198 # Don't forget to change this to back to True before submitting your change.
199 fail_if_repin_required = True,
Yun Pengc749f802023-02-21 06:08:30 -0800200 lock_file = "//:maven_install.json",
201 repositories = [
202 "https://repo1.maven.org/maven2",
203 ],
John Catercadbaa52023-10-16 10:16:21 -0700204 strict_visibility = True,
Yun Pengc749f802023-02-21 06:08:30 -0800205)
John Catercadbaa52023-10-16 10:16:21 -0700206
Yun Peng136dae12023-09-08 12:39:10 -0700207# Test only maven dependencies
John Catercadbaa52023-10-16 10:16:21 -0700208[
209 maven.artifact(
210 testonly = True,
211 artifact = artifact,
212 group = group,
213 version = version,
214 )
215 for group, artifact, version in [coord.split(":") for coord in [
Googlerc7028652024-01-31 11:25:17 -0800216 "com.google.guava:guava-testlib:33.0.0-jre",
John Catercadbaa52023-10-16 10:16:21 -0700217 "com.google.jimfs:jimfs:1.2",
218 "com.google.testing.compile:compile-testing:0.18",
Googlere40dc992024-05-15 04:44:20 -0700219 "com.google.testparameterinjector:test-parameter-injector:1.16",
Googler5fc530c2024-02-08 01:41:44 -0800220 "com.google.truth:truth:1.4.0",
221 "com.google.truth.extensions:truth-java8-extension:1.4.0",
222 "com.google.truth.extensions:truth-liteproto-extension:1.4.0",
223 "com.google.truth.extensions:truth-proto-extension:1.4.0",
John Catercadbaa52023-10-16 10:16:21 -0700224 "org.mockito:mockito-core:5.4.0",
225 ]]
226]
227
Yun Peng136dae12023-09-08 12:39:10 -0700228use_repo(maven, "maven", "unpinned_maven")
Yun Peng3d7937e2023-01-10 06:43:02 -0800229
Yun Peng9d308492023-08-08 00:49:00 -0700230java_toolchains = use_extension("@rules_java//java:extensions.bzl", "toolchains")
John Catercadbaa52023-10-16 10:16:21 -0700231use_repo(
232 java_toolchains,
Yun Pengb27ca732023-09-06 02:57:04 -0700233 "local_jdk",
Yun Pengc1f2aff2023-11-07 09:51:02 -0800234 # The following are required for visibility in //src:test_repos
Yun Pengb27ca732023-09-06 02:57:04 -0700235 "remote_java_tools",
Yun Pengb27ca732023-09-06 02:57:04 -0700236 "remote_java_tools_darwin_arm64",
John Catercadbaa52023-10-16 10:16:21 -0700237 "remote_java_tools_darwin_x86_64",
Yun Pengb27ca732023-09-06 02:57:04 -0700238 "remote_java_tools_linux",
239 "remote_java_tools_windows",
240 "remotejdk11_linux",
241 "remotejdk11_linux_aarch64",
242 "remotejdk11_linux_ppc64le",
243 "remotejdk11_linux_s390x",
244 "remotejdk11_macos",
245 "remotejdk11_macos_aarch64",
246 "remotejdk11_win",
247 "remotejdk11_win_arm64",
248 "remotejdk17_linux",
249 "remotejdk17_linux_s390x",
250 "remotejdk17_macos",
251 "remotejdk17_macos_aarch64",
252 "remotejdk17_win",
253 "remotejdk17_win_arm64",
Fabian Meumertzheimf79ca022023-10-19 10:11:18 -0700254 "remotejdk21_linux",
255 "remotejdk21_macos",
256 "remotejdk21_macos_aarch64",
257 "remotejdk21_win",
Googler3c84aa82023-04-11 09:40:31 -0700258)
259
Googlercf140392023-08-01 12:34:14 -0700260# =========================================
Yun Peng9d308492023-08-08 00:49:00 -0700261# Python dependencies
262# =========================================
263
264python = use_extension("@rules_python//python/extensions:python.bzl", "python")
265python.toolchain(python_version = "3.8")
266
267pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
268pip.parse(
269 hub_name = "bazel_pip_dev_deps",
270 python_version = "3.8",
271 requirements_lock = "//:requirements.txt",
272)
273use_repo(pip, "bazel_pip_dev_deps")
274
275# =========================================
Yun Pengb27ca732023-09-06 02:57:04 -0700276# Other Bazel build dependencies
Yun Peng9d308492023-08-08 00:49:00 -0700277# =========================================
278
Yun Pengb27ca732023-09-06 02:57:04 -0700279bazel_build_deps = use_extension("//:extensions.bzl", "bazel_build_deps")
Yun Peng9d308492023-08-08 00:49:00 -0700280use_repo(
Yun Pengb27ca732023-09-06 02:57:04 -0700281 bazel_build_deps,
Yun Peng50c83752023-10-10 18:30:26 -0700282 "bazel_tools_repo_cache",
John Catercadbaa52023-10-16 10:16:21 -0700283 "bootstrap_repo_cache",
John Cater12b62e42023-10-17 04:53:45 -0700284 "debian_bin_deps",
Yun Pengb27ca732023-09-06 02:57:04 -0700285 "debian_cc_deps",
John Cater12b62e42023-10-17 04:53:45 -0700286 "debian_java_deps",
287 "debian_proto_deps",
Yun Pengb27ca732023-09-06 02:57:04 -0700288 "openjdk_linux_aarch64_vanilla",
289 "openjdk_linux_ppc64le_vanilla",
290 "openjdk_linux_s390x_vanilla",
291 "openjdk_linux_vanilla",
292 "openjdk_macos_aarch64_vanilla",
293 "openjdk_macos_x86_64_vanilla",
294 "openjdk_win_arm64_vanilla",
295 "openjdk_win_vanilla",
Yun Pengc1f2aff2023-11-07 09:51:02 -0800296 "workspace_repo_cache",
Yun Pengb27ca732023-09-06 02:57:04 -0700297)
298
299# Required only by `--extra_toolchains=@local_config_cc//:cc-toolchain-arm64_windows` from .bazelrc
300cc_configure = use_extension("@bazel_tools//tools/cpp:cc_configure.bzl", "cc_configure_extension")
301use_repo(cc_configure, "local_config_cc")
302
Fabian Meumertzheim095ad382024-01-10 03:39:36 -0800303gvm = use_extension("@rules_graalvm//:extensions.bzl", "graalvm")
304gvm.graalvm(
305 name = "graalvm",
306 distribution = "ce",
Googler11498b52024-03-06 15:27:20 -0800307 java_version = "21",
308 version = "21.0.2",
Fabian Meumertzheim095ad382024-01-10 03:39:36 -0800309)
310use_repo(gvm, "graalvm_toolchains")
311
Fabian Meumertzheim31872502024-06-05 11:45:25 -0700312http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")
313
Fabian Meumertzheim0ca70992024-06-12 10:31:49 -0700314# DO NOT UPDATE the jq versions, they are used to verify compatibility with old and new versions.
Fabian Meumertzheim31872502024-06-05 11:45:25 -0700315http_file(
316 name = "jq_linux_amd64",
317 executable = True,
318 integrity = "sha256-xrOn19PntwxvUbcGo7kL0BgzhGxU0yyjLwAn8AIm/20=",
319 urls = ["https://github.com/jqlang/jq/releases/download/jq-1.5/jq-linux64"],
320)
321
322http_file(
Fabian Meumertzheim0ca70992024-06-12 10:31:49 -0700323 name = "jq_linux_arm64",
324 executable = True,
325 integrity = "sha256-TdLYoGYd8LIvG7mh+YMPBrbzuPfZEhGh7118TwaotKU=",
326 urls = ["https://github.com/jqlang/jq/releases/download/jq-1.7.1/jq-linux-arm64"],
327)
328
329http_file(
Fabian Meumertzheim31872502024-06-05 11:45:25 -0700330 name = "jq_macos_amd64",
331 executable = True,
332 integrity = "sha256-OG6SyYKlb+SFFGjXqTHfyilWDO4wag5mxqG9QGXT2sU=",
333 urls = ["https://github.com/jqlang/jq/releases/download/jq-1.5/jq-osx-amd64"],
334)
335
336http_file(
Fabian Meumertzheim0ca70992024-06-12 10:31:49 -0700337 name = "jq_macos_arm64",
338 executable = True,
339 integrity = "sha256-C75hnmY+DeLFUL4v4NJA0HZ5nW+KZStw+gSuqKg2Loo=",
340 urls = ["https://github.com/jqlang/jq/releases/download/jq-1.7.1/jq-macos-arm64"],
341)
342
343http_file(
Fabian Meumertzheim31872502024-06-05 11:45:25 -0700344 name = "jq_windows_amd64",
345 executable = True,
346 integrity = "sha256-6+zYQLpH779mgihoF4zHIaFRBgk396xAbj0xvQFb3pQ=",
347 urls = ["https://github.com/jqlang/jq/releases/download/jq-1.5/jq-win64.exe"],
348)
349
Yun Pengb27ca732023-09-06 02:57:04 -0700350# =========================================
351# Other Bazel testing dependencies
352# =========================================
353
Matthieu MOREL7ca7b352024-06-06 02:00:52 -0700354bazel_dep(name = "bazel_ci_rules", version = "1.0.0")
355
Yun Pengb27ca732023-09-06 02:57:04 -0700356bazel_test_deps = use_extension("//:extensions.bzl", "bazel_test_deps")
357use_repo(
358 bazel_test_deps,
Yun Peng9d308492023-08-08 00:49:00 -0700359 "local_bazel_source_list",
360 "local_config_winsdk",
Yun Peng9d308492023-08-08 00:49:00 -0700361)
362
363bazel_rbe_deps = use_extension("//:rbe_extension.bzl", "bazel_rbe_deps")
Googler40824e12024-03-11 02:38:48 -0700364use_repo(bazel_rbe_deps, "rbe_ubuntu2004")
Yun Peng9d308492023-08-08 00:49:00 -0700365
Yun Pengb27ca732023-09-06 02:57:04 -0700366remote_coverage_tools_extension = use_extension("//tools/test:extensions.bzl", "remote_coverage_tools_extension")
367use_repo(remote_coverage_tools_extension, "remote_coverage_tools")
368
Yun Peng9d308492023-08-08 00:49:00 -0700369# =========================================
Yun Pengb27ca732023-09-06 02:57:04 -0700370# Register platforms & toolchains
371# =========================================
372
373register_execution_platforms("//:default_host_platform")
374
375register_toolchains("@bazel_tools//tools/python:autodetecting_toolchain")
376
377register_toolchains("@local_config_winsdk//:all")
378
379register_toolchains("//src/main/res:empty_rc_toolchain")
380
Fabian Meumertzheim095ad382024-01-10 03:39:36 -0800381register_toolchains("@graalvm_toolchains//:gvm")
382
Yun Pengb27ca732023-09-06 02:57:04 -0700383# =========================================
384# Android tools dependencies
Googlercf140392023-08-01 12:34:14 -0700385# =========================================
386
387maven_android = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
388maven_android.install(
389 name = "maven_android",
Yun Peng136dae12023-09-08 12:39:10 -0700390 artifacts = [
391 "androidx.databinding:databinding-compiler:3.4.0-alpha10",
392 "com.android.tools.build:builder:7.1.3",
393 "com.android.tools.build:manifest-merger:30.1.3",
394 "com.android.tools:sdk-common:30.1.3",
395 "com.android.tools:annotations:30.1.3",
396 "com.android.tools.layoutlib:layoutlib-api:30.1.3",
397 "com.android.tools:common:30.1.3",
398 "com.android.tools:repository:30.1.3",
399 ],
400 # Don't forget to change this to back to True before submitting your change.
401 fail_if_repin_required = True,
Googlercf140392023-08-01 12:34:14 -0700402 lock_file = "//src/tools/android:maven_android_install.json",
403 repositories = [
404 "https://dl.google.com/android/maven2",
405 "https://repo1.maven.org/maven2",
406 ],
407)
Yun Peng136dae12023-09-08 12:39:10 -0700408use_repo(maven_android, "maven_android", "unpinned_maven_android")
Googlercf140392023-08-01 12:34:14 -0700409
410bazel_android_deps = use_extension("//:extensions.bzl", "bazel_android_deps")
Yun Pengb27ca732023-09-06 02:57:04 -0700411use_repo(bazel_android_deps, "desugar_jdk_libs")
412
413remote_android_extensions = use_extension("//tools/android:android_extensions.bzl", "remote_android_tools_extensions")
414use_repo(remote_android_extensions, "android_gmaven_r8", "android_tools")
Googler7f749e92024-02-29 14:24:49 -0800415
416android_sdk_proxy_extensions = use_extension("//tools/android:android_extensions.bzl", "android_sdk_proxy_extensions")
417use_repo(android_sdk_proxy_extensions, "android_external")