xref: /aosp_15_r20/external/federated-compute/WORKSPACE (revision 14675a029014e728ec732f129a32e299b2da0601)
1*14675a02SAndroid Build Coastguard Worker# Copyright 2021 Google LLC
2*14675a02SAndroid Build Coastguard Worker#
3*14675a02SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*14675a02SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*14675a02SAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*14675a02SAndroid Build Coastguard Worker#
7*14675a02SAndroid Build Coastguard Worker#      http://www.apache.org/licenses/LICENSE-2.0
8*14675a02SAndroid Build Coastguard Worker#
9*14675a02SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*14675a02SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*14675a02SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*14675a02SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*14675a02SAndroid Build Coastguard Worker# limitations under the License.
14*14675a02SAndroid Build Coastguard Worker
15*14675a02SAndroid Build Coastguard Worker# This file uses repository rules to fetch external dependencies.
16*14675a02SAndroid Build Coastguard Worker#
17*14675a02SAndroid Build Coastguard Worker# We require that all uses of repository rules are effectively deterministic -
18*14675a02SAndroid Build Coastguard Worker# they may fail, but otherwise must always produce exactly the same output for
19*14675a02SAndroid Build Coastguard Worker# given parameters. For the http_archive rule, this means that you must specify
20*14675a02SAndroid Build Coastguard Worker# a sha256 parameter; consequently, make sure to use stable URLs, rather than
21*14675a02SAndroid Build Coastguard Worker# e.g. one that names a git branch.
22*14675a02SAndroid Build Coastguard Worker#
23*14675a02SAndroid Build Coastguard Worker# This is so that all(*) inputs to the build are fully determined (i.e. a
24*14675a02SAndroid Build Coastguard Worker# change to build inputs requires a change to our sources), which avoids
25*14675a02SAndroid Build Coastguard Worker# confusing outcomes from caching. If it is ever productive to clear your Bazel
26*14675a02SAndroid Build Coastguard Worker# cache, that's a bug.
27*14675a02SAndroid Build Coastguard Worker#
28*14675a02SAndroid Build Coastguard Worker# (*) A Bazel build depends on local compiler toolchains (and Bazel itself), so
29*14675a02SAndroid Build Coastguard Worker# it can be useful to pick a particular container image too (like some version
30*14675a02SAndroid Build Coastguard Worker# of http://l.gcr.io/bazel).
31*14675a02SAndroid Build Coastguard Worker#
32*14675a02SAndroid Build Coastguard Worker# The repository namespace
33*14675a02SAndroid Build Coastguard Worker# ------------------------
34*14675a02SAndroid Build Coastguard Worker#
35*14675a02SAndroid Build Coastguard Worker# Bazel's handling of @repository_names// is very broken. There is a single,
36*14675a02SAndroid Build Coastguard Worker# global namespace for repositories. Conflicts are silently ignored. This is
37*14675a02SAndroid Build Coastguard Worker# problematic for common dependencies. As much as possible, we use TensorFlow's
38*14675a02SAndroid Build Coastguard Worker# dependencies. Things become especially difficult if we try to use our own
39*14675a02SAndroid Build Coastguard Worker# version of grpc or protobuf. Current overrides:
40*14675a02SAndroid Build Coastguard Worker#
41*14675a02SAndroid Build Coastguard Worker#  - @com_github_gflags_gflags: tf uses 2.2.1 and we need 2.2.2 apparently.
42*14675a02SAndroid Build Coastguard Worker#  - @com_google_googletest: Need to patch in support for absl flags
43*14675a02SAndroid Build Coastguard Worker
44*14675a02SAndroid Build Coastguard Workerworkspace(name = "com_google_fcp")
45*14675a02SAndroid Build Coastguard Worker
46*14675a02SAndroid Build Coastguard Workerload("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
47*14675a02SAndroid Build Coastguard Worker
48*14675a02SAndroid Build Coastguard Worker# Needed for user-defined configs
49*14675a02SAndroid Build Coastguard Workerhttp_archive(
50*14675a02SAndroid Build Coastguard Worker    name = "bazel_skylib",
51*14675a02SAndroid Build Coastguard Worker    sha256 = "74d544d96f4a5bb630d465ca8bbcfe231e3594e5aae57e1edbf17a6eb3ca2506",
52*14675a02SAndroid Build Coastguard Worker    urls = [
53*14675a02SAndroid Build Coastguard Worker        "https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz",
54*14675a02SAndroid Build Coastguard Worker        "https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz",
55*14675a02SAndroid Build Coastguard Worker    ],
56*14675a02SAndroid Build Coastguard Worker)
57*14675a02SAndroid Build Coastguard Worker
58*14675a02SAndroid Build Coastguard Workerload("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
59*14675a02SAndroid Build Coastguard Worker
60*14675a02SAndroid Build Coastguard Workerbazel_skylib_workspace()
61*14675a02SAndroid Build Coastguard Worker
62*14675a02SAndroid Build Coastguard Worker# GoogleTest/GoogleMock framework. Used by most unit-tests.
63*14675a02SAndroid Build Coastguard Workerhttp_archive(
64*14675a02SAndroid Build Coastguard Worker    name = "com_google_googletest",
65*14675a02SAndroid Build Coastguard Worker    patches = ["//fcp/patches:googletest.patch"],
66*14675a02SAndroid Build Coastguard Worker    sha256 = "81964fe578e9bd7c94dfdb09c8e4d6e6759e19967e397dbea48d1c10e45d0df2",
67*14675a02SAndroid Build Coastguard Worker    strip_prefix = "googletest-release-1.12.1",
68*14675a02SAndroid Build Coastguard Worker    urls = ["https://github.com/google/googletest/archive/refs/tags/release-1.12.1.tar.gz"],
69*14675a02SAndroid Build Coastguard Worker)
70*14675a02SAndroid Build Coastguard Worker
71*14675a02SAndroid Build Coastguard Workerhttp_archive(
72*14675a02SAndroid Build Coastguard Worker    name = "com_github_gflags_gflags",
73*14675a02SAndroid Build Coastguard Worker    sha256 = "34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf",
74*14675a02SAndroid Build Coastguard Worker    strip_prefix = "gflags-2.2.2",
75*14675a02SAndroid Build Coastguard Worker    urls = ["https://github.com/gflags/gflags/archive/v2.2.2.tar.gz"],
76*14675a02SAndroid Build Coastguard Worker)
77*14675a02SAndroid Build Coastguard Worker
78*14675a02SAndroid Build Coastguard Workerhttp_archive(
79*14675a02SAndroid Build Coastguard Worker    name = "com_github_google_glog",
80*14675a02SAndroid Build Coastguard Worker    sha256 = "21bc744fb7f2fa701ee8db339ded7dce4f975d0d55837a97be7d46e8382dea5a",
81*14675a02SAndroid Build Coastguard Worker    strip_prefix = "glog-0.5.0",
82*14675a02SAndroid Build Coastguard Worker    urls = ["https://github.com/google/glog/archive/v0.5.0.zip"],
83*14675a02SAndroid Build Coastguard Worker)
84*14675a02SAndroid Build Coastguard Worker
85*14675a02SAndroid Build Coastguard Workerhttp_archive(
86*14675a02SAndroid Build Coastguard Worker    name = "com_github_grpc_grpc",
87*14675a02SAndroid Build Coastguard Worker    sha256 = "76900ab068da86378395a8e125b5cc43dfae671e09ff6462ddfef18676e2165a",
88*14675a02SAndroid Build Coastguard Worker    strip_prefix = "grpc-1.50.0",
89*14675a02SAndroid Build Coastguard Worker    urls = ["https://github.com/grpc/grpc/archive/refs/tags/v1.50.0.tar.gz"],
90*14675a02SAndroid Build Coastguard Worker)
91*14675a02SAndroid Build Coastguard Worker
92*14675a02SAndroid Build Coastguard Worker# TensorFlow 2.11.0 pins an old version of upb that's compatible with their old
93*14675a02SAndroid Build Coastguard Worker# version of gRPC, but not with the newer version we use. Pin the version that
94*14675a02SAndroid Build Coastguard Worker# would be added by gRPC 1.50.0.
95*14675a02SAndroid Build Coastguard Workerhttp_archive(
96*14675a02SAndroid Build Coastguard Worker    name = "upb",
97*14675a02SAndroid Build Coastguard Worker    sha256 = "017a7e8e4e842d01dba5dc8aa316323eee080cd1b75986a7d1f94d87220e6502",
98*14675a02SAndroid Build Coastguard Worker    strip_prefix = "upb-e4635f223e7d36dfbea3b722a4ca4807a7e882e2",
99*14675a02SAndroid Build Coastguard Worker    urls = [
100*14675a02SAndroid Build Coastguard Worker        "https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/upb/archive/e4635f223e7d36dfbea3b722a4ca4807a7e882e2.tar.gz",
101*14675a02SAndroid Build Coastguard Worker        "https://github.com/protocolbuffers/upb/archive/e4635f223e7d36dfbea3b722a4ca4807a7e882e2.tar.gz",
102*14675a02SAndroid Build Coastguard Worker    ],
103*14675a02SAndroid Build Coastguard Worker)
104*14675a02SAndroid Build Coastguard Worker
105*14675a02SAndroid Build Coastguard Worker# The version provided by TensorFlow 2.11 doesn't support equality checks for
106*14675a02SAndroid Build Coastguard Worker# absl::Status.
107*14675a02SAndroid Build Coastguard Workerhttp_archive(
108*14675a02SAndroid Build Coastguard Worker    name = "pybind11_abseil",
109*14675a02SAndroid Build Coastguard Worker    sha256 = "6481888831cd548858c09371ea892329b36c8d4d961f559876c64e009d0bc630",
110*14675a02SAndroid Build Coastguard Worker    strip_prefix = "pybind11_abseil-3922b3861a2b27d4111e3ac971e6697ea030a36e",
111*14675a02SAndroid Build Coastguard Worker    url = "https://github.com/pybind/pybind11_abseil/archive/3922b3861a2b27d4111e3ac971e6697ea030a36e.tar.gz",
112*14675a02SAndroid Build Coastguard Worker)
113*14675a02SAndroid Build Coastguard Worker
114*14675a02SAndroid Build Coastguard Workerhttp_archive(
115*14675a02SAndroid Build Coastguard Worker    name = "pybind11_protobuf",
116*14675a02SAndroid Build Coastguard Worker    sha256 = "fe2b8bf12a65997b853709a5e719f7561b2e86a4cdbb9d8b051e654dd0fd8d11",
117*14675a02SAndroid Build Coastguard Worker    strip_prefix = "pybind11_protobuf-a50899c2eb604fc5f25deeb8901eff6231b8b3c0",
118*14675a02SAndroid Build Coastguard Worker    url = "https://github.com/pybind/pybind11_protobuf/archive/a50899c2eb604fc5f25deeb8901eff6231b8b3c0.tar.gz",
119*14675a02SAndroid Build Coastguard Worker)
120*14675a02SAndroid Build Coastguard Worker
121*14675a02SAndroid Build Coastguard Worker# Define the @io_grpc_grpc_java repository, which is used by the
122*14675a02SAndroid Build Coastguard Worker# @com_google_googleapis repository to define the Java protobuf targets such as
123*14675a02SAndroid Build Coastguard Worker# @com_google_googleapis//google/rpc:rpc_java_proto). The pattern we use here is
124*14675a02SAndroid Build Coastguard Worker# the same as @com_google_googleapis' WORKSPACE file uses.
125*14675a02SAndroid Build Coastguard Worker#
126*14675a02SAndroid Build Coastguard Worker# Note that the @com_google_googleapis repository is actually defined
127*14675a02SAndroid Build Coastguard Worker# transitively by the @org_tensorflow workspace rules.
128*14675a02SAndroid Build Coastguard Workerhttp_archive(
129*14675a02SAndroid Build Coastguard Worker    name = "com_google_api_gax_java",
130*14675a02SAndroid Build Coastguard Worker    sha256 = "7c172c20dc52c09f42b3077a5195dc5fbcb30e023831918593d1b81a1aea650e",
131*14675a02SAndroid Build Coastguard Worker    strip_prefix = "gax-java-2.20.0",
132*14675a02SAndroid Build Coastguard Worker    urls = ["https://github.com/googleapis/gax-java/archive/v2.20.0.zip"],
133*14675a02SAndroid Build Coastguard Worker)
134*14675a02SAndroid Build Coastguard Worker
135*14675a02SAndroid Build Coastguard Workerload("@com_google_api_gax_java//:repository_rules.bzl", "com_google_api_gax_java_properties")
136*14675a02SAndroid Build Coastguard Worker
137*14675a02SAndroid Build Coastguard Workercom_google_api_gax_java_properties(
138*14675a02SAndroid Build Coastguard Worker    name = "com_google_api_gax_java_properties",
139*14675a02SAndroid Build Coastguard Worker    file = "@com_google_api_gax_java//:dependencies.properties",
140*14675a02SAndroid Build Coastguard Worker)
141*14675a02SAndroid Build Coastguard Worker
142*14675a02SAndroid Build Coastguard Workerload("@com_google_api_gax_java//:repositories.bzl", "com_google_api_gax_java_repositories")
143*14675a02SAndroid Build Coastguard Worker
144*14675a02SAndroid Build Coastguard Workercom_google_api_gax_java_repositories()
145*14675a02SAndroid Build Coastguard Worker
146*14675a02SAndroid Build Coastguard Worker# Tensorflow v2.12.0
147*14675a02SAndroid Build Coastguard Workerhttp_archive(
148*14675a02SAndroid Build Coastguard Worker    name = "org_tensorflow",
149*14675a02SAndroid Build Coastguard Worker    patch_tool = "patch",
150*14675a02SAndroid Build Coastguard Worker    patches = [
151*14675a02SAndroid Build Coastguard Worker        # This patch enables googleapi Java and Python proto rules such as
152*14675a02SAndroid Build Coastguard Worker        # @com_google_googleapis//google/rpc:rpc_java_proto.
153*14675a02SAndroid Build Coastguard Worker        "//fcp/patches:tensorflow_googleapis_proto_rules.patch",
154*14675a02SAndroid Build Coastguard Worker        # This patch works around failures in GitHub infrastructure to
155*14675a02SAndroid Build Coastguard Worker        # download versions of LLVM pointed to by non-HEAD TensorFlow.
156*14675a02SAndroid Build Coastguard Worker        # TODO(team): Remove this patch when resolved.
157*14675a02SAndroid Build Coastguard Worker        "//fcp/patches:tensorflow_llvm_url.patch",
158*14675a02SAndroid Build Coastguard Worker        # TensorFlow's custom pybind11 BUILD file is missing the osx config
159*14675a02SAndroid Build Coastguard Worker        # setting expected by pybind11_bazel.
160*14675a02SAndroid Build Coastguard Worker        "//fcp/patches:tensorflow_pybind11_osx.patch",
161*14675a02SAndroid Build Coastguard Worker        # This patch removes tf_custom_op_py_library's dependency on the Bazel
162*14675a02SAndroid Build Coastguard Worker        # version of TensorFlow since for all of our Python code, we rely on a
163*14675a02SAndroid Build Coastguard Worker        # system-provided TensorFlow.
164*14675a02SAndroid Build Coastguard Worker        "//fcp/patches:tensorflow_tf_custom_op_py_library.patch",
165*14675a02SAndroid Build Coastguard Worker        # gRPC v1.48.0-pre1 and later include zconf.h in addition to zlib.h;
166*14675a02SAndroid Build Coastguard Worker        # TensorFlow's build rule for zlib only exports the latter.
167*14675a02SAndroid Build Coastguard Worker        "//fcp/patches:tensorflow_zlib.patch",
168*14675a02SAndroid Build Coastguard Worker    ],
169*14675a02SAndroid Build Coastguard Worker    sha256 = "c030cb1905bff1d2446615992aad8d8d85cbe90c4fb625cee458c63bf466bc8e",
170*14675a02SAndroid Build Coastguard Worker    strip_prefix = "tensorflow-2.12.0",
171*14675a02SAndroid Build Coastguard Worker    urls = [
172*14675a02SAndroid Build Coastguard Worker        "https://github.com/tensorflow/tensorflow/archive/v2.12.0.tar.gz",
173*14675a02SAndroid Build Coastguard Worker    ],
174*14675a02SAndroid Build Coastguard Worker)
175*14675a02SAndroid Build Coastguard Worker
176*14675a02SAndroid Build Coastguard Worker# The following is copied from TensorFlow's own WORKSPACE, see
177*14675a02SAndroid Build Coastguard Worker# https://github.com/tensorflow/tensorflow/blob/v2.8.0/WORKSPACE#L9
178*14675a02SAndroid Build Coastguard Worker
179*14675a02SAndroid Build Coastguard Workerload("@org_tensorflow//tensorflow:workspace3.bzl", "tf_workspace3")
180*14675a02SAndroid Build Coastguard Worker
181*14675a02SAndroid Build Coastguard Workertf_workspace3()
182*14675a02SAndroid Build Coastguard Worker
183*14675a02SAndroid Build Coastguard Workerload("@org_tensorflow//tensorflow:workspace2.bzl", "tf_workspace2")
184*14675a02SAndroid Build Coastguard Worker
185*14675a02SAndroid Build Coastguard Workertf_workspace2()
186*14675a02SAndroid Build Coastguard Worker
187*14675a02SAndroid Build Coastguard Workerload("@org_tensorflow//tensorflow:workspace1.bzl", "tf_workspace1")
188*14675a02SAndroid Build Coastguard Worker
189*14675a02SAndroid Build Coastguard Workertf_workspace1()
190*14675a02SAndroid Build Coastguard Worker
191*14675a02SAndroid Build Coastguard Workerload("@org_tensorflow//tensorflow:workspace0.bzl", "tf_workspace0")
192*14675a02SAndroid Build Coastguard Worker
193*14675a02SAndroid Build Coastguard Workertf_workspace0()
194*14675a02SAndroid Build Coastguard Worker
195*14675a02SAndroid Build Coastguard Workerload("//fcp/tensorflow/system_provided_tf:system_provided_tf.bzl", "system_provided_tf")
196*14675a02SAndroid Build Coastguard Worker
197*14675a02SAndroid Build Coastguard Workersystem_provided_tf(
198*14675a02SAndroid Build Coastguard Worker    name = "system_provided_tf",
199*14675a02SAndroid Build Coastguard Worker)
200*14675a02SAndroid Build Coastguard Worker
201*14675a02SAndroid Build Coastguard Workerhttp_archive(
202*14675a02SAndroid Build Coastguard Worker    name = "com_google_benchmark",
203*14675a02SAndroid Build Coastguard Worker    sha256 = "23082937d1663a53b90cb5b61df4bcc312f6dee7018da78ba00dd6bd669dfef2",
204*14675a02SAndroid Build Coastguard Worker    strip_prefix = "benchmark-1.5.1",
205*14675a02SAndroid Build Coastguard Worker    urls = [
206*14675a02SAndroid Build Coastguard Worker        "https://github.com/google/benchmark/archive/v1.5.1.tar.gz",
207*14675a02SAndroid Build Coastguard Worker    ],
208*14675a02SAndroid Build Coastguard Worker)
209*14675a02SAndroid Build Coastguard Worker
210*14675a02SAndroid Build Coastguard Worker# Cpp ProtoDataStore
211*14675a02SAndroid Build Coastguard Workerhttp_archive(
212*14675a02SAndroid Build Coastguard Worker    name = "protodatastore_cpp",
213*14675a02SAndroid Build Coastguard Worker    sha256 = "d2627231fce0c9944100812b42d33203f7e03e78215d10123e78041b491005c3",
214*14675a02SAndroid Build Coastguard Worker    strip_prefix = "protodatastore-cpp-0cd8b124bc65bcac105bce4a706923218ae5d625",
215*14675a02SAndroid Build Coastguard Worker    url = "https://github.com/google/protodatastore-cpp/archive/0cd8b124bc65bcac105bce4a706923218ae5d625.zip",
216*14675a02SAndroid Build Coastguard Worker)
217*14675a02SAndroid Build Coastguard Worker
218*14675a02SAndroid Build Coastguard Worker# libcurl is used in the http client.
219*14675a02SAndroid Build Coastguard Workerhttp_archive(
220*14675a02SAndroid Build Coastguard Worker    name = "libcurl",
221*14675a02SAndroid Build Coastguard Worker    build_file = "//third_party:curl.BUILD.bzl",
222*14675a02SAndroid Build Coastguard Worker    sha256 = "e9d74b8586e0d2e6b45dc948bbe77525a1fa7f7c004ad5192f12e72c365e376e",
223*14675a02SAndroid Build Coastguard Worker    strip_prefix = "curl-curl-7_84_0",
224*14675a02SAndroid Build Coastguard Worker    url = "https://github.com/curl/curl/archive/refs/tags/curl-7_84_0.zip",
225*14675a02SAndroid Build Coastguard Worker)
226*14675a02SAndroid Build Coastguard Worker
227*14675a02SAndroid Build Coastguard Worker# We use only the http test server.
228*14675a02SAndroid Build Coastguard Workerhttp_archive(
229*14675a02SAndroid Build Coastguard Worker    name = "tensorflow_serving",
230*14675a02SAndroid Build Coastguard Worker    patch_tool = "patch",
231*14675a02SAndroid Build Coastguard Worker    patches = [
232*14675a02SAndroid Build Coastguard Worker        "//fcp/patches:tensorflow_serving.patch",
233*14675a02SAndroid Build Coastguard Worker    ],
234*14675a02SAndroid Build Coastguard Worker    sha256 = "6b428100be7ec4bb34fc7910b7f549b6556854016a3c4cbda5613b5c114797b3",
235*14675a02SAndroid Build Coastguard Worker    strip_prefix = "serving-2.9.0",
236*14675a02SAndroid Build Coastguard Worker    url = "https://github.com/tensorflow/serving/archive/refs/tags/2.9.0.zip",
237*14675a02SAndroid Build Coastguard Worker)
238*14675a02SAndroid Build Coastguard Worker
239*14675a02SAndroid Build Coastguard Workerload("@tensorflow_serving//tensorflow_serving:workspace.bzl", "tf_serving_workspace")
240*14675a02SAndroid Build Coastguard Worker
241*14675a02SAndroid Build Coastguard Workertf_serving_workspace()
242*14675a02SAndroid Build Coastguard Worker
243*14675a02SAndroid Build Coastguard Worker# Java Maven-based repositories.
244*14675a02SAndroid Build Coastguard Workerhttp_archive(
245*14675a02SAndroid Build Coastguard Worker    name = "rules_jvm_external",
246*14675a02SAndroid Build Coastguard Worker    sha256 = "cd1a77b7b02e8e008439ca76fd34f5b07aecb8c752961f9640dea15e9e5ba1ca",
247*14675a02SAndroid Build Coastguard Worker    strip_prefix = "rules_jvm_external-4.2",
248*14675a02SAndroid Build Coastguard Worker    url = "https://github.com/bazelbuild/rules_jvm_external/archive/4.2.zip",
249*14675a02SAndroid Build Coastguard Worker)
250*14675a02SAndroid Build Coastguard Worker
251*14675a02SAndroid Build Coastguard Workerload("@rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps")
252*14675a02SAndroid Build Coastguard Worker
253*14675a02SAndroid Build Coastguard Workerrules_jvm_external_deps()
254*14675a02SAndroid Build Coastguard Worker
255*14675a02SAndroid Build Coastguard Workerload("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup")
256*14675a02SAndroid Build Coastguard Worker
257*14675a02SAndroid Build Coastguard Workerrules_jvm_external_setup()
258*14675a02SAndroid Build Coastguard Worker
259*14675a02SAndroid Build Coastguard Workerload("@rules_jvm_external//:defs.bzl", "maven_install")
260*14675a02SAndroid Build Coastguard Worker
261*14675a02SAndroid Build Coastguard Workermaven_install(
262*14675a02SAndroid Build Coastguard Worker    name = "fcp_maven",
263*14675a02SAndroid Build Coastguard Worker    artifacts = [
264*14675a02SAndroid Build Coastguard Worker        "com.google.code.findbugs:jsr305:3.0.2",
265*14675a02SAndroid Build Coastguard Worker        "com.google.errorprone:error_prone_annotations:2.11.0",
266*14675a02SAndroid Build Coastguard Worker        "com.google.guava:guava:31.0.1-jre",
267*14675a02SAndroid Build Coastguard Worker        "com.google.truth:truth:1.1.3",
268*14675a02SAndroid Build Coastguard Worker        "junit:junit:4.13",
269*14675a02SAndroid Build Coastguard Worker        "org.mockito:mockito-core:4.3.1",
270*14675a02SAndroid Build Coastguard Worker    ],
271*14675a02SAndroid Build Coastguard Worker    repositories = [
272*14675a02SAndroid Build Coastguard Worker        "https://maven.google.com",
273*14675a02SAndroid Build Coastguard Worker        "https://repo1.maven.org/maven2",
274*14675a02SAndroid Build Coastguard Worker    ],
275*14675a02SAndroid Build Coastguard Worker)
276*14675a02SAndroid Build Coastguard Worker
277*14675a02SAndroid Build Coastguard Worker# The version of googleapis imported by TensorFlow doesn't provide
278*14675a02SAndroid Build Coastguard Worker# `py_proto_library` targets for //google/longrunning.
279*14675a02SAndroid Build Coastguard Workerhttp_archive(
280*14675a02SAndroid Build Coastguard Worker    name = "googleapis_for_longrunning",
281*14675a02SAndroid Build Coastguard Worker    patches = [
282*14675a02SAndroid Build Coastguard Worker        "//fcp/patches:googleapis_longrunning.patch",
283*14675a02SAndroid Build Coastguard Worker    ],
284*14675a02SAndroid Build Coastguard Worker    sha256 = "c1db0b022cdfc5b5ce5f05b0f00568e2d927c9890429ec9c35bda12f52d93065",
285*14675a02SAndroid Build Coastguard Worker    strip_prefix = "googleapis-2d8030c4102f97bc6be4ddab74c7cbfe88d8c016",
286*14675a02SAndroid Build Coastguard Worker    url = "https://github.com/googleapis/googleapis/archive/2d8030c4102f97bc6be4ddab74c7cbfe88d8c016.tar.gz",
287*14675a02SAndroid Build Coastguard Worker)
288