File
Blob: patches/perfetto/0001-Don-t-attempt-to-use-rules_android.patch
| 1 | From 418089631def5cb0cb92b550f2500bcff1230980 Mon Sep 17 00:00:00 2001 |
| 2 | From: Felix Hanau <felix@cloudflare.com> |
| 3 | Date: Sat, 15 Nov 2025 16:55:07 -0500 |
| 4 | Subject: Don't attempt to use rules_android |
| 5 | |
| 6 | |
| 7 | diff --git a/MODULE.bazel b/MODULE.bazel |
| 8 | index 47f7f25cfd..dc006ebba8 100644 |
| 9 | --- a/MODULE.bazel |
| 10 | +++ b/MODULE.bazel |
| 11 | @@ -14,102 +14,10 @@ |
| 12 | |
| 13 | """Perfetto Bazel module configuration for bzlmod.""" |
| 14 | |
| 15 | -module( |
| 16 | - name = "perfetto", |
| 17 | - version = "0.0.0", |
| 18 | -) |
| 19 | +module(name = "perfetto") |
| 20 | +bazel_dep(name = "perfetto_cfg", version = "0.0.0") |
| 21 | |
| 22 | bazel_dep(name = "bazel_skylib", version = "1.7.1") |
| 23 | -bazel_dep(name = "platforms", version = "0.0.10") |
| 24 | -bazel_dep(name = "protobuf", version = "31.1", repo_name = "com_google_protobuf") |
| 25 | +bazel_dep(name = "platforms", version = "1.0.0") |
| 26 | +bazel_dep(name = "protobuf", version = "33.4") |
| 27 | bazel_dep(name = "rules_python", version = "1.0.0") |
| 28 | -bazel_dep(name = "rules_android", version = "0.6.6") |
| 29 | - |
| 30 | -remote_android_extensions = use_extension( |
| 31 | - "@rules_android//bzlmod_extensions:android_extensions.bzl", |
| 32 | - "remote_android_tools_extensions", |
| 33 | -) |
| 34 | -use_repo(remote_android_extensions, "android_tools") |
| 35 | - |
| 36 | -android_sdk_repository_extension = use_extension( |
| 37 | - "@rules_android//rules/android_sdk_repository:rule.bzl", |
| 38 | - "android_sdk_repository_extension", |
| 39 | -) |
| 40 | - |
| 41 | -# When built using 'tools/bazel', 'ANDROID_HOME' environment variable points |
| 42 | -# to the hermetic Android SDK installation, that should be downloaded first |
| 43 | -# with 'tools/install-build-deps --android' |
| 44 | -android_sdk_repository_extension.configure( |
| 45 | - api_level = 35, |
| 46 | - build_tools_version = "35.0.1", |
| 47 | -) |
| 48 | -use_repo(android_sdk_repository_extension, "androidsdk") |
| 49 | - |
| 50 | -register_toolchains("@androidsdk//:sdk-toolchain", "@androidsdk//:all") |
| 51 | - |
| 52 | -bazel_dep(name = "rules_jvm_external", version = "6.9") |
| 53 | -bazel_dep(name = "rules_android_ndk", version = "0.1.3") |
| 54 | - |
| 55 | -android_ndk_repository_extension = use_extension( |
| 56 | - "@rules_android_ndk//:extension.bzl", |
| 57 | - "android_ndk_repository_extension", |
| 58 | -) |
| 59 | - |
| 60 | -# When built using 'tools/bazel', 'ANDROID_NDK_HOME' environment variable points |
| 61 | -# to the hermetic Android NDK installation, that should be downloaded first |
| 62 | -# with 'tools/install-build-deps --android' |
| 63 | -android_ndk_repository_extension.configure( |
| 64 | - api_level = 26, |
| 65 | -) |
| 66 | -use_repo(android_ndk_repository_extension, "androidndk") |
| 67 | - |
| 68 | -register_toolchains("@androidndk//:all") |
| 69 | - |
| 70 | -# Perfetto configuration repository extension. |
| 71 | -# This creates @perfetto_cfg which provides PERFETTO_CONFIG struct. |
| 72 | -perfetto_cfg_ext = use_extension( |
| 73 | - "//bazel:perfetto_cfg_ext.bzl", |
| 74 | - "perfetto_cfg_ext", |
| 75 | -) |
| 76 | -use_repo(perfetto_cfg_ext, "perfetto_cfg") |
| 77 | - |
| 78 | -# Perfetto third-party dependencies extension. |
| 79 | -# These are the same deps defined in //bazel:deps.bzl for WORKSPACE users. |
| 80 | -perfetto_deps = use_extension( |
| 81 | - "//bazel:perfetto_deps.bzl", |
| 82 | - "perfetto_deps", |
| 83 | -) |
| 84 | -use_repo( |
| 85 | - perfetto_deps, |
| 86 | - "perfetto_dep_expat", |
| 87 | - "perfetto_dep_linenoise", |
| 88 | - "perfetto_dep_llvm_demangle", |
| 89 | - "perfetto_dep_open_csd", |
| 90 | - "perfetto_dep_sqlite", |
| 91 | - "perfetto_dep_sqlite_src", |
| 92 | - "perfetto_dep_zlib", |
| 93 | -) |
| 94 | - |
| 95 | -# Maven dependencies for Android instrumentation tests. |
| 96 | -# Use a unique name to avoid conflicts with other modules (e.g., bazel_worker_java). |
| 97 | -maven = use_extension( |
| 98 | - "@rules_jvm_external//:extensions.bzl", |
| 99 | - "maven", |
| 100 | -) |
| 101 | -maven.install( |
| 102 | - name = "perfetto_maven", |
| 103 | - artifacts = [ |
| 104 | - "androidx.test:runner:1.6.2", |
| 105 | - "androidx.test:monitor:1.7.2", |
| 106 | - "com.google.truth:truth:1.4.4", |
| 107 | - "junit:junit:4.13.2", |
| 108 | - "androidx.test.ext:junit:1.2.1", |
| 109 | - ], |
| 110 | - repositories = [ |
| 111 | - "https://maven.google.com", |
| 112 | - "https://repo1.maven.org/maven2", |
| 113 | - ], |
| 114 | - # Use rules_android's aar_import to avoid toolchain type mismatch. |
| 115 | - aar_import_bzl_label = "@rules_android//rules:rules.bzl", |
| 116 | -) |
| 117 | -use_repo(maven, "perfetto_maven") |
| 118 | diff --git a/bazel/rules.bzl b/bazel/rules.bzl |
| 119 | index 563382a18b..d7e77cf214 100644 |
| 120 | --- a/bazel/rules.bzl |
| 121 | +++ b/bazel/rules.bzl |
| 122 | @@ -13,9 +13,7 @@ |
| 123 | # limitations under the License. |
| 124 | |
| 125 | load("@perfetto//bazel:proto_gen.bzl", "proto_descriptor_gen", "proto_gen") |
| 126 | -load("@perfetto//bazel:run_ait_with_adb.bzl", "android_instrumentation_test") |
| 127 | load("@perfetto_cfg//:perfetto_cfg.bzl", "PERFETTO_CONFIG") |
| 128 | -load("@rules_android//android:rules.bzl", "android_binary", "android_library") |
| 129 | |
| 130 | # +----------------------------------------------------------------------------+ |
| 131 | # | Base C++ rules. | |
| 132 | @@ -112,12 +110,10 @@ def perfetto_jspb_proto_library(**kwargs): |
| 133 | # | Android-related rules | |
| 134 | # +----------------------------------------------------------------------------+ |
| 135 | def perfetto_android_binary(**kwargs): |
| 136 | - if not _rule_override("android_binary", **kwargs): |
| 137 | - android_binary(**kwargs) |
| 138 | + pass |
| 139 | |
| 140 | def perfetto_android_library(**kwargs): |
| 141 | - if not _rule_override("android_library", **kwargs): |
| 142 | - android_library(**kwargs) |
| 143 | + pass |
| 144 | |
| 145 | def perfetto_android_jni_library(**kwargs): |
| 146 | if not _rule_override("android_jni_library", **kwargs): |
| 147 | @@ -170,8 +166,7 @@ def _perfetto_android_jni_library( |
| 148 | ) |
| 149 | |
| 150 | def perfetto_android_instrumentation_test(**kwargs): |
| 151 | - if not _rule_override("android_instrumentation_test", **kwargs): |
| 152 | - android_instrumentation_test(**kwargs) |
| 153 | + pass |
| 154 | |
| 155 | # +----------------------------------------------------------------------------+ |
| 156 | # | Misc rules. | |