Skip to content

Commit 3d7937e

Browse files
meteorcloudycopybara-github
authored andcommitted
Use rules_jvm_external to fetch jars dependencies (part 2)
- Non-third_party changes in #17112 Merging #17112 Stacking on #17142 Closes #17143. PiperOrigin-RevId: 500980364 Change-Id: Ie03d4bc8e167d8a27ed8b33cd90f2e3af2c472f6
1 parent 3f93e7b commit 3d7937e

File tree

9 files changed

+420
-9
lines changed

9 files changed

+420
-9
lines changed

.bazelrc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ build:remote --config=ubuntu1804_java11
2828
build:macos --macos_minimum_os=10.10
2929

3030
# Enable Bzlmod
31-
build:bzlmod --experimental_enable_bzlmod
31+
build:bzlmod --enable_bzlmod
32+
build:bzlmod --check_direct_dependencies=error
3233

3334
# Enable Java 11 language features (https://github.com/bazelbuild/bazel/issues/14592)
3435
build --java_language_version=11

BUILD

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,15 @@ pkg_tar(
161161
visibility = ["//:__subpackages__"],
162162
)
163163

164+
# The @maven repository is created by maven_install from rules_jvm_external.
165+
# `@maven//:srcs` contains all jar files downloaded and BUILD files created by maven_install.
166+
pkg_tar(
167+
name = "maven-srcs",
168+
srcs = ["@maven//:srcs"],
169+
strip_prefix = "external",
170+
visibility = ["//:__subpackages__"],
171+
)
172+
164173
py_binary(
165174
name = "combine_distfiles",
166175
srcs = ["combine_distfiles.py"],
@@ -174,6 +183,7 @@ genrule(
174183
":bazel-srcs",
175184
":bootstrap-jars",
176185
":platforms-srcs",
186+
":maven-srcs",
177187
"//src:derived_java_srcs",
178188
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec:bootstrap_autocodec.tar",
179189
"@additional_distfiles//:archives.tar",
@@ -191,6 +201,7 @@ genrule(
191201
":bazel-srcs",
192202
":bootstrap-jars",
193203
":platforms-srcs",
204+
":maven-srcs",
194205
"//src:derived_java_srcs",
195206
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec:bootstrap_autocodec.tar",
196207
"@additional_distfiles//:archives.tar",

MODULE.bazel

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,41 @@ module(
77
)
88

99
bazel_dep(name = "rules_license", version = "0.0.3")
10-
bazel_dep(name = "bazel_skylib", version = "1.2.0")
10+
bazel_dep(name = "bazel_skylib", version = "1.3.0")
1111
bazel_dep(name = "protobuf", version = "3.19.6", repo_name = "com_google_protobuf")
1212
bazel_dep(name = "grpc", version = "1.47.0", repo_name = "com_github_grpc_grpc")
1313
bazel_dep(name = "platforms", version = "0.0.5")
1414
bazel_dep(name = "rules_pkg", version = "0.7.0")
15-
bazel_dep(name = "stardoc", version = "0.5.0", repo_name = "io_bazel_skydoc")
15+
bazel_dep(name = "stardoc", version = "0.5.3", repo_name = "io_bazel_skydoc")
1616
bazel_dep(name = "zstd-jni", version = "1.5.2-3")
1717
bazel_dep(name = "zlib", version = "1.2.13")
18-
19-
# The following are required when building without WORKSPACE SUFFIX
2018
bazel_dep(name = "rules_cc", version = "0.0.2")
2119
bazel_dep(name = "rules_java", version = "5.4.0")
2220
bazel_dep(name = "rules_proto", version = "4.0.0")
2321

22+
bazel_dep(name = "rules_jvm_external", version = "4.5")
23+
maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
24+
maven.install(
25+
artifacts = [
26+
"com.google.guava:guava:31.1-jre",
27+
"com.google.guava:guava-testlib:31.1-jre",
28+
"com.google.guava:failureaccess:1.0.1",
29+
"com.google.errorprone:error_prone_annotations:2.16",
30+
"com.google.errorprone:error_prone_type_annotations:2.16",
31+
"com.google.code.findbugs:jsr305:3.0.2",
32+
"com.google.j2objc:j2objc-annotations:1.3",
33+
"com.github.stephenc.jcip:jcip-annotations:1.0-1",
34+
"org.checkerframework:checker-qual:3.12.0",
35+
],
36+
repositories = [
37+
"https://dl.google.com/android/maven2",
38+
"https://repo1.maven.org/maven2",
39+
],
40+
lock_file = "//:maven_install.json",
41+
)
42+
43+
use_repo(maven, "maven", "unpinned_maven")
44+
2445
# TODO(pcloudy): Add remoteapis and googleapis as Bazel modules in the BCR.
2546
bazel_dep(name = "remoteapis", version = "")
2647
bazel_dep(name = "googleapis", version = "")

WORKSPACE

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -577,6 +577,10 @@ dist_http_archive(
577577
name = "bazel_gazelle",
578578
)
579579

580+
dist_http_archive(
581+
name = "rules_jvm_external",
582+
)
583+
580584
# Projects using gRPC as an external dependency must call both grpc_deps() and
581585
# grpc_extra_deps().
582586
load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
@@ -594,3 +598,35 @@ debian_deps()
594598
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
595599

596600
bazel_skylib_workspace()
601+
602+
load("@rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps")
603+
604+
rules_jvm_external_deps()
605+
606+
load("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup")
607+
608+
rules_jvm_external_setup()
609+
610+
load("@rules_jvm_external//:defs.bzl", "maven_install")
611+
612+
maven_install(
613+
artifacts = [
614+
"com.google.guava:guava:31.1-jre",
615+
"com.google.guava:guava-testlib:31.1-jre",
616+
"com.google.guava:failureaccess:1.0.1",
617+
"com.google.errorprone:error_prone_annotations:2.16",
618+
"com.google.errorprone:error_prone_type_annotations:2.16",
619+
"com.google.code.findbugs:jsr305:3.0.2",
620+
"com.google.j2objc:j2objc-annotations:1.3",
621+
"com.github.stephenc.jcip:jcip-annotations:1.0-1",
622+
"org.checkerframework:checker-qual:3.12.0",
623+
],
624+
repositories = [
625+
"https://dl.google.com/android/maven2",
626+
"https://repo1.maven.org/maven2",
627+
],
628+
maven_install_json = "//:maven_install.json",
629+
)
630+
631+
load("@maven//:defs.bzl", "pinned_maven_install")
632+
pinned_maven_install()

distdir_deps.bzl

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,22 @@ DIST_DEPS = {
339339
],
340340
"package_version": "0.8.0",
341341
},
342+
"rules_jvm_external": {
343+
"archive": "4.5.zip",
344+
"sha256": "b17d7388feb9bfa7f2fa09031b32707df529f26c91ab9e5d909eb1676badd9a6",
345+
"strip_prefix": "rules_jvm_external-4.5",
346+
"patches": [
347+
"//third_party:rules_jvm_external.patch",
348+
],
349+
"patch_args": ["-p1"],
350+
"urls": [
351+
"https://github.com/bazelbuild/rules_jvm_external/archive/4.5.zip",
352+
],
353+
"used_in": [
354+
"additional_distfiles",
355+
],
356+
"package_version": "4.5",
357+
},
342358
"desugar_jdk_libs": {
343359
# Commit 5847d6a06302136d95a14b4cbd4b55a9c9f1436e of 2021-03-10
344360
"archive": "5847d6a06302136d95a14b4cbd4b55a9c9f1436e.zip",

0 commit comments

Comments
 (0)