Skip to content

Commit 60bf5fc

Browse files
committed
Begin Bazel 8 / rules_java 8 compatibility updates
Builds with Bazel 7.4.1, breaks with Bazel 8.0.0rc6, and builds with Bazel 8.0.0rc7. Use `java_proto_library` from `com_google_protobuf`, since the version from `rules_java` is now officially deprecated. Also bumps `.bazelversion` to 7.4.1 in order to upgrade `abseil-cpp` to 20240722.0 and `protobuf` to v29.0. This is instead of keeping `.bazelversion` at 6.5.0 and setting C++ compiler flags in `.bazelrc` as described in bazel-contrib#1647.
1 parent ecfe3c6 commit 60bf5fc

File tree

31 files changed

+189
-77
lines changed

31 files changed

+189
-77
lines changed

.bazelrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ build:windows --worker_quit_after_build --enable_runfiles
66

77
# Remove upon completing Bzlmod compatibility work.
88
# - https://github.com/bazelbuild/rules_scala/issues/1482
9-
build --noenable_bzlmod
9+
build --noenable_bzlmod --enable_workspace

.bazelversion

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6.5.0
1+
7.4.1

WORKSPACE

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,31 @@ load("//scala:deps.bzl", "rules_scala_dependencies")
55

66
rules_scala_dependencies()
77

8+
load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies")
9+
10+
rules_java_dependencies()
11+
12+
# buildifier: disable=bzl-visibility
13+
load(
14+
"@com_google_protobuf//bazel/private:proto_bazel_features.bzl",
15+
"proto_bazel_features",
16+
)
17+
18+
proto_bazel_features(name = "proto_bazel_features")
19+
20+
load("@rules_java//java:repositories.bzl", "rules_java_toolchains")
21+
22+
rules_java_toolchains()
23+
824
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
925

1026
bazel_skylib_workspace()
1127

1228
http_archive(
1329
name = "rules_python",
14-
sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34",
15-
strip_prefix = "rules_python-0.38.0",
16-
url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz",
30+
sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53",
31+
strip_prefix = "rules_python-0.40.0",
32+
url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz",
1733
)
1834

1935
load("@rules_python//python:repositories.bzl", "py_repositories")
@@ -44,16 +60,6 @@ load("//scala:scala.bzl", "scala_toolchains")
4460

4561
scala_toolchains(fetch_sources = True)
4662

47-
load(
48-
"@rules_java//java:repositories.bzl",
49-
"rules_java_dependencies",
50-
"rules_java_toolchains",
51-
)
52-
53-
rules_java_dependencies()
54-
55-
rules_java_toolchains()
56-
5763
register_toolchains(
5864
"//testing:testing_toolchain",
5965
"//scala:unused_dependency_checker_error_toolchain",
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6.5.0
1+
7.4.1
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6.5.0
1+
7.4.1

dt_patches/test_dt_patches/WORKSPACE

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,20 @@ load("@io_bazel_rules_scala//scala:deps.bzl", "rules_scala_dependencies")
1111

1212
rules_scala_dependencies()
1313

14-
load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains")
14+
load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies")
1515

1616
rules_java_dependencies()
1717

18+
# buildifier: disable=bzl-visibility
19+
load(
20+
"@com_google_protobuf//bazel/private:proto_bazel_features.bzl",
21+
"proto_bazel_features",
22+
)
23+
24+
proto_bazel_features(name = "proto_bazel_features")
25+
26+
load("@rules_java//java:repositories.bzl", "rules_java_toolchains")
27+
1828
rules_java_toolchains()
1929

2030
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6.5.0
1+
7.4.1

dt_patches/test_dt_patches_user_srcjar/WORKSPACE

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,20 @@ load("@io_bazel_rules_scala//scala:deps.bzl", "rules_scala_dependencies")
1111

1212
rules_scala_dependencies()
1313

14-
load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains")
14+
load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies")
1515

1616
rules_java_dependencies()
1717

18+
# buildifier: disable=bzl-visibility
19+
load(
20+
"@com_google_protobuf//bazel/private:proto_bazel_features.bzl",
21+
"proto_bazel_features",
22+
)
23+
24+
proto_bazel_features(name = "proto_bazel_features")
25+
26+
load("@rules_java//java:repositories.bzl", "rules_java_toolchains")
27+
1828
rules_java_toolchains()
1929

2030
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")

examples/crossbuild/.bazelversion

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6.5.0
1+
7.4.1

examples/crossbuild/WORKSPACE

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,20 @@ load("@io_bazel_rules_scala//scala:deps.bzl", "rules_scala_dependencies")
1111

1212
rules_scala_dependencies()
1313

14-
load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains")
14+
load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies")
1515

1616
rules_java_dependencies()
1717

18+
# buildifier: disable=bzl-visibility
19+
load(
20+
"@com_google_protobuf//bazel/private:proto_bazel_features.bzl",
21+
"proto_bazel_features",
22+
)
23+
24+
proto_bazel_features(name = "proto_bazel_features")
25+
26+
load("@rules_java//java:repositories.bzl", "rules_java_toolchains")
27+
1828
rules_java_toolchains()
1929

2030
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
@@ -23,9 +33,9 @@ bazel_skylib_workspace()
2333

2434
http_archive(
2535
name = "rules_python",
26-
sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34",
27-
strip_prefix = "rules_python-0.38.0",
28-
url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz",
36+
sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53",
37+
strip_prefix = "rules_python-0.40.0",
38+
url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz",
2939
)
3040

3141
load("@rules_python//python:repositories.bzl", "py_repositories")

examples/scala3/.bazelversion

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6.5.0
1+
7.4.1

examples/scala3/WORKSPACE

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,20 @@ load("@io_bazel_rules_scala//scala:deps.bzl", "rules_scala_dependencies")
1111

1212
rules_scala_dependencies()
1313

14-
load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains")
14+
load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies")
1515

1616
rules_java_dependencies()
1717

18+
# buildifier: disable=bzl-visibility
19+
load(
20+
"@com_google_protobuf//bazel/private:proto_bazel_features.bzl",
21+
"proto_bazel_features",
22+
)
23+
24+
proto_bazel_features(name = "proto_bazel_features")
25+
26+
load("@rules_java//java:repositories.bzl", "rules_java_toolchains")
27+
1828
rules_java_toolchains()
1929

2030
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
@@ -23,9 +33,9 @@ bazel_skylib_workspace()
2333

2434
http_archive(
2535
name = "rules_python",
26-
sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34",
27-
strip_prefix = "rules_python-0.38.0",
28-
url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz",
36+
sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53",
37+
strip_prefix = "rules_python-0.40.0",
38+
url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz",
2939
)
3040

3141
load("@rules_python//python:repositories.bzl", "py_repositories")

examples/semanticdb/.bazelversion

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6.5.0
1+
7.4.1

examples/semanticdb/WORKSPACE

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,20 @@ load("@io_bazel_rules_scala//scala:deps.bzl", "rules_scala_dependencies")
1111

1212
rules_scala_dependencies()
1313

14-
load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains")
14+
load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies")
1515

1616
rules_java_dependencies()
1717

18+
# buildifier: disable=bzl-visibility
19+
load(
20+
"@com_google_protobuf//bazel/private:proto_bazel_features.bzl",
21+
"proto_bazel_features",
22+
)
23+
24+
proto_bazel_features(name = "proto_bazel_features")
25+
26+
load("@rules_java//java:repositories.bzl", "rules_java_toolchains")
27+
1828
rules_java_toolchains()
1929

2030
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
@@ -23,9 +33,9 @@ bazel_skylib_workspace()
2333

2434
http_archive(
2535
name = "rules_python",
26-
sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34",
27-
strip_prefix = "rules_python-0.38.0",
28-
url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz",
36+
sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53",
37+
strip_prefix = "rules_python-0.40.0",
38+
url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz",
2939
)
3040

3141
load("@rules_python//python:repositories.bzl", "py_repositories")
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6.5.0
1+
7.4.1

examples/testing/multi_frameworks_toolchain/WORKSPACE

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,20 @@ load("@io_bazel_rules_scala//scala:deps.bzl", "rules_scala_dependencies")
1111

1212
rules_scala_dependencies()
1313

14-
load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains")
14+
load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies")
1515

1616
rules_java_dependencies()
1717

18+
# buildifier: disable=bzl-visibility
19+
load(
20+
"@com_google_protobuf//bazel/private:proto_bazel_features.bzl",
21+
"proto_bazel_features",
22+
)
23+
24+
proto_bazel_features(name = "proto_bazel_features")
25+
26+
load("@rules_java//java:repositories.bzl", "rules_java_toolchains")
27+
1828
rules_java_toolchains()
1929

2030
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
@@ -23,9 +33,9 @@ bazel_skylib_workspace()
2333

2434
http_archive(
2535
name = "rules_python",
26-
sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34",
27-
strip_prefix = "rules_python-0.38.0",
28-
url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz",
36+
sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53",
37+
strip_prefix = "rules_python-0.40.0",
38+
url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz",
2939
)
3040

3141
load("@rules_python//python:repositories.bzl", "py_repositories")
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6.5.0
1+
7.4.1

examples/testing/scalatest_repositories/WORKSPACE

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,20 @@ load("@io_bazel_rules_scala//scala:deps.bzl", "rules_scala_dependencies")
1111

1212
rules_scala_dependencies()
1313

14-
load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains")
14+
load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies")
1515

1616
rules_java_dependencies()
1717

18+
# buildifier: disable=bzl-visibility
19+
load(
20+
"@com_google_protobuf//bazel/private:proto_bazel_features.bzl",
21+
"proto_bazel_features",
22+
)
23+
24+
proto_bazel_features(name = "proto_bazel_features")
25+
26+
load("@rules_java//java:repositories.bzl", "rules_java_toolchains")
27+
1828
rules_java_toolchains()
1929

2030
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
@@ -23,9 +33,9 @@ bazel_skylib_workspace()
2333

2434
http_archive(
2535
name = "rules_python",
26-
sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34",
27-
strip_prefix = "rules_python-0.38.0",
28-
url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz",
36+
sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53",
37+
strip_prefix = "rules_python-0.40.0",
38+
url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz",
2939
)
3040

3141
load("@rules_python//python:repositories.bzl", "py_repositories")
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6.5.0
1+
7.4.1

examples/testing/specs2_junit_repositories/WORKSPACE

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,20 @@ load("@io_bazel_rules_scala//scala:deps.bzl", "rules_scala_dependencies")
1111

1212
rules_scala_dependencies()
1313

14-
load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains")
14+
load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies")
1515

1616
rules_java_dependencies()
1717

18+
# buildifier: disable=bzl-visibility
19+
load(
20+
"@com_google_protobuf//bazel/private:proto_bazel_features.bzl",
21+
"proto_bazel_features",
22+
)
23+
24+
proto_bazel_features(name = "proto_bazel_features")
25+
26+
load("@rules_java//java:repositories.bzl", "rules_java_toolchains")
27+
1828
rules_java_toolchains()
1929

2030
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
@@ -23,9 +33,9 @@ bazel_skylib_workspace()
2333

2434
http_archive(
2535
name = "rules_python",
26-
sha256 = "ca2671529884e3ecb5b79d6a5608c7373a82078c3553b1fa53206e6b9dddab34",
27-
strip_prefix = "rules_python-0.38.0",
28-
url = "https://github.com/bazelbuild/rules_python/releases/download/0.38.0/rules_python-0.38.0.tar.gz",
36+
sha256 = "690e0141724abb568267e003c7b6d9a54925df40c275a870a4d934161dc9dd53",
37+
strip_prefix = "rules_python-0.40.0",
38+
url = "https://github.com/bazelbuild/rules_python/releases/download/0.40.0/rules_python-0.40.0.tar.gz",
2939
)
3040

3141
load("@rules_python//python:repositories.bzl", "py_repositories")

scala/deps.bzl

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,41 +18,40 @@ def rules_scala_dependencies():
1818
maybe(
1919
http_archive,
2020
name = "rules_cc",
21-
urls = ["https://github.com/bazelbuild/rules_cc/releases/download/0.0.9/rules_cc-0.0.9.tar.gz"],
22-
sha256 = "2037875b9a4456dce4a79d112a8ae885bbc4aad968e6587dca6e64f3a0900cdf",
23-
strip_prefix = "rules_cc-0.0.9",
21+
urls = ["https://github.com/bazelbuild/rules_cc/releases/download/0.1.0/rules_cc-0.1.0.tar.gz"],
22+
sha256 = "4b12149a041ddfb8306a8fd0e904e39d673552ce82e4296e96fac9cbf0780e59",
23+
strip_prefix = "rules_cc-0.1.0",
2424
)
2525

26-
# Needed by protobuf-21.7 and Bazel 6.5.0, as later versions require C++14.
2726
maybe(
2827
http_archive,
2928
name = "com_google_absl",
30-
sha256 = "91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8",
31-
strip_prefix = "abseil-cpp-20220623.1",
32-
url = "https://github.com/abseil/abseil-cpp/archive/refs/tags/20220623.1.tar.gz",
29+
sha256 = "f50e5ac311a81382da7fa75b97310e4b9006474f9560ac46f54a9967f07d4ae3",
30+
strip_prefix = "abseil-cpp-20240722.0",
31+
url = "https://github.com/abseil/abseil-cpp/archive/refs/tags/20240722.0.tar.gz",
3332
)
3433

3534
maybe(
3635
http_archive,
3736
name = "rules_java",
3837
urls = [
39-
"https://github.com/bazelbuild/rules_java/releases/download/7.12.3/rules_java-7.12.3.tar.gz",
38+
"https://github.com/bazelbuild/rules_java/releases/download/8.6.1/rules_java-8.6.1.tar.gz",
4039
],
41-
sha256 = "c0ee60f8757f140c157fc2c7af703d819514de6e025ebf70386d38bdd85fce83",
40+
sha256 = "c5bc17e17bb62290b1fd8fdd847a2396d3459f337a7e07da7769b869b488ec26",
4241
)
4342

4443
maybe(
4544
http_archive,
4645
name = "com_google_protobuf",
47-
sha256 = "75be42bd736f4df6d702a0e4e4d30de9ee40eac024c4b845d17ae4cc831fe4ae",
48-
strip_prefix = "protobuf-21.7",
49-
url = "https://github.com/protocolbuffers/protobuf/archive/refs/tags/v21.7.tar.gz",
46+
sha256 = "3d32940e975c4ad9b8ba69640e78f5527075bae33ca2890275bf26b853c0962c",
47+
strip_prefix = "protobuf-29.1",
48+
url = "https://github.com/protocolbuffers/protobuf/archive/refs/tags/v29.1.tar.gz",
5049
)
5150

5251
maybe(
5352
http_archive,
5453
name = "rules_proto",
55-
sha256 = "6fb6767d1bef535310547e03247f7518b03487740c11b6c6adb7952033fe1295",
56-
strip_prefix = "rules_proto-6.0.2",
57-
url = "https://github.com/bazelbuild/rules_proto/releases/download/6.0.2/rules_proto-6.0.2.tar.gz",
54+
sha256 = "0e5c64a2599a6e26c6a03d6162242d231ecc0de219534c38cb4402171def21e8",
55+
strip_prefix = "rules_proto-7.0.2",
56+
url = "https://github.com/bazelbuild/rules_proto/releases/download/7.0.2/rules_proto-7.0.2.tar.gz",
5857
)

0 commit comments

Comments
 (0)