Skip to content

Commit

Permalink
Upgrade Bazel, rules_android, rules_java, and the rest of the world
Browse files Browse the repository at this point in the history
  • Loading branch information
Bencodes committed Mar 4, 2025
1 parent f6de627 commit a1059a3
Show file tree
Hide file tree
Showing 82 changed files with 973 additions and 796 deletions.
9 changes: 4 additions & 5 deletions .bazelci/presubmit.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
---
matrix:
unittest_platform:
- ubuntu2004
- ubuntu1804
- ubuntu2404
- ubuntu2204
integration_platform:
- ubuntu2004
- ubuntu1804
- ubuntu2404
- ubuntu2204
# - macos
# - windows re-enable when rules_bazel_integration_test can support custom test runner on windows.
test_flags:
- ["--enable_bzlmod=true"]
- ["--config=workspace"]
validate_config: 1
bazel: 7.3.0
buildifier:
Expand Down
4 changes: 2 additions & 2 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
common --enable_bzlmod=true
common --incompatible_use_plus_in_repo_names
common --incompatible_disallow_empty_glob=false

common:rbe --java_runtime_version=11
common:rbe --tool_java_runtime_version=11

common:workspace --enable_bzlmod=false --enable_workspace=true

build --strategy=KotlinCompile=worker
build --test_output=all
build --verbose_failures
Expand Down
2 changes: 1 addition & 1 deletion .bazelversion
Original file line number Diff line number Diff line change
@@ -1 +1 @@
7.3.0
7.5.0
2 changes: 1 addition & 1 deletion .bcr/presubmit.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
matrix:
platform: ["macos", "ubuntu2004"]
bazel: ["6.x", "7.x", "8.x", "rolling"]
bazel: ["7.x", "8.x"]
tasks:
verify_targets:
name: "Verify build targets"
Expand Down
1 change: 0 additions & 1 deletion BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ release_archive(
],
src_map = {
"BUILD.release.bazel": "BUILD.bazel",
"WORKSPACE.release.bazel": "WORKSPACE",
"MODULE.release.bazel": "MODULE.bazel",
},
deps = [
Expand Down
29 changes: 15 additions & 14 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,16 @@ module(
repo_name = "rules_kotlin",
)

bazel_dep(name = "protobuf", version = "29.0", repo_name = "com_google_protobuf")
bazel_dep(name = "rules_proto", version = "6.0.2", repo_name = "rules_proto")
bazel_dep(name = "abseil-py", version = "2.1.0", repo_name = "py_absl")
bazel_dep(name = "rules_cc", version = "0.0.16")
bazel_dep(name = "platforms", version = "0.0.11")
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "rules_java", version = "7.6.5")
bazel_dep(name = "rules_java", version = "8.9.0")
bazel_dep(name = "rules_python", version = "0.23.1")
bazel_dep(name = "rules_cc", version = "0.0.9")
bazel_dep(name = "rules_android", version = "0.1.1")
bazel_dep(name = "rules_android", version = "0.6.1")
bazel_dep(name = "bazel_features", version = "1.25.0")

rules_kotlin_extensions = use_extension("//src/main/starlark/core/repositories:bzlmod_setup.bzl", "rules_kotlin_extensions")
use_repo(
Expand All @@ -36,14 +40,14 @@ use_repo(remote_android_extensions, "android_gmaven_r8", "android_tools")
# TODO(bencodes) A bunch of these dependencies need to be marked as dev_dependencies but before we can do that
# we need to sort out a few cases around how these rules are consumed in various ways.

bazel_dep(name = "rules_jvm_external", version = "5.3")
bazel_dep(name = "rules_jvm_external", version = "6.6")
bazel_dep(name = "bazel_ci_rules", version = "1.0.0")

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

rbe_preconfig(
name = "buildkite_config",
toolchain = "ubuntu2004",
toolchain = "ubuntu2404",
)

maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
Expand All @@ -52,8 +56,8 @@ maven.install(
artifacts = [
"com.google.code.findbugs:jsr305:3.0.2",
"junit:junit:4.13-beta-3",
"com.google.protobuf:protobuf-java:3.6.0",
"com.google.protobuf:protobuf-java-util:3.6.0",
"com.google.protobuf:protobuf-java:4.29.0",
"com.google.protobuf:protobuf-java-util:4.29.0",
"com.google.guava:guava:27.1-jre",
"com.google.truth:truth:0.45",
"com.google.auto.service:auto-service:1.1.1",
Expand Down Expand Up @@ -98,22 +102,19 @@ maven.override(
)
use_repo(maven, "kotlin_rules_maven", "unpinned_kotlin_rules_maven")

bazel_dep(name = "rules_pkg", version = "0.7.0")
bazel_dep(name = "stardoc", version = "0.7.0", repo_name = "io_bazel_stardoc")
bazel_dep(name = "rules_proto", version = "5.3.0-21.7")
bazel_dep(name = "rules_pkg", version = "1.0.1")
bazel_dep(name = "stardoc", version = "0.8.0", repo_name = "io_bazel_stardoc")

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

bazel_binaries = use_extension("@rules_bazel_integration_test//:extensions.bzl", "bazel_binaries", dev_dependency = True)
bazel_binaries.download(version_file = "//:.bazelversion")
bazel_binaries.download(version = "6.4.0")
bazel_binaries.download(version = "8.0.0-pre.20240206.3")
bazel_binaries.download(version = "8.1.0")
use_repo(
bazel_binaries,
"bazel_binaries",
"bazel_binaries_bazelisk",
"build_bazel_bazel_.bazelversion",
"build_bazel_bazel_6_4_0",
"build_bazel_bazel_8_0_0-pre_20240206_3",
"build_bazel_bazel_8_1_0",
)
17 changes: 7 additions & 10 deletions MODULE.release.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,13 @@ module(

bazel_dep(name = "platforms", version = "0.0.11")
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "rules_java", version = "7.2.0")
bazel_dep(name = "rules_python", version = "0.23.1")
bazel_dep(name = "rules_cc", version = "0.0.8")
bazel_dep(name = "rules_android", version = "0.1.1")
bazel_dep(name = "rules_java", version = "8.9.0")
bazel_dep(name = "rules_android", version = "0.6.1")
bazel_dep(name = "bazel_features", version = "1.25.0")
bazel_dep(name = "protobuf", version = "29.0", repo_name = "com_google_protobuf")
bazel_dep(name = "rules_proto", version = "6.0.2", repo_name = "rules_proto")
bazel_dep(name = "abseil-py", version = "2.1.0", repo_name = "py_absl")
bazel_dep(name = "rules_cc", version = "0.0.16")

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

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

# TODO(bencodes) We should be able to remove this once rules_android has rolled out official Bzlmod support
remote_android_extensions = use_extension("@bazel_tools//tools/android:android_extensions.bzl", "remote_android_tools_extensions")
use_repo(remote_android_extensions, "android_gmaven_r8", "android_tools")

bazel_dep(name = "rules_proto", version = "5.3.0-21.7")
4 changes: 0 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,10 +147,6 @@ local_repository(
path = "../path/to/rules_kotlin_clone/",
)

load("@rules_kotlin//kotlin:dependencies.bzl", "kt_download_local_dev_dependencies")

kt_download_local_dev_dependencies()

load("@rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories", "versions")

kotlin_repositories()
Expand Down
1 change: 0 additions & 1 deletion WORKSPACE

This file was deleted.

28 changes: 0 additions & 28 deletions WORKSPACE.dev.bazel

This file was deleted.

26 changes: 0 additions & 26 deletions WORKSPACE.release.bazel

This file was deleted.

23 changes: 22 additions & 1 deletion examples/android/.bazelrc
Original file line number Diff line number Diff line change
@@ -1,2 +1,23 @@
common --lockfile_mode=off
test --test_output=all
test --test_output=all
build --config=android_worker

# Worker configuration
build:android_worker \
--worker_max_instances=auto \
--worker_multiplex \
--worker_max_multiplex_instances=auto \
--persistent_multiplex_android_tools \
--persistent_android_dex_desugar \
--persistent_multiplex_android_dex_desugar \
--persistent_android_resource_processor \
--internal_persistent_busybox_tools \
--experimental_persistent_aar_extractor \
--remote_default_exec_properties=preserve-workspace=true \
--strategy=Desugar=remote,worker \
--strategy=Javac=remote,worker \
--strategy=JavaIjar=remote,local \
--strategy=JavaDeployJar=remote,local \
--strategy=JavaSourceJar=remote,local \
--strategy=Turbine=remote,local \
--strategy=PackageAndroidResources=local
2 changes: 1 addition & 1 deletion examples/android/.bazelversion
Original file line number Diff line number Diff line change
@@ -1 +1 @@
7.1.0
8.1.0
15 changes: 9 additions & 6 deletions examples/android/MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,17 @@ module(name = "android-example")
remote_android_extensions = use_extension("@bazel_tools//tools/android:android_extensions.bzl", "remote_android_tools_extensions")
use_repo(remote_android_extensions, "android_gmaven_r8", "android_tools")

bazel_dep(name = "rules_android", version = "0.1.1")
bazel_dep(name = "bazel_skylib", version = "1.2.1")
bazel_dep(name = "rules_robolectric", version = "4.10.3", repo_name = "robolectric")
bazel_dep(name = "rules_java", version = "6.4.0")
bazel_dep(name = "rules_android", version = "0.6.1")
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "rules_robolectric", version = "4.14.1.2", repo_name = "robolectric")
bazel_dep(name = "rules_java", version = "8.9.0")
bazel_dep(name = "rules_kotlin", version = "1.9.5")
bazel_dep(name = "rules_jvm_external", version = "5.3")
bazel_dep(name = "rules_jvm_external", version = "6.6")

maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
maven.install(
name = "maven_rules_kotlin_example",
aar_import_bzl_label = "@rules_android//rules:rules.bzl",
artifacts = [
"androidx.appcompat:appcompat:1.0.0",
"junit:junit:4.12",
Expand All @@ -32,5 +34,6 @@ maven.install(
"https://maven.google.com",
"https://repo1.maven.org/maven2",
],
use_starlark_android_rules = True,
)
use_repo(maven, "maven")
use_repo(maven, "maven_rules_kotlin_example")
Loading

0 comments on commit a1059a3

Please sign in to comment.