Skip to content

Commit 0901d23

Browse files
committed
Add bazel itself
1 parent 04c2b14 commit 0901d23

File tree

5 files changed

+406
-0
lines changed

5 files changed

+406
-0
lines changed

modules/bazel/7.1.1/MODULE.bazel

+360
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,360 @@
1+
"""Bazel build and test dependencies."""
2+
3+
# NOTE: When editing this file, also update the lockfile.
4+
# bazel mod deps --lockfile_mode=update
5+
6+
module(
7+
name = "bazel",
8+
version = "7.1.1",
9+
repo_name = "io_bazel",
10+
)
11+
12+
# =========================================
13+
# Bazel module dependencies
14+
# =========================================
15+
16+
bazel_dep(name = "rules_license", version = "0.0.7")
17+
bazel_dep(name = "bazel_skylib", version = "1.5.0")
18+
bazel_dep(name = "protobuf", version = "21.7", repo_name = "com_google_protobuf")
19+
bazel_dep(name = "grpc", version = "1.48.1.bcr.1", repo_name = "com_github_grpc_grpc")
20+
bazel_dep(name = "platforms", version = "0.0.8")
21+
bazel_dep(name = "rules_pkg", version = "0.9.1")
22+
bazel_dep(name = "stardoc", version = "0.5.3", repo_name = "io_bazel_skydoc")
23+
bazel_dep(name = "zstd-jni", version = "1.5.2-3.bcr.1")
24+
bazel_dep(name = "blake3", version = "1.3.3.bcr.1")
25+
bazel_dep(name = "zlib", version = "1.3")
26+
bazel_dep(name = "rules_cc", version = "0.0.9")
27+
bazel_dep(name = "rules_graalvm", version = "0.10.3")
28+
bazel_dep(name = "rules_java", version = "7.4.0")
29+
bazel_dep(name = "rules_proto", version = "5.3.0-21.7")
30+
bazel_dep(name = "rules_jvm_external", version = "5.2")
31+
bazel_dep(name = "rules_python", version = "0.26.0")
32+
bazel_dep(name = "rules_testing", version = "0.0.4")
33+
bazel_dep(name = "googletest", version = "1.14.0", repo_name = "com_google_googletest")
34+
35+
# TODO(pcloudy): Add remoteapis and googleapis as Bazel modules in the BCR.
36+
bazel_dep(name = "remoteapis", version = "")
37+
bazel_dep(name = "googleapis", version = "")
38+
39+
single_version_override(
40+
module_name = "rules_jvm_external",
41+
patch_strip = 1,
42+
patches = ["//third_party:rules_jvm_external_5.2.patch"],
43+
)
44+
45+
local_path_override(
46+
module_name = "remoteapis",
47+
path = "./third_party/remoteapis",
48+
)
49+
50+
local_path_override(
51+
module_name = "googleapis",
52+
path = "./third_party/googleapis",
53+
)
54+
55+
# The following Bazel modules are not direct dependencies for building Bazel,
56+
# but are required for visibility from DIST_ARCHIVE_REPOS in repositories.bzl
57+
bazel_dep(name = "apple_support", version = "1.8.1")
58+
bazel_dep(name = "abseil-cpp", version = "20230125.1")
59+
bazel_dep(name = "c-ares", version = "1.15.0")
60+
bazel_dep(name = "rules_go", version = "0.39.1")
61+
bazel_dep(name = "upb", version = "0.0.0-20220923-a547704")
62+
63+
# =========================================
64+
# Java dependencies
65+
# =========================================
66+
67+
maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
68+
maven.install(
69+
artifacts = [
70+
"com.beust:jcommander:1.82",
71+
"com.github.ben-manes.caffeine:caffeine:3.0.5",
72+
"com.github.kevinstern:software-and-algorithms:1.0",
73+
"com.github.stephenc.jcip:jcip-annotations:1.0-1",
74+
"com.google.api-client:google-api-client-gson:1.35.2",
75+
"com.google.api-client:google-api-client:1.35.2",
76+
"com.google.auth:google-auth-library-credentials:1.6.0",
77+
"com.google.auth:google-auth-library-oauth2-http:1.6.0",
78+
"com.google.auto.service:auto-service-annotations:1.0.1",
79+
"com.google.auto.service:auto-service:1.0",
80+
"com.google.auto.value:auto-value-annotations:1.9",
81+
"com.google.auto.value:auto-value:1.8.2",
82+
"com.google.auto:auto-common:1.2.1",
83+
"com.google.code.findbugs:jsr305:3.0.2",
84+
"com.google.code.gson:gson:2.9.0",
85+
"com.google.code.java-allocation-instrumenter:java-allocation-instrumenter:3.3.0",
86+
"com.google.errorprone:error_prone_annotation:2.22.0",
87+
"com.google.errorprone:error_prone_annotations:2.22.0",
88+
"com.google.errorprone:error_prone_check_api:2.22.0",
89+
"com.google.errorprone:error_prone_core:2.22.0",
90+
"com.google.errorprone:error_prone_type_annotations:2.22.0",
91+
"com.google.flogger:flogger-system-backend:0.5.1",
92+
"com.google.flogger:flogger:0.5.1",
93+
"com.google.flogger:google-extensions:0.5.1",
94+
"com.google.guava:failureaccess:1.0.1",
95+
"com.google.guava:guava:31.1-jre",
96+
"com.google.http-client:google-http-client-gson:1.42.0",
97+
"com.google.http-client:google-http-client:1.42.0",
98+
"com.google.j2objc:j2objc-annotations:1.3",
99+
"com.google.turbine:turbine:0.4.0",
100+
"com.ryanharter.auto.value:auto-value-gson-extension:1.3.1",
101+
"com.ryanharter.auto.value:auto-value-gson-runtime:1.3.1",
102+
"com.ryanharter.auto.value:auto-value-gson-factory:1.3.1",
103+
"com.squareup:javapoet:1.12.0",
104+
"commons-collections:commons-collections:3.2.2",
105+
"commons-lang:commons-lang:2.6",
106+
"io.github.java-diff-utils:java-diff-utils:4.12",
107+
"io.grpc:grpc-api:1.48.1",
108+
"io.grpc:grpc-auth:1.48.1",
109+
"io.grpc:grpc-context:1.48.1",
110+
"io.grpc:grpc-core:1.48.1",
111+
"io.grpc:grpc-netty:1.48.1",
112+
"io.grpc:grpc-protobuf-lite:1.48.1",
113+
"io.grpc:grpc-protobuf:1.48.1",
114+
"io.grpc:grpc-stub:1.48.1",
115+
"io.netty:netty-buffer:4.1.93.Final",
116+
"io.netty:netty-codec-http2:4.1.93.Final",
117+
"io.netty:netty-codec-http:4.1.93.Final",
118+
"io.netty:netty-codec:4.1.93.Final",
119+
"io.netty:netty-common:4.1.93.Final",
120+
"io.netty:netty-handler-proxy:4.1.93.Final",
121+
"io.netty:netty-handler:4.1.93.Final",
122+
"io.netty:netty-resolver-dns:4.1.93.Final",
123+
"io.netty:netty-resolver:4.1.93.Final",
124+
"io.netty:netty-tcnative-boringssl-static:jar:linux-aarch_64:2.0.56.Final",
125+
"io.netty:netty-tcnative-boringssl-static:jar:linux-x86_64:2.0.56.Final",
126+
"io.netty:netty-tcnative-boringssl-static:jar:osx-aarch_64:2.0.56.Final",
127+
"io.netty:netty-tcnative-boringssl-static:jar:osx-x86_64:2.0.56.Final",
128+
"io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64:2.0.56.Final",
129+
"io.netty:netty-tcnative-classes:2.0.56.Final",
130+
"io.netty:netty-transport-classes-epoll:4.1.93.Final",
131+
"io.netty:netty-transport-classes-kqueue:4.1.93.Final",
132+
"io.netty:netty-transport-native-epoll:jar:linux-aarch_64:4.1.93.Final",
133+
"io.netty:netty-transport-native-epoll:jar:linux-x86_64:4.1.93.Final",
134+
"io.netty:netty-transport-native-kqueue:jar:osx-aarch_64:4.1.93.Final",
135+
"io.netty:netty-transport-native-kqueue:jar:osx-x86_64:4.1.93.Final",
136+
"io.netty:netty-transport-native-unix-common:4.1.93.Final",
137+
"io.netty:netty-transport-native-unix-common:jar:linux-aarch_64:4.1.93.Final",
138+
"io.netty:netty-transport-native-unix-common:jar:linux-x86_64:4.1.93.Final",
139+
"io.netty:netty-transport-native-unix-common:jar:osx-aarch_64:4.1.93.Final",
140+
"io.netty:netty-transport-native-unix-common:jar:osx-x86_64:4.1.93.Final",
141+
"io.netty:netty-transport:4.1.93.Final",
142+
"io.reactivex.rxjava3:rxjava:3.1.2",
143+
"it.unimi.dsi:fastutil:7.2.1",
144+
"javax.activation:javax.activation-api:1.2.0",
145+
"javax.annotation:javax.annotation-api:1.3.2",
146+
"javax.inject:javax.inject:1",
147+
"net.bytebuddy:byte-buddy-agent:1.14.5",
148+
"net.bytebuddy:byte-buddy:1.14.5",
149+
"org.apache.commons:commons-compress:1.20",
150+
"org.apache.commons:commons-pool2:2.8.0",
151+
"org.apache.tomcat:tomcat-annotations-api:8.0.5",
152+
"org.apache.velocity:velocity:1.7",
153+
"org.checkerframework:checker-qual:3.19.0",
154+
"org.ow2.asm:asm-analysis:9.2",
155+
"org.ow2.asm:asm-commons:9.2",
156+
"org.ow2.asm:asm-tree:9.2",
157+
"org.ow2.asm:asm-util:9.2",
158+
"org.ow2.asm:asm:9.2",
159+
"org.pcollections:pcollections:3.1.4",
160+
"org.threeten:threeten-extra:1.5.0",
161+
"org.tukaani:xz:1.9",
162+
"org.yaml:snakeyaml:1.28",
163+
"tools.profiler:async-profiler:3.0",
164+
# The following jars are for testing.
165+
# junit is not test only due to //src/java_tools/junitrunner/java/com/google/testing/junit/junit4:runner,
166+
# and hamcrest is a dependency of junit.
167+
"junit:junit:4.13.2",
168+
"org.hamcrest:hamcrest-core:1.3",
169+
],
170+
excluded_artifacts = [
171+
# org.apache.httpcomponents and org.eclipse.jgit:org.eclipse.jgit
172+
# require java.security.jgss module to be embedded in the Bazel binary.
173+
"org.apache.httpcomponents:httpclient",
174+
"org.apache.httpcomponents:httpcore",
175+
"org.eclipse.jgit:org.eclipse.jgit",
176+
# We build protobuf Java library from source, exclude protobuf jars to be safe.
177+
"com.google.protobuf:protobuf-java",
178+
"com.google.protobuf:protobuf-javalite",
179+
],
180+
# Don't forget to change this to back to True before submitting your change.
181+
fail_if_repin_required = True,
182+
lock_file = "//:maven_install.json",
183+
repositories = [
184+
"https://repo1.maven.org/maven2",
185+
],
186+
strict_visibility = True,
187+
)
188+
189+
# Test only maven dependencies
190+
[
191+
maven.artifact(
192+
testonly = True,
193+
artifact = artifact,
194+
group = group,
195+
version = version,
196+
)
197+
for group, artifact, version in [coord.split(":") for coord in [
198+
"com.google.guava:guava-testlib:31.1-jre",
199+
"com.google.jimfs:jimfs:1.2",
200+
"com.google.testing.compile:compile-testing:0.18",
201+
"com.google.testparameterinjector:test-parameter-injector:1.0",
202+
"com.google.truth:truth:1.1.3",
203+
"com.google.truth.extensions:truth-java8-extension:1.1.3",
204+
"com.google.truth.extensions:truth-liteproto-extension:1.1.3",
205+
"com.google.truth.extensions:truth-proto-extension:1.1.3",
206+
"org.mockito:mockito-core:5.4.0",
207+
]]
208+
]
209+
210+
use_repo(maven, "maven", "unpinned_maven")
211+
212+
java_toolchains = use_extension("@rules_java//java:extensions.bzl", "toolchains")
213+
use_repo(
214+
java_toolchains,
215+
"local_jdk",
216+
# The following are required for visibility in //src:test_repos
217+
"remote_java_tools",
218+
"remote_java_tools_darwin_arm64",
219+
"remote_java_tools_darwin_x86_64",
220+
"remote_java_tools_linux",
221+
"remote_java_tools_windows",
222+
"remotejdk11_linux",
223+
"remotejdk11_linux_aarch64",
224+
"remotejdk11_linux_ppc64le",
225+
"remotejdk11_linux_s390x",
226+
"remotejdk11_macos",
227+
"remotejdk11_macos_aarch64",
228+
"remotejdk11_win",
229+
"remotejdk11_win_arm64",
230+
"remotejdk17_linux",
231+
"remotejdk17_linux_s390x",
232+
"remotejdk17_macos",
233+
"remotejdk17_macos_aarch64",
234+
"remotejdk17_win",
235+
"remotejdk17_win_arm64",
236+
"remotejdk21_linux",
237+
"remotejdk21_macos",
238+
"remotejdk21_macos_aarch64",
239+
"remotejdk21_win",
240+
)
241+
242+
# =========================================
243+
# Python dependencies
244+
# =========================================
245+
246+
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
247+
python.toolchain(python_version = "3.8")
248+
249+
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
250+
pip.parse(
251+
hub_name = "bazel_pip_dev_deps",
252+
python_version = "3.8",
253+
requirements_lock = "//:requirements.txt",
254+
)
255+
use_repo(pip, "bazel_pip_dev_deps")
256+
257+
# =========================================
258+
# Other Bazel build dependencies
259+
# =========================================
260+
261+
bazel_build_deps = use_extension("//:extensions.bzl", "bazel_build_deps")
262+
use_repo(
263+
bazel_build_deps,
264+
"bazel_tools_repo_cache",
265+
"bootstrap_repo_cache",
266+
"debian_bin_deps",
267+
"debian_cc_deps",
268+
"debian_java_deps",
269+
"debian_proto_deps",
270+
"openjdk_linux_aarch64_vanilla",
271+
"openjdk_linux_ppc64le_vanilla",
272+
"openjdk_linux_s390x_vanilla",
273+
"openjdk_linux_vanilla",
274+
"openjdk_macos_aarch64_vanilla",
275+
"openjdk_macos_x86_64_vanilla",
276+
"openjdk_win_arm64_vanilla",
277+
"openjdk_win_vanilla",
278+
"workspace_repo_cache",
279+
)
280+
281+
# Required only by `--extra_toolchains=@local_config_cc//:cc-toolchain-arm64_windows` from .bazelrc
282+
cc_configure = use_extension("@bazel_tools//tools/cpp:cc_configure.bzl", "cc_configure_extension")
283+
use_repo(cc_configure, "local_config_cc")
284+
285+
# =========================================
286+
# Other Bazel testing dependencies
287+
# =========================================
288+
289+
bazel_test_deps = use_extension("//:extensions.bzl", "bazel_test_deps")
290+
use_repo(
291+
bazel_test_deps,
292+
"bazelci_rules",
293+
"local_bazel_source_list",
294+
"local_config_winsdk",
295+
)
296+
297+
bazel_rbe_deps = use_extension("//:rbe_extension.bzl", "bazel_rbe_deps")
298+
use_repo(bazel_rbe_deps, "rbe_ubuntu2004_java11")
299+
300+
remote_coverage_tools_extension = use_extension("//tools/test:extensions.bzl", "remote_coverage_tools_extension")
301+
use_repo(remote_coverage_tools_extension, "remote_coverage_tools")
302+
303+
gvm = use_extension("@rules_graalvm//:extensions.bzl", "graalvm")
304+
gvm.graalvm(
305+
name = "graalvm",
306+
distribution = "ce",
307+
java_version = "20",
308+
version = "20.0.2",
309+
)
310+
use_repo(gvm, "graalvm_toolchains")
311+
register_toolchains("@graalvm_toolchains//:gvm")
312+
313+
# =========================================
314+
# Register platforms & toolchains
315+
# =========================================
316+
317+
register_execution_platforms("//:default_host_platform")
318+
319+
register_toolchains("@bazel_tools//tools/python:autodetecting_toolchain")
320+
321+
register_toolchains("@local_config_winsdk//:all")
322+
323+
register_toolchains("//src/main/res:empty_rc_toolchain")
324+
325+
# Workaround for https://github.com/bazelbuild/bazel/issues/19837.
326+
# TODO(bazel-team): Remove when .bazelversion is 7.0.0rc2 or later.
327+
register_toolchains("//:bazel_java_toolchain_definition")
328+
329+
# =========================================
330+
# Android tools dependencies
331+
# =========================================
332+
333+
maven_android = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
334+
maven_android.install(
335+
name = "maven_android",
336+
artifacts = [
337+
"androidx.databinding:databinding-compiler:3.4.0-alpha10",
338+
"com.android.tools.build:builder:7.1.3",
339+
"com.android.tools.build:manifest-merger:30.1.3",
340+
"com.android.tools:sdk-common:30.1.3",
341+
"com.android.tools:annotations:30.1.3",
342+
"com.android.tools.layoutlib:layoutlib-api:30.1.3",
343+
"com.android.tools:common:30.1.3",
344+
"com.android.tools:repository:30.1.3",
345+
],
346+
# Don't forget to change this to back to True before submitting your change.
347+
fail_if_repin_required = True,
348+
lock_file = "//src/tools/android:maven_android_install.json",
349+
repositories = [
350+
"https://dl.google.com/android/maven2",
351+
"https://repo1.maven.org/maven2",
352+
],
353+
)
354+
use_repo(maven_android, "maven_android", "unpinned_maven_android")
355+
356+
bazel_android_deps = use_extension("//:extensions.bzl", "bazel_android_deps")
357+
use_repo(bazel_android_deps, "desugar_jdk_libs")
358+
359+
remote_android_extensions = use_extension("//tools/android:android_extensions.bzl", "remote_android_tools_extensions")
360+
use_repo(remote_android_extensions, "android_gmaven_r8", "android_tools")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
--- a/MODULE.bazel
2+
+++ b/MODULE.bazel
3+
@@ -5,6 +5,7 @@
4+
5+
module(
6+
name = "bazel",
7+
+ version = "7.1.1",
8+
repo_name = "io_bazel",
9+
)

modules/bazel/7.1.1/presubmit.yml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
matrix:
2+
platform: ["debian10", "macos", "ubuntu2004", "windows"]
3+
bazel: ["6.x", "7.x"]
4+
tasks:
5+
verify_targets:
6+
platform: ${{ platform }}
7+
bazel: ${{ bazel }}
8+
build_flags:
9+
- '--cxxopt=-std=c++14'
10+
- '--host_cxxopt=-std=c++14'
11+
build_targets:
12+
- '@bazel//src:bazel'

modules/bazel/7.1.1/source.json

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"integrity": "sha256-jk0mNQ0B0sCEfY7zNut2+Vkw+YK3+IvxoBMGs2lek4s=",
3+
"strip_prefix": "bazel-7.1.1",
4+
"url": "https://github.com/bazelbuild/bazel/archive/refs/tags/7.1.1.tar.gz",
5+
"patch_strip": 1,
6+
"patches": {
7+
"0001-Add-MODULE.bazel.patch": "sha256-hPjdylHQv/EOtabqfQCmImnVuSbjkxuAouAMb+VGyLg=",
8+
}
9+
}

0 commit comments

Comments
 (0)