Skip to content

Commit e50564f

Browse files
authored
Upgrade Bazel, rules_android, rules_java, and the rest of the world (#1278)
* Upgrade Bazel, rules_android, rules_java, and the rest of the world * Update more jobs to ubuntu2404 * Downgrade version to ubuntu2204 * formatting * One more small fix * More clean up
1 parent 59a9253 commit e50564f

File tree

82 files changed

+955
-807
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+955
-807
lines changed

.bazelci/presubmit.yml

+6-7
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
---
22
matrix:
33
unittest_platform:
4-
- ubuntu2004
5-
- ubuntu1804
4+
- ubuntu2404
5+
- ubuntu2204
66
integration_platform:
7-
- ubuntu2004
8-
- ubuntu1804
7+
- ubuntu2404
8+
- ubuntu2204
99
# - macos
1010
# - windows re-enable when rules_bazel_integration_test can support custom test runner on windows.
1111
test_flags:
1212
- ["--enable_bzlmod=true"]
13-
- ["--config=workspace"]
1413
validate_config: 1
1514
bazel: 7.3.0
1615
buildifier:
@@ -50,7 +49,7 @@ tasks:
5049
- "--strategy=KotlinCompile=remote"
5150
stardoc:
5251
name: Stardoc api documentation
53-
platform: ubuntu1804
52+
platform: ubuntu2404
5453
build_flags:
5554
- "--enable_bzlmod=true"
5655
build_targets:
@@ -59,7 +58,7 @@ tasks:
5958
- //docs:are_docs_up_to_date_test
6059
ktlint:
6160
name: KtLint
62-
platform: ubuntu1804
61+
platform: ubuntu2404
6362
test_targets:
6463
- //...
6564
test_flags:

.bazelrc

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
common --enable_bzlmod=true
2+
common --incompatible_use_plus_in_repo_names
3+
common --incompatible_disallow_empty_glob=false
24

35
common:rbe --java_runtime_version=11
46
common:rbe --tool_java_runtime_version=11
57

6-
common:workspace --enable_bzlmod=false --enable_workspace=true
7-
88
build --strategy=KotlinCompile=worker
99
build --test_output=all
1010
build --verbose_failures

.bazelversion

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
7.3.0
1+
7.5.0

.bcr/presubmit.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
matrix:
22
platform: ["macos", "ubuntu2004"]
3-
bazel: ["6.x", "7.x", "8.x", "rolling"]
3+
bazel: ["7.x", "8.x"]
44
tasks:
55
verify_targets:
66
name: "Verify build targets"

BUILD

-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ release_archive(
6262
],
6363
src_map = {
6464
"BUILD.release.bazel": "BUILD.bazel",
65-
"WORKSPACE.release.bazel": "WORKSPACE",
6665
"MODULE.release.bazel": "MODULE.bazel",
6766
},
6867
deps = [

MODULE.bazel

+15-18
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,16 @@ module(
55
repo_name = "rules_kotlin",
66
)
77

8+
bazel_dep(name = "protobuf", version = "29.0", repo_name = "com_google_protobuf")
9+
bazel_dep(name = "rules_proto", version = "6.0.2", repo_name = "rules_proto")
10+
bazel_dep(name = "abseil-py", version = "2.1.0", repo_name = "py_absl")
11+
bazel_dep(name = "rules_cc", version = "0.0.16")
812
bazel_dep(name = "platforms", version = "0.0.11")
913
bazel_dep(name = "bazel_skylib", version = "1.7.1")
10-
bazel_dep(name = "rules_java", version = "7.6.5")
14+
bazel_dep(name = "rules_java", version = "8.9.0")
1115
bazel_dep(name = "rules_python", version = "0.23.1")
12-
bazel_dep(name = "rules_cc", version = "0.0.9")
13-
bazel_dep(name = "rules_android", version = "0.1.1")
16+
bazel_dep(name = "rules_android", version = "0.6.1")
17+
bazel_dep(name = "bazel_features", version = "1.25.0")
1418

1519
rules_kotlin_extensions = use_extension("//src/main/starlark/core/repositories:bzlmod_setup.bzl", "rules_kotlin_extensions")
1620
use_repo(
@@ -28,22 +32,18 @@ register_toolchains("//src/main/starlark/core/compile/cli")
2832

2933
register_toolchains("//kotlin/internal:default_toolchain")
3034

31-
# TODO(bencodes) We should be able to remove this once rules_android has rolled out official Bzlmod support
32-
remote_android_extensions = use_extension("@bazel_tools//tools/android:android_extensions.bzl", "remote_android_tools_extensions")
33-
use_repo(remote_android_extensions, "android_gmaven_r8", "android_tools")
34-
3535
# Development dependencies
3636
# TODO(bencodes) A bunch of these dependencies need to be marked as dev_dependencies but before we can do that
3737
# we need to sort out a few cases around how these rules are consumed in various ways.
3838

39-
bazel_dep(name = "rules_jvm_external", version = "5.3")
39+
bazel_dep(name = "rules_jvm_external", version = "6.6")
4040
bazel_dep(name = "bazel_ci_rules", version = "1.0.0")
4141

4242
rbe_preconfig = use_repo_rule("@bazel_ci_rules//:rbe_repo.bzl", "rbe_preconfig")
4343

4444
rbe_preconfig(
4545
name = "buildkite_config",
46-
toolchain = "ubuntu2004",
46+
toolchain = "ubuntu2204",
4747
)
4848

4949
maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
@@ -52,8 +52,8 @@ maven.install(
5252
artifacts = [
5353
"com.google.code.findbugs:jsr305:3.0.2",
5454
"junit:junit:4.13-beta-3",
55-
"com.google.protobuf:protobuf-java:3.6.0",
56-
"com.google.protobuf:protobuf-java-util:3.6.0",
55+
"com.google.protobuf:protobuf-java:4.29.0",
56+
"com.google.protobuf:protobuf-java-util:4.29.0",
5757
"com.google.guava:guava:27.1-jre",
5858
"com.google.truth:truth:0.45",
5959
"com.google.auto.service:auto-service:1.1.1",
@@ -98,22 +98,19 @@ maven.override(
9898
)
9999
use_repo(maven, "kotlin_rules_maven", "unpinned_kotlin_rules_maven")
100100

101-
bazel_dep(name = "rules_pkg", version = "0.7.0")
102-
bazel_dep(name = "stardoc", version = "0.7.0", repo_name = "io_bazel_stardoc")
103-
bazel_dep(name = "rules_proto", version = "5.3.0-21.7")
101+
bazel_dep(name = "rules_pkg", version = "1.0.1")
102+
bazel_dep(name = "stardoc", version = "0.8.0", repo_name = "io_bazel_stardoc")
104103

105104
bazel_dep(name = "rules_testing", version = "0.5.0", dev_dependency = True)
106105
bazel_dep(name = "rules_bazel_integration_test", version = "0.25.0", dev_dependency = True)
107106

108107
bazel_binaries = use_extension("@rules_bazel_integration_test//:extensions.bzl", "bazel_binaries", dev_dependency = True)
109108
bazel_binaries.download(version_file = "//:.bazelversion")
110-
bazel_binaries.download(version = "6.4.0")
111-
bazel_binaries.download(version = "8.0.0-pre.20240206.3")
109+
bazel_binaries.download(version = "8.1.0")
112110
use_repo(
113111
bazel_binaries,
114112
"bazel_binaries",
115113
"bazel_binaries_bazelisk",
116114
"build_bazel_bazel_.bazelversion",
117-
"build_bazel_bazel_6_4_0",
118-
"build_bazel_bazel_8_0_0-pre_20240206_3",
115+
"build_bazel_bazel_8_1_0",
119116
)

MODULE.release.bazel

+7-10
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,13 @@ module(
77

88
bazel_dep(name = "platforms", version = "0.0.11")
99
bazel_dep(name = "bazel_skylib", version = "1.7.1")
10-
bazel_dep(name = "rules_java", version = "7.2.0")
11-
bazel_dep(name = "rules_python", version = "0.23.1")
12-
bazel_dep(name = "rules_cc", version = "0.0.8")
13-
bazel_dep(name = "rules_android", version = "0.1.1")
10+
bazel_dep(name = "rules_java", version = "8.9.0")
11+
bazel_dep(name = "rules_android", version = "0.6.1")
12+
bazel_dep(name = "bazel_features", version = "1.25.0")
13+
bazel_dep(name = "protobuf", version = "29.0", repo_name = "com_google_protobuf")
14+
bazel_dep(name = "rules_proto", version = "6.0.2", repo_name = "rules_proto")
15+
bazel_dep(name = "abseil-py", version = "2.1.0", repo_name = "py_absl")
16+
bazel_dep(name = "rules_cc", version = "0.0.16")
1417

1518
rules_kotlin_extensions = use_extension(
1619
"//src/main/starlark/core/repositories:bzlmod_setup.bzl",
@@ -27,9 +30,3 @@ use_repo(
2730
)
2831

2932
register_toolchains("//kotlin/internal:default_toolchain")
30-
31-
# TODO(bencodes) We should be able to remove this once rules_android has rolled out official Bzlmod support
32-
remote_android_extensions = use_extension("@bazel_tools//tools/android:android_extensions.bzl", "remote_android_tools_extensions")
33-
use_repo(remote_android_extensions, "android_gmaven_r8", "android_tools")
34-
35-
bazel_dep(name = "rules_proto", version = "5.3.0-21.7")

README.md

-4
Original file line numberDiff line numberDiff line change
@@ -147,10 +147,6 @@ local_repository(
147147
path = "../path/to/rules_kotlin_clone/",
148148
)
149149

150-
load("@rules_kotlin//kotlin:dependencies.bzl", "kt_download_local_dev_dependencies")
151-
152-
kt_download_local_dev_dependencies()
153-
154150
load("@rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories", "versions")
155151

156152
kotlin_repositories()

WORKSPACE

-1
This file was deleted.

WORKSPACE.dev.bazel

-28
This file was deleted.

WORKSPACE.release.bazel

-26
This file was deleted.

examples/android/.bazelrc

+22-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,23 @@
11
common --lockfile_mode=off
2-
test --test_output=all
2+
test --test_output=all
3+
build --config=android_worker
4+
5+
# Worker configuration
6+
build:android_worker \
7+
--worker_max_instances=auto \
8+
--worker_multiplex \
9+
--worker_max_multiplex_instances=auto \
10+
--persistent_multiplex_android_tools \
11+
--persistent_android_dex_desugar \
12+
--persistent_multiplex_android_dex_desugar \
13+
--persistent_android_resource_processor \
14+
--internal_persistent_busybox_tools \
15+
--experimental_persistent_aar_extractor \
16+
--remote_default_exec_properties=preserve-workspace=true \
17+
--strategy=Desugar=remote,worker \
18+
--strategy=Javac=remote,worker \
19+
--strategy=JavaIjar=remote,local \
20+
--strategy=JavaDeployJar=remote,local \
21+
--strategy=JavaSourceJar=remote,local \
22+
--strategy=Turbine=remote,local \
23+
--strategy=PackageAndroidResources=local

examples/android/.bazelversion

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
7.1.0
1+
8.1.0

examples/android/MODULE.bazel

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
module(name = "android-example")
22

3-
remote_android_extensions = use_extension("@bazel_tools//tools/android:android_extensions.bzl", "remote_android_tools_extensions")
4-
use_repo(remote_android_extensions, "android_gmaven_r8", "android_tools")
5-
6-
bazel_dep(name = "rules_android", version = "0.1.1")
7-
bazel_dep(name = "bazel_skylib", version = "1.2.1")
8-
bazel_dep(name = "rules_robolectric", version = "4.10.3", repo_name = "robolectric")
9-
bazel_dep(name = "rules_java", version = "6.4.0")
3+
bazel_dep(name = "rules_android", version = "0.6.1")
4+
bazel_dep(name = "bazel_skylib", version = "1.7.1")
5+
bazel_dep(name = "rules_robolectric", version = "4.14.1.2", repo_name = "robolectric")
6+
bazel_dep(name = "rules_java", version = "8.9.0")
107
bazel_dep(name = "rules_kotlin", version = "1.9.5")
11-
bazel_dep(name = "rules_jvm_external", version = "5.3")
8+
bazel_dep(name = "rules_jvm_external", version = "6.6")
129

1310
maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
1411
maven.install(
12+
name = "maven_rules_kotlin_example",
13+
aar_import_bzl_label = "@rules_android//rules:rules.bzl",
1514
artifacts = [
1615
"androidx.appcompat:appcompat:1.0.0",
1716
"junit:junit:4.12",
@@ -32,5 +31,6 @@ maven.install(
3231
"https://maven.google.com",
3332
"https://repo1.maven.org/maven2",
3433
],
34+
use_starlark_android_rules = True,
3535
)
36-
use_repo(maven, "maven")
36+
use_repo(maven, "maven_rules_kotlin_example")

0 commit comments

Comments
 (0)