-
Notifications
You must be signed in to change notification settings - Fork 28
Expand file tree
/
Copy pathMODULE.bazel
More file actions
110 lines (100 loc) · 4.17 KB
/
Copy pathMODULE.bazel
File metadata and controls
110 lines (100 loc) · 4.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
module(name = "federated-compute")
# Dependencies when FCP is used as a library.
# go/keep-sorted start
bazel_dep(name = "abseil-cpp", version = "20260526.0", repo_name = "com_google_absl")
bazel_dep(name = "bazel_skylib", version = "1.9.0")
bazel_dep(name = "boringssl", version = "0.20260211.0")
bazel_dep(name = "federated_language", version = "0.5.2")
bazel_dep(name = "flatbuffers", version = "25.12.19")
bazel_dep(name = "googleapis", version = "0.0.0-20260223-edfe7983", repo_name = "com_google_googleapis")
bazel_dep(name = "googleapis-java", version = "1.0.0")
bazel_dep(name = "googletest", version = "1.17.0.bcr.2", repo_name = "com_google_googletest")
bazel_dep(name = "grpc", version = "1.80.0", repo_name = "com_github_grpc_grpc")
bazel_dep(name = "oak")
bazel_dep(name = "platforms", version = "1.1.0")
bazel_dep(name = "protobuf", version = "33.1", repo_name = "com_google_protobuf")
bazel_dep(name = "re2", version = "2025-11-05", repo_name = "com_googlesource_code_re2")
bazel_dep(name = "rules_cc", version = "0.2.18")
bazel_dep(name = "rules_java", version = "9.4.2")
bazel_dep(name = "rules_jvm_external", version = "6.10")
bazel_dep(name = "rules_license", version = "1.0.0")
bazel_dep(name = "rules_python", version = "2.0.2")
bazel_dep(name = "zlib", version = "1.3.2")
# go/keep-sorted end
fcp_deps = use_extension("//fcp:extensions.bzl", "fcp_deps")
use_repo(
fcp_deps,
"bazel_toolchains",
"libcppbor",
"libcurl",
"org_tensorflow_federated",
com_google_cc_differential_privacy = "differential_privacy_cc",
com_google_differential_privacy = "differential_privacy_common",
protodatastore_cpp = "protodatastore-cpp",
)
maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
maven.install(
name = "fcp_maven",
artifacts = [
"com.google.code.findbugs:jsr305:3.0.2",
"com.google.errorprone:error_prone_annotations:2.11.0",
"com.google.guava:guava:31.0.1-jre",
"com.google.truth:truth:1.1.3",
"junit:junit:4.13",
"org.mockito:mockito-core:4.3.1",
],
repositories = [
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
)
use_repo(maven, "fcp_maven")
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
hub_name = "fcp_pypi",
python_version = "3.13",
requirements_lock = "//fcp:requirements.txt",
)
use_repo(pip, pypi = "fcp_pypi")
# Dependencies only needed for tests or building binary targets.
# go/keep-sorted start
bazel_dep(name = "google_benchmark", version = "1.9.5", dev_dependency = True, repo_name = "com_google_benchmark")
bazel_dep(name = "toolchains_llvm", version = "1.6.0", dev_dependency = True)
# go/keep-sorted end
# Module overrides.
# go/keep-sorted start block=yes newline_separated=yes
archive_override(
module_name = "oak",
integrity = "sha256-rtuvHOijomEegPoOk5SJ7+Csq0PBF/fCA0QfRH1eUS8=",
strip_prefix = "oak-2c0f2bf362b13d18c971545937ddfe13d133b4ba",
urls = ["https://github.com/project-oak/oak/archive/2c0f2bf362b13d18c971545937ddfe13d133b4ba.tar.gz"],
)
# go/keep-sorted end
# Configure a hermetic C++ toolchain.
llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm", dev_dependency = True)
llvm.toolchain(
name = "llvm_toolchain",
llvm_version = "14.0.0",
)
use_repo(llvm, "llvm_toolchain")
register_toolchains(
"@llvm_toolchain//:all",
dev_dependency = True,
)
# Configure a hermetic Python toolchain.
python = use_extension("@rules_python//python/extensions:python.bzl", "python", dev_dependency = True)
python.defaults(python_version = "3.13")
python.toolchain(python_version = "3.13")