blob: be9ce1fbf85a88c063def14dbaed32289763963f [file] [log] [blame]
Sam Delmerico24c56032022-03-28 19:53:03 +00001// Copyright 2022 Google Inc. All rights reserved.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package allowlists
16
17// Configuration to decide if modules in a directory should default to true/false for bp2build_available
18type Bp2BuildConfig map[string]BazelConversionConfigEntry
19type BazelConversionConfigEntry int
20
21const (
22 // iota + 1 ensures that the int value is not 0 when used in the Bp2buildAllowlist map,
23 // which can also mean that the key doesn't exist in a lookup.
24
25 // all modules in this package and subpackages default to bp2build_available: true.
26 // allows modules to opt-out.
27 Bp2BuildDefaultTrueRecursively BazelConversionConfigEntry = iota + 1
28
29 // all modules in this package (not recursively) default to bp2build_available: true.
30 // allows modules to opt-out.
31 Bp2BuildDefaultTrue
32
33 // all modules in this package (not recursively) default to bp2build_available: false.
34 // allows modules to opt-in.
35 Bp2BuildDefaultFalse
36)
37
38var (
39 Bp2buildDefaultConfig = Bp2BuildConfig{
Romain Jobredeaux5a634d32022-07-27 10:50:12 -040040 "art/libartpalette": Bp2BuildDefaultTrueRecursively,
41 "art/libartbase": Bp2BuildDefaultTrueRecursively,
42 "art/libdexfile": Bp2BuildDefaultTrueRecursively,
43 "art/libnativebridge": Bp2BuildDefaultTrueRecursively,
44 "art/runtime": Bp2BuildDefaultTrueRecursively,
45 "art/tools": Bp2BuildDefaultTrue,
46 "bionic": Bp2BuildDefaultTrueRecursively,
47 "bootable/recovery/tools/recovery_l10n": Bp2BuildDefaultTrue,
48
Sam Delmerico02626f92022-08-15 15:48:37 -040049 "build/bazel/examples/aidl": Bp2BuildDefaultTrueRecursively,
Romain Jobredeaux5a634d32022-07-27 10:50:12 -040050 "build/bazel/examples/apex/minimal": Bp2BuildDefaultTrueRecursively,
51 "build/bazel/examples/soong_config_variables": Bp2BuildDefaultTrueRecursively,
52 "build/bazel/examples/python": Bp2BuildDefaultTrueRecursively,
53 "build/bazel/examples/gensrcs": Bp2BuildDefaultTrueRecursively,
54 "build/make/target/product/security": Bp2BuildDefaultTrue,
55 "build/make/tools/signapk": Bp2BuildDefaultTrue,
56 "build/make/tools/zipalign": Bp2BuildDefaultTrueRecursively,
57 "build/soong": Bp2BuildDefaultTrue,
58 "build/soong/cc/libbuildversion": Bp2BuildDefaultTrue, // Skip tests subdir
59 "build/soong/cc/ndkstubgen": Bp2BuildDefaultTrue,
60 "build/soong/cc/symbolfile": Bp2BuildDefaultTrue,
61 "build/soong/linkerconfig": Bp2BuildDefaultTrueRecursively,
62 "build/soong/scripts": Bp2BuildDefaultTrueRecursively,
63
64 "cts/common/device-side/nativetesthelper/jni": Bp2BuildDefaultTrueRecursively,
65 "development/apps/DevelopmentSettings": Bp2BuildDefaultTrue,
66 "development/apps/Fallback": Bp2BuildDefaultTrue,
67 "development/apps/WidgetPreview": Bp2BuildDefaultTrue,
68 "development/samples/BasicGLSurfaceView": Bp2BuildDefaultTrue,
69 "development/samples/BluetoothChat": Bp2BuildDefaultTrue,
70 "development/samples/BrokenKeyDerivation": Bp2BuildDefaultTrue,
71 "development/samples/Compass": Bp2BuildDefaultTrue,
72 "development/samples/ContactManager": Bp2BuildDefaultTrue,
73 "development/samples/FixedGridLayout": Bp2BuildDefaultTrue,
74 "development/samples/HelloEffects": Bp2BuildDefaultTrue,
75 "development/samples/Home": Bp2BuildDefaultTrue,
76 "development/samples/HoneycombGallery": Bp2BuildDefaultTrue,
77 "development/samples/JetBoy": Bp2BuildDefaultTrue,
78 "development/samples/KeyChainDemo": Bp2BuildDefaultTrue,
79 "development/samples/LceDemo": Bp2BuildDefaultTrue,
80 "development/samples/LunarLander": Bp2BuildDefaultTrue,
81 "development/samples/MultiResolution": Bp2BuildDefaultTrue,
82 "development/samples/MultiWindow": Bp2BuildDefaultTrue,
83 "development/samples/NotePad": Bp2BuildDefaultTrue,
84 "development/samples/Obb": Bp2BuildDefaultTrue,
85 "development/samples/RSSReader": Bp2BuildDefaultTrue,
86 "development/samples/ReceiveShareDemo": Bp2BuildDefaultTrue,
87 "development/samples/SearchableDictionary": Bp2BuildDefaultTrue,
88 "development/samples/SipDemo": Bp2BuildDefaultTrue,
89 "development/samples/SkeletonApp": Bp2BuildDefaultTrue,
90 "development/samples/Snake": Bp2BuildDefaultTrue,
91 "development/samples/SpellChecker/": Bp2BuildDefaultTrueRecursively,
92 "development/samples/ThemedNavBarKeyboard": Bp2BuildDefaultTrue,
93 "development/samples/ToyVpn": Bp2BuildDefaultTrue,
94 "development/samples/TtsEngine": Bp2BuildDefaultTrue,
95 "development/samples/USB/AdbTest": Bp2BuildDefaultTrue,
96 "development/samples/USB/MissileLauncher": Bp2BuildDefaultTrue,
97 "development/samples/VoiceRecognitionService": Bp2BuildDefaultTrue,
98 "development/samples/VoicemailProviderDemo": Bp2BuildDefaultTrue,
99 "development/samples/WiFiDirectDemo": Bp2BuildDefaultTrue,
100 "development/sdk": Bp2BuildDefaultTrueRecursively,
101
102 "external/aac": Bp2BuildDefaultTrueRecursively,
103 "external/arm-optimized-routines": Bp2BuildDefaultTrueRecursively,
104 "external/auto/android-annotation-stubs": Bp2BuildDefaultTrueRecursively,
105 "external/auto/common": Bp2BuildDefaultTrueRecursively,
106 "external/auto/service": Bp2BuildDefaultTrueRecursively,
107 "external/boringssl": Bp2BuildDefaultTrueRecursively,
108 "external/bouncycastle": Bp2BuildDefaultTrue,
109 "external/brotli": Bp2BuildDefaultTrue,
110 "external/conscrypt": Bp2BuildDefaultTrue,
111 "external/e2fsprogs": Bp2BuildDefaultTrueRecursively,
112 "external/eigen": Bp2BuildDefaultTrueRecursively,
113 "external/erofs-utils": Bp2BuildDefaultTrueRecursively,
114 "external/error_prone": Bp2BuildDefaultTrueRecursively,
115 "external/expat": Bp2BuildDefaultTrueRecursively,
116 "external/f2fs-tools": Bp2BuildDefaultTrue,
117 "external/flac": Bp2BuildDefaultTrueRecursively,
118 "external/fmtlib": Bp2BuildDefaultTrueRecursively,
119 "external/google-benchmark": Bp2BuildDefaultTrueRecursively,
120 "external/googletest": Bp2BuildDefaultTrueRecursively,
121 "external/gwp_asan": Bp2BuildDefaultTrueRecursively,
122 "external/hamcrest": Bp2BuildDefaultTrueRecursively,
123 "external/icu": Bp2BuildDefaultTrueRecursively,
124 "external/icu/android_icu4j": Bp2BuildDefaultFalse, // java rules incomplete
125 "external/icu/icu4j": Bp2BuildDefaultFalse, // java rules incomplete
126 "external/jarjar": Bp2BuildDefaultTrueRecursively,
127 "external/javapoet": Bp2BuildDefaultTrueRecursively,
128 "external/jemalloc_new": Bp2BuildDefaultTrueRecursively,
129 "external/jsoncpp": Bp2BuildDefaultTrueRecursively,
130 "external/junit": Bp2BuildDefaultTrueRecursively,
131 "external/libavc": Bp2BuildDefaultTrueRecursively,
132 "external/libcap": Bp2BuildDefaultTrueRecursively,
133 "external/libcxx": Bp2BuildDefaultTrueRecursively,
134 "external/libcxxabi": Bp2BuildDefaultTrueRecursively,
135 "external/libevent": Bp2BuildDefaultTrueRecursively,
136 "external/libgav1": Bp2BuildDefaultTrueRecursively,
137 "external/libhevc": Bp2BuildDefaultTrueRecursively,
138 "external/libjpeg-turbo": Bp2BuildDefaultTrueRecursively,
139 "external/libmpeg2": Bp2BuildDefaultTrueRecursively,
140 "external/libpng": Bp2BuildDefaultTrueRecursively,
141 "external/lz4/lib": Bp2BuildDefaultTrue,
142 "external/lzma/C": Bp2BuildDefaultTrueRecursively,
143 "external/mdnsresponder": Bp2BuildDefaultTrueRecursively,
144 "external/minijail": Bp2BuildDefaultTrueRecursively,
145 "external/pcre": Bp2BuildDefaultTrueRecursively,
146 "external/protobuf": Bp2BuildDefaultTrueRecursively,
147 "external/python/six": Bp2BuildDefaultTrueRecursively,
148 "external/rappor": Bp2BuildDefaultTrueRecursively,
149 "external/scudo": Bp2BuildDefaultTrueRecursively,
150 "external/selinux/libselinux": Bp2BuildDefaultTrueRecursively,
151 "external/selinux/libsepol": Bp2BuildDefaultTrueRecursively,
152 "external/toybox": Bp2BuildDefaultTrueRecursively,
153 "external/zlib": Bp2BuildDefaultTrueRecursively,
154 "external/zopfli": Bp2BuildDefaultTrueRecursively,
155 "external/zstd": Bp2BuildDefaultTrueRecursively,
156
157 "frameworks/av/media/codecs": Bp2BuildDefaultTrueRecursively,
Jingwen Chenb2f584b2022-08-17 10:31:21 +0000158 "frameworks/av/media/liberror": Bp2BuildDefaultTrueRecursively,
Romain Jobredeaux5a634d32022-07-27 10:50:12 -0400159 "frameworks/av/services/minijail": Bp2BuildDefaultTrueRecursively,
160 "frameworks/base/media/tests/MediaDump": Bp2BuildDefaultTrue,
Sam Delmerico97bd1272022-08-25 14:45:31 -0400161 "frameworks/base/services/tests/servicestests/aidl": Bp2BuildDefaultTrue,
Romain Jobredeaux5a634d32022-07-27 10:50:12 -0400162 "frameworks/base/startop/apps/test": Bp2BuildDefaultTrue,
163 "frameworks/base/tests/appwidgets/AppWidgetHostTest": Bp2BuildDefaultTrueRecursively,
164 "frameworks/native/libs/adbd_auth": Bp2BuildDefaultTrueRecursively,
165 "frameworks/native/libs/arect": Bp2BuildDefaultTrueRecursively,
166 "frameworks/native/libs/math": Bp2BuildDefaultTrueRecursively,
167 "frameworks/native/libs/nativebase": Bp2BuildDefaultTrueRecursively,
168 "frameworks/native/opengl/tests/gl2_cameraeye": Bp2BuildDefaultTrue,
169 "frameworks/native/opengl/tests/gl2_java": Bp2BuildDefaultTrue,
170 "frameworks/native/opengl/tests/testLatency": Bp2BuildDefaultTrue,
171 "frameworks/native/opengl/tests/testPauseResume": Bp2BuildDefaultTrue,
172 "frameworks/native/opengl/tests/testViewport": Bp2BuildDefaultTrue,
173 "frameworks/proto_logging/stats/stats_log_api_gen": Bp2BuildDefaultTrueRecursively,
174
Liz Kammer1c921162022-08-17 16:58:32 -0400175 "hardware/interfaces": Bp2BuildDefaultTrue,
176 "hardware/interfaces/configstore/1.0": Bp2BuildDefaultTrue,
177 "hardware/interfaces/configstore/1.1": Bp2BuildDefaultTrue,
178 "hardware/interfaces/configstore/utils": Bp2BuildDefaultTrue,
179 "hardware/interfaces/graphics/allocator/2.0": Bp2BuildDefaultTrue,
180 "hardware/interfaces/graphics/allocator/3.0": Bp2BuildDefaultTrue,
181 "hardware/interfaces/graphics/allocator/4.0": Bp2BuildDefaultTrue,
182 "hardware/interfaces/graphics/bufferqueue/1.0": Bp2BuildDefaultTrue,
183 "hardware/interfaces/graphics/bufferqueue/2.0": Bp2BuildDefaultTrue,
184 "hardware/interfaces/graphics/common/1.0": Bp2BuildDefaultTrue,
185 "hardware/interfaces/graphics/common/1.1": Bp2BuildDefaultTrue,
186 "hardware/interfaces/graphics/common/1.2": Bp2BuildDefaultTrue,
187 "hardware/interfaces/graphics/mapper/2.0": Bp2BuildDefaultTrue,
188 "hardware/interfaces/graphics/mapper/2.1": Bp2BuildDefaultTrue,
189 "hardware/interfaces/graphics/mapper/3.0": Bp2BuildDefaultTrue,
190 "hardware/interfaces/graphics/mapper/4.0": Bp2BuildDefaultTrue,
191 "hardware/interfaces/media/1.0": Bp2BuildDefaultTrue,
192 "hardware/interfaces/media/bufferpool/2.0": Bp2BuildDefaultTrue,
193 "hardware/interfaces/media/c2/1.0": Bp2BuildDefaultTrue,
194 "hardware/interfaces/media/c2/1.1": Bp2BuildDefaultTrue,
195 "hardware/interfaces/media/c2/1.2": Bp2BuildDefaultTrue,
196 "hardware/interfaces/media/omx/1.0": Bp2BuildDefaultTrue,
197 "hardware/interfaces/neuralnetworks/1.0": Bp2BuildDefaultTrue,
198 "hardware/interfaces/neuralnetworks/1.1": Bp2BuildDefaultTrue,
199 "hardware/interfaces/neuralnetworks/1.2": Bp2BuildDefaultTrue,
200 "hardware/interfaces/neuralnetworks/1.3": Bp2BuildDefaultTrue,
201
202 "libnativehelper": Bp2BuildDefaultTrueRecursively,
203
Romain Jobredeaux5a634d32022-07-27 10:50:12 -0400204 "packages/apps/DevCamera": Bp2BuildDefaultTrue,
205 "packages/apps/HTMLViewer": Bp2BuildDefaultTrue,
206 "packages/apps/Protips": Bp2BuildDefaultTrue,
207 "packages/apps/WallpaperPicker": Bp2BuildDefaultTrue,
208 "packages/modules/StatsD/lib/libstatssocket": Bp2BuildDefaultTrueRecursively,
209 "packages/modules/adb": Bp2BuildDefaultTrue,
210 "packages/modules/adb/apex": Bp2BuildDefaultTrue,
211 "packages/modules/adb/crypto": Bp2BuildDefaultTrueRecursively,
212 "packages/modules/adb/libs": Bp2BuildDefaultTrueRecursively,
213 "packages/modules/adb/pairing_auth": Bp2BuildDefaultTrueRecursively,
214 "packages/modules/adb/pairing_connection": Bp2BuildDefaultTrueRecursively,
215 "packages/modules/adb/proto": Bp2BuildDefaultTrueRecursively,
216 "packages/modules/adb/tls": Bp2BuildDefaultTrueRecursively,
Jingwen Chenb2f584b2022-08-17 10:31:21 +0000217 "packages/providers/MediaProvider/tools/dialogs": Bp2BuildDefaultFalse, // TODO(b/242834374)
Romain Jobredeaux5a634d32022-07-27 10:50:12 -0400218 "packages/screensavers/Basic": Bp2BuildDefaultTrue,
Jingwen Chenb2f584b2022-08-17 10:31:21 +0000219 "packages/services/Car/tests/SampleRearViewCamera": Bp2BuildDefaultFalse, // TODO(b/242834321)
Romain Jobredeaux5a634d32022-07-27 10:50:12 -0400220
221 "prebuilts/clang/host/linux-x86": Bp2BuildDefaultTrueRecursively,
222 "prebuilts/runtime/mainline/platform/sdk": Bp2BuildDefaultTrueRecursively,
223 "prebuilts/sdk/current/extras/app-toolkit": Bp2BuildDefaultTrue,
224 "prebuilts/sdk/current/support": Bp2BuildDefaultTrue,
225 "prebuilts/tools/common/m2": Bp2BuildDefaultTrue,
226
Trevor Radcliffec7ceb432022-07-13 17:10:45 +0000227 "system/apex": Bp2BuildDefaultFalse, // TODO(b/207466993): flaky failures
228 "system/apex/apexer": Bp2BuildDefaultTrue,
229 "system/apex/libs": Bp2BuildDefaultTrueRecursively,
230 "system/apex/proto": Bp2BuildDefaultTrueRecursively,
231 "system/apex/tools": Bp2BuildDefaultTrueRecursively,
232 "system/core/debuggerd": Bp2BuildDefaultTrueRecursively,
233 "system/core/diagnose_usb": Bp2BuildDefaultTrueRecursively,
234 "system/core/libasyncio": Bp2BuildDefaultTrue,
235 "system/core/libcrypto_utils": Bp2BuildDefaultTrueRecursively,
236 "system/core/libcutils": Bp2BuildDefaultTrueRecursively,
237 "system/core/libpackagelistparser": Bp2BuildDefaultTrueRecursively,
238 "system/core/libprocessgroup": Bp2BuildDefaultTrue,
239 "system/core/libprocessgroup/cgrouprc": Bp2BuildDefaultTrue,
240 "system/core/libprocessgroup/cgrouprc_format": Bp2BuildDefaultTrue,
241 "system/core/libsystem": Bp2BuildDefaultTrueRecursively,
242 "system/core/libutils": Bp2BuildDefaultTrueRecursively,
243 "system/core/libvndksupport": Bp2BuildDefaultTrueRecursively,
244 "system/core/property_service/libpropertyinfoparser": Bp2BuildDefaultTrueRecursively,
245 "system/core/property_service/libpropertyinfoserializer": Bp2BuildDefaultTrueRecursively,
246 "system/libartpalette": Bp2BuildDefaultTrueRecursively,
247 "system/libbase": Bp2BuildDefaultTrueRecursively,
248 "system/libfmq": Bp2BuildDefaultTrue,
Liz Kammer1c921162022-08-17 16:58:32 -0400249 "system/libhidl/libhidlmemory": Bp2BuildDefaultTrue,
250 "system/libhidl/transport": Bp2BuildDefaultTrue,
251 "system/libhidl/transport/allocator/1.0": Bp2BuildDefaultTrue,
Yu Liudf4413a2022-07-23 21:24:30 -0700252 "system/libhidl/transport/base/1.0": Bp2BuildDefaultTrue,
253 "system/libhidl/transport/manager/1.0": Bp2BuildDefaultTrue,
254 "system/libhidl/transport/manager/1.1": Bp2BuildDefaultTrue,
255 "system/libhidl/transport/manager/1.2": Bp2BuildDefaultTrue,
Liz Kammer1c921162022-08-17 16:58:32 -0400256 "system/libhidl/transport/memory/1.0": Bp2BuildDefaultTrue,
257 "system/libhidl/transport/memory/token/1.0": Bp2BuildDefaultTrue,
258 "system/libhidl/transport/safe_union/1.0": Bp2BuildDefaultTrue,
259 "system/libhidl/transport/token/1.0": Bp2BuildDefaultTrue,
260 "system/libhidl/transport/token/1.0/utils": Bp2BuildDefaultTrue,
Trevor Radcliffec7ceb432022-07-13 17:10:45 +0000261 "system/libhwbinder": Bp2BuildDefaultTrueRecursively,
262 "system/libprocinfo": Bp2BuildDefaultTrue,
263 "system/libziparchive": Bp2BuildDefaultTrueRecursively,
264 "system/logging/liblog": Bp2BuildDefaultTrueRecursively,
265 "system/media/audio": Bp2BuildDefaultTrueRecursively,
266 "system/memory/libion": Bp2BuildDefaultTrueRecursively,
267 "system/memory/libmemunreachable": Bp2BuildDefaultTrueRecursively,
268 "system/sepolicy/apex": Bp2BuildDefaultTrueRecursively,
269 "system/timezone/apex": Bp2BuildDefaultTrueRecursively,
270 "system/timezone/output_data": Bp2BuildDefaultTrueRecursively,
271 "system/tools/sysprop": Bp2BuildDefaultTrue,
272 "system/unwinding/libunwindstack": Bp2BuildDefaultTrueRecursively,
Romain Jobredeaux5a634d32022-07-27 10:50:12 -0400273
274 "tools/apksig": Bp2BuildDefaultTrue,
275 "tools/platform-compat/java/android/compat": Bp2BuildDefaultTrueRecursively,
276 "tools/tradefederation/prebuilts/filegroups": Bp2BuildDefaultTrueRecursively,
Sam Delmerico24c56032022-03-28 19:53:03 +0000277 }
278
279 Bp2buildKeepExistingBuildFile = map[string]bool{
280 // This is actually build/bazel/build.BAZEL symlinked to ./BUILD
281 ".":/*recursive = */ false,
282
283 // build/bazel/examples/apex/... BUILD files should be generated, so
284 // build/bazel is not recursive. Instead list each subdirectory under
285 // build/bazel explicitly.
286 "build/bazel":/* recursive = */ false,
287 "build/bazel/ci/dist":/* recursive = */ false,
288 "build/bazel/examples/android_app":/* recursive = */ true,
Vinh Tran9f6796a2022-08-16 13:10:31 -0400289 "build/bazel/examples/cc":/* recursive = */ true,
Sam Delmerico24c56032022-03-28 19:53:03 +0000290 "build/bazel/examples/java":/* recursive = */ true,
Cole Faust42c48ac2022-06-21 12:26:25 -0700291 "build/bazel/examples/partitions":/* recursive = */ true,
Sam Delmerico24c56032022-03-28 19:53:03 +0000292 "build/bazel/bazel_skylib":/* recursive = */ true,
293 "build/bazel/rules":/* recursive = */ true,
294 "build/bazel/rules_cc":/* recursive = */ true,
295 "build/bazel/scripts":/* recursive = */ true,
296 "build/bazel/tests":/* recursive = */ true,
297 "build/bazel/platforms":/* recursive = */ true,
Cole Faust42c48ac2022-06-21 12:26:25 -0700298 "build/bazel/product_config":/* recursive = */ true,
Sam Delmerico24c56032022-03-28 19:53:03 +0000299 "build/bazel/product_variables":/* recursive = */ true,
300 "build/bazel/vendor/google":/* recursive = */ true,
301 "build/bazel_common_rules":/* recursive = */ true,
302 // build/make/tools/signapk BUILD file is generated, so build/make/tools is not recursive.
303 "build/make/tools":/* recursive = */ false,
304 "build/pesto":/* recursive = */ true,
Liz Kammer15088e42022-08-12 16:37:40 -0400305 "build/soong/ui/metrics/bp2build_progress_metrics_proto":/* recursive = */ true,
Sam Delmerico24c56032022-03-28 19:53:03 +0000306
307 // external/bazelbuild-rules_android/... is needed by mixed builds, otherwise mixed builds analysis fails
308 // e.g. ERROR: Analysis of target '@soong_injection//mixed_builds:buildroot' failed
309 "external/bazelbuild-rules_android":/* recursive = */ true,
310 "external/bazel-skylib":/* recursive = */ true,
311 "external/guava":/* recursive = */ true,
312 "external/jsr305":/* recursive = */ true,
313 "frameworks/ex/common":/* recursive = */ true,
314
315 "packages/apps/Music":/* recursive = */ true,
316 "packages/apps/QuickSearchBox":/* recursive = */ true,
Sam Delmerico24c56032022-03-28 19:53:03 +0000317
Romain Jobredeaux29197972022-05-30 22:02:31 -0400318 "prebuilts/bazel":/* recursive = */ true,
Sam Delmerico24c56032022-03-28 19:53:03 +0000319 "prebuilts/bundletool":/* recursive = */ true,
320 "prebuilts/gcc":/* recursive = */ true,
Jingwen Chen23ca2d22022-05-19 09:53:56 +0000321 "prebuilts/build-tools":/* recursive = */ true,
Sam Delmerico24c56032022-03-28 19:53:03 +0000322 "prebuilts/jdk/jdk11":/* recursive = */ false,
Cole Faust7071a052022-07-29 15:58:33 -0700323 "prebuilts/misc":/* recursive = */ false, // not recursive because we need bp2build converted build files in prebuilts/misc/common/asm
Sam Delmerico24c56032022-03-28 19:53:03 +0000324 "prebuilts/sdk":/* recursive = */ false,
Sam Delmerico24c56032022-03-28 19:53:03 +0000325 "prebuilts/sdk/tools":/* recursive = */ false,
326 "prebuilts/r8":/* recursive = */ false,
327 }
328
329 Bp2buildModuleAlwaysConvertList = []string{
Liz Kammerbe1315e2022-05-10 09:15:31 -0400330 // cc mainline modules
Liz Kammerbe1315e2022-05-10 09:15:31 -0400331 "code_coverage.policy",
332 "code_coverage.policy.other",
333 "codec2_soft_exports",
Liz Kammer5068eae2022-05-11 17:24:29 -0400334 "com.android.media.swcodec-androidManifest",
Liz Kammerbe1315e2022-05-10 09:15:31 -0400335 "com.android.media.swcodec-ld.config.txt",
Liz Kammerbe1315e2022-05-10 09:15:31 -0400336 "com.android.media.swcodec-mediaswcodec.rc",
Liz Kammer5068eae2022-05-11 17:24:29 -0400337 "com.android.media.swcodec.certificate",
338 "com.android.media.swcodec.key",
339 "com.android.neuralnetworks-androidManifest",
340 "com.android.neuralnetworks.certificate",
341 "com.android.neuralnetworks.key",
Liz Kammerbe1315e2022-05-10 09:15:31 -0400342 "flatbuffer_headers",
343 "gemmlowp_headers",
344 "gl_headers",
Liz Kammer63367e12022-06-13 19:35:12 +0000345 "libandroid_runtime_lazy",
Liz Kammer5068eae2022-05-11 17:24:29 -0400346 "libandroid_runtime_vm_headers",
Liz Kammerbe1315e2022-05-10 09:15:31 -0400347 "libaudioclient_aidl_conversion_util",
348 "libaudioutils_fixedfft",
Vinh Tran9f6796a2022-08-16 13:10:31 -0400349 "libbinder",
350 "libbinder_device_interface_sources",
Vinh Tran444154d2022-08-16 13:10:31 -0400351 "libbinder_aidl",
Liz Kammer63367e12022-06-13 19:35:12 +0000352 "libbinder_headers",
Liz Kammer5068eae2022-05-11 17:24:29 -0400353 "libbinder_headers_platform_shared",
Liz Kammerdfeb1202022-05-13 17:20:20 -0400354 "libbluetooth-types-header",
Liz Kammer63367e12022-06-13 19:35:12 +0000355 "libbufferhub_headers",
356 "libcodec2",
Liz Kammerdfeb1202022-05-13 17:20:20 -0400357 "libcodec2_headers",
358 "libcodec2_internal",
359 "libdmabufheap",
Liz Kammer63367e12022-06-13 19:35:12 +0000360 "libdvr_headers",
Liz Kammer5068eae2022-05-11 17:24:29 -0400361 "libgsm",
Liz Kammerdfeb1202022-05-13 17:20:20 -0400362 "libgui_bufferqueue_sources",
Liz Kammer63367e12022-06-13 19:35:12 +0000363 "libhardware",
Liz Kammer5068eae2022-05-11 17:24:29 -0400364 "libhardware_headers",
Liz Kammer63367e12022-06-13 19:35:12 +0000365 "libincfs_headers",
Liz Kammerdfeb1202022-05-13 17:20:20 -0400366 "libnativeloader-headers",
Liz Kammer5068eae2022-05-11 17:24:29 -0400367 "libnativewindow_headers",
368 "libneuralnetworks_headers",
369 "libopus",
Liz Kammer63367e12022-06-13 19:35:12 +0000370 "libpdx_headers",
Liz Kammer5068eae2022-05-11 17:24:29 -0400371 "libprocpartition",
Liz Kammer63367e12022-06-13 19:35:12 +0000372 "libruy_static",
Cole Faust6b29f592022-08-09 09:50:56 -0700373 "libandroidio",
374 "libandroidio_srcs",
Liz Kammer5068eae2022-05-11 17:24:29 -0400375 "libserviceutils",
Liz Kammer5068eae2022-05-11 17:24:29 -0400376 "libstagefright_enc_common",
377 "libstagefright_foundation_headers",
378 "libstagefright_headers",
Liz Kammer63367e12022-06-13 19:35:12 +0000379 "libsurfaceflinger_headers",
Liz Kammerdfeb1202022-05-13 17:20:20 -0400380 "libsync",
Liz Kammer5068eae2022-05-11 17:24:29 -0400381 "libtextclassifier_hash_headers",
382 "libtextclassifier_hash_static",
Liz Kammer63367e12022-06-13 19:35:12 +0000383 "libtflite_kernel_utils",
384 "libtinyxml2",
Liz Kammer5068eae2022-05-11 17:24:29 -0400385 "libui-types",
Liz Kammer63367e12022-06-13 19:35:12 +0000386 "libui_headers",
Liz Kammer5068eae2022-05-11 17:24:29 -0400387 "libvorbisidec",
388 "media_ndk_headers",
Liz Kammer63367e12022-06-13 19:35:12 +0000389 "media_plugin_headers",
Liz Kammer5068eae2022-05-11 17:24:29 -0400390 "mediaswcodec.policy",
391 "mediaswcodec.xml",
Liz Kammer63367e12022-06-13 19:35:12 +0000392 "philox_random",
Liz Kammer5068eae2022-05-11 17:24:29 -0400393 "philox_random_headers",
394 "server_configurable_flags",
395 "tensorflow_headers",
Liz Kammerbe1315e2022-05-10 09:15:31 -0400396
Jingwen Chen9009dc22022-08-04 15:26:46 +0000397 // fastboot
398 "bootimg_headers",
399 "fastboot",
400 "libfastboot",
401 "liblp",
402 "libstorage_literals_headers",
403
Sam Delmerico24c56032022-03-28 19:53:03 +0000404 //external/avb
405 "avbtool",
406 "libavb",
407 "avb_headers",
408
409 //external/fec
410 "libfec_rs",
411
412 //system/core/libsparse
413 "libsparse",
414
415 //system/extras/ext4_utils
416 "libext4_utils",
Cole Faust01243362022-06-02 12:11:12 -0700417 "mke2fs_conf",
Sam Delmerico24c56032022-03-28 19:53:03 +0000418
419 //system/extras/libfec
420 "libfec",
421
422 //system/extras/squashfs_utils
423 "libsquashfs_utils",
424
425 //system/extras/verity/fec
426 "fec",
427
428 //packages/apps/Car/libs/car-ui-lib/car-ui-androidx
429 // genrule dependencies for java_imports
430 "car-ui-androidx-annotation-nodeps",
431 "car-ui-androidx-collection-nodeps",
432 "car-ui-androidx-core-common-nodeps",
433 "car-ui-androidx-lifecycle-common-nodeps",
434 "car-ui-androidx-constraintlayout-solver-nodeps",
Yu Liudf4413a2022-07-23 21:24:30 -0700435
436 //system/libhidl
437 // needed by cc_hidl_library
438 "libhidlbase",
Vinh Tran444154d2022-08-16 13:10:31 -0400439
440 //frameworks/native
441 "framework_native_aidl_binder",
442 "framework_native_aidl_gui",
443
444 //frameworks/native/libs/input
445 "inputconstants_aidl",
Sam Delmerico24c56032022-03-28 19:53:03 +0000446 }
447
448 Bp2buildModuleTypeAlwaysConvertList = []string{
Liz Kammer45faf8f2022-06-02 16:00:54 -0400449 "linker_config",
Sam Delmerico24c56032022-03-28 19:53:03 +0000450 "java_import",
451 "java_import_host",
Sam Delmerico97bd1272022-08-25 14:45:31 -0400452 "aidl_interface_headers",
Sam Delmerico24c56032022-03-28 19:53:03 +0000453 }
454
455 Bp2buildModuleDoNotConvertList = []string{
456 // cc bugs
Sam Delmerico24c56032022-03-28 19:53:03 +0000457 "libactivitymanager_aidl", // TODO(b/207426160): Unsupported use of aidl sources (via Dactivity_manager_procstate_aidl) in a cc_library
458 "gen-kotlin-build-file.py", // TODO(b/198619163) module has same name as source
459 "libgtest_ndk_c++", "libgtest_main_ndk_c++", // TODO(b/201816222): Requires sdk_version support.
460 "linkerconfig", "mdnsd", // TODO(b/202876379): has arch-variant static_executable
Cole Faust7071a052022-07-29 15:58:33 -0700461 "linker", // TODO(b/228316882): cc_binary uses link_crt
462 "libdebuggerd", // TODO(b/228314770): support product variable-specific header_libs
463 "versioner", // TODO(b/228313961): depends on prebuilt shared library libclang-cpp_host as a shared library, which does not supply expected providers for a shared library
464 "libspeexresampler", // TODO(b/231995978): Filter out unknown cflags
465 "libvpx", // TODO(b/240756936): Arm neon variant not supported
Liz Kammer63367e12022-06-13 19:35:12 +0000466 "art_libartbase_headers", // TODO(b/236268577): Header libraries do not support export_shared_libs_headers
467 "apexer_test", // Requires aapt2
Cole Faust91a2e102022-05-31 14:56:48 -0700468 "apexer_test_host_tools",
469 "host_apex_verifier",
Cole Faust7071a052022-07-29 15:58:33 -0700470 "tjbench", // TODO(b/240563612): Stem property
Sam Delmerico24c56032022-03-28 19:53:03 +0000471
472 // java bugs
473 "libbase_ndk", // TODO(b/186826477): fails to link libctscamera2_jni for device (required for CtsCameraTestCases)
474
475 // python protos
Cole Faust53b62092022-05-12 15:37:02 -0700476 "libprotobuf-python", // Has a handcrafted alternative
Sam Delmerico24c56032022-03-28 19:53:03 +0000477
478 // genrule incompatibilities
479 "brotli-fuzzer-corpus", // TODO(b/202015218): outputs are in location incompatible with bazel genrule handling.
480 "platform_tools_properties", "build_tools_source_properties", // TODO(b/203369847): multiple genrules in the same package creating the same file
481
482 // aar support
483 "prebuilt_car-ui-androidx-core-common", // TODO(b/224773339), genrule dependency creates an .aar, not a .jar
484 "prebuilt_platform-robolectric-4.4-prebuilt", // aosp/1999250, needs .aar support in Jars
485 "prebuilt_platform-robolectric-4.5.1-prebuilt", // aosp/1999250, needs .aar support in Jars
486
Liz Kammer63367e12022-06-13 19:35:12 +0000487 // proto support
488 "libstats_proto_host", // TODO(b/236055697): handle protos from other packages
489
Sam Delmerico24c56032022-03-28 19:53:03 +0000490 // path property for filegroups
491 "conscrypt", // TODO(b/210751803), we don't handle path property for filegroups
492 "conscrypt-for-host", // TODO(b/210751803), we don't handle path property for filegroups
493 "host-libprotobuf-java-full", // TODO(b/210751803), we don't handle path property for filegroups
494 "libprotobuf-internal-protos", // TODO(b/210751803), we don't handle path property for filegroups
495 "libprotobuf-internal-python-srcs", // TODO(b/210751803), we don't handle path property for filegroups
496 "libprotobuf-java-full", // TODO(b/210751803), we don't handle path property for filegroups
497 "libprotobuf-java-util-full", // TODO(b/210751803), we don't handle path property for filegroups
Sam Delmerico79985812022-03-23 20:20:42 +0000498 "auto_value_plugin_resources", // TODO(b/210751803), we don't handle path property for filegroups
Sam Delmerico24c56032022-03-28 19:53:03 +0000499
500 // go deps:
501 "analyze_bcpf", // depends on bpmodify a blueprint_go_binary.
502 "apex-protos", // depends on soong_zip, a go binary
503 "generated_android_icu4j_src_files", "generated_android_icu4j_test_files", "icu4c_test_data", // depends on unconverted modules: soong_zip
504 "host_bionic_linker_asm", // depends on extract_linker, a go binary.
505 "host_bionic_linker_script", // depends on extract_linker, a go binary.
506 "libc_musl_sysroot_bionic_arch_headers", // depends on soong_zip
Jingwen Chenc1728162022-04-27 09:56:33 +0000507 "libc_musl_sysroot_zlib_headers", // depends on soong_zip and zip2zip
Sam Delmerico24c56032022-03-28 19:53:03 +0000508 "libc_musl_sysroot_bionic_headers", // 218405924, depends on soong_zip and generates duplicate srcs
509 "libc_musl_sysroot_libc++_headers", "libc_musl_sysroot_libc++abi_headers", // depends on soong_zip, zip2zip
510 "robolectric-sqlite4java-native", // depends on soong_zip, a go binary
511 "robolectric_tzdata", // depends on soong_zip, a go binary
512
513 // rust support
514 "libtombstoned_client_rust_bridge_code", "libtombstoned_client_wrapper", // rust conversions are not supported
515
516 // unconverted deps
Trevor Radcliffeef9c9002022-05-13 20:55:35 +0000517 "CarHTMLViewer", // depends on unconverted modules android.car-stubs, car-ui-lib
518 "abb", // depends on unconverted modules: libcmd, libbinder
519 "adb", // depends on unconverted modules: AdbWinApi, libandroidfw, libopenscreen-discovery, libopenscreen-platform-impl, libusb, bin2c_fastdeployagent, AdbWinUsbApi
520 "android_icu4j_srcgen", // depends on unconverted modules: currysrc
521 "android_icu4j_srcgen_binary", // depends on unconverted modules: android_icu4j_srcgen, currysrc
522 "apex_manifest_proto_java", // b/210751803, depends on libprotobuf-java-full
523 "art-script", // depends on unconverted modules: dalvikvm, dex2oat
524 "bin2c_fastdeployagent", // depends on unconverted modules: deployagent
Sam Delmerico24c56032022-03-28 19:53:03 +0000525 "com.android.runtime", // depends on unconverted modules: bionic-linker-config, linkerconfig
Sam Delmerico24c56032022-03-28 19:53:03 +0000526 "currysrc", // depends on unconverted modules: currysrc_org.eclipse, guavalib, jopt-simple-4.9
527 "dex2oat-script", // depends on unconverted modules: dex2oat
528 "generated_android_icu4j_resources", // depends on unconverted modules: android_icu4j_srcgen_binary, soong_zip
529 "generated_android_icu4j_test_resources", // depends on unconverted modules: android_icu4j_srcgen_binary, soong_zip
530 "host-libprotobuf-java-nano", // b/220869005, depends on libprotobuf-java-nano
531 "libadb_host", // depends on unconverted modules: AdbWinApi, libopenscreen-discovery, libopenscreen-platform-impl, libusb
Liz Kammer6a824f62022-08-09 13:23:01 -0400532 "libapexutil", // depends on unconverted modules: apex-info-list-tinyxml
Sam Delmerico24c56032022-03-28 19:53:03 +0000533 "libart", // depends on unconverted modules: apex-info-list-tinyxml, libtinyxml2, libnativeloader-headers, heapprofd_client_api, art_operator_srcs, libcpu_features, libodrstatslog, libelffile, art_cmdlineparser_headers, cpp-define-generator-definitions, libdexfile, libnativebridge, libnativeloader, libsigchain, libartbase, libprofile, cpp-define-generator-asm-support
534 "libart-runtime-gtest", // depends on unconverted modules: libgtest_isolated, libart-compiler, libdexfile, libprofile, libartbase, libartbase-art-gtest
535 "libart_headers", // depends on unconverted modules: art_libartbase_headers
Liz Kammer3d13adc2022-08-09 09:26:54 -0400536 "libartbase-art-gtest", // depends on unconverted modules: libgtest_isolated, libart, libart-compiler, libdexfile, libprofile
537 "libartbased-art-gtest", // depends on unconverted modules: libgtest_isolated, libartd, libartd-compiler, libdexfiled, libprofiled
Sam Delmerico24c56032022-03-28 19:53:03 +0000538 "libartd", // depends on unconverted modules: art_operator_srcs, libcpu_features, libodrstatslog, libelffiled, art_cmdlineparser_headers, cpp-define-generator-definitions, libdexfiled, libnativebridge, libnativeloader, libsigchain, libartbased, libprofiled, cpp-define-generator-asm-support, apex-info-list-tinyxml, libtinyxml2, libnativeloader-headers, heapprofd_client_api
539 "libartd-runtime-gtest", // depends on unconverted modules: libgtest_isolated, libartd-compiler, libdexfiled, libprofiled, libartbased, libartbased-art-gtest
540 "libdebuggerd_handler", // depends on unconverted module libdebuggerd_handler_core
541 "libdebuggerd_handler_core", "libdebuggerd_handler_fallback", // depends on unconverted module libdebuggerd
Sam Delmerico24c56032022-03-28 19:53:03 +0000542 "libdexfiled", // depends on unconverted modules: dexfile_operator_srcs, libartbased, libartpalette
543 "libfastdeploy_host", // depends on unconverted modules: libandroidfw, libusb, AdbWinApi
544 "libgmock_main_ndk", // depends on unconverted modules: libgtest_ndk_c++
545 "libgmock_ndk", // depends on unconverted modules: libgtest_ndk_c++
546 "libnativehelper_lazy_mts_jni", "libnativehelper_mts_jni", // depends on unconverted modules: libnativetesthelper_jni, libgmock_ndk
547 "libnativetesthelper_jni", // depends on unconverted modules: libgtest_ndk_c++
548 "libprotobuf-java-nano", // b/220869005, depends on non-public_current SDK
549 "libstatslog", // depends on unconverted modules: libstatspull, statsd-aidl-ndk, libbinder_ndk
550 "libstatslog_art", // depends on unconverted modules: statslog_art.cpp, statslog_art.h
551 "linker_reloc_bench_main", // depends on unconverted modules: liblinker_reloc_bench_*
552 "pbtombstone", "crash_dump", // depends on libdebuggerd, libunwindstack
553 "robolectric-sqlite4java-0.282", // depends on unconverted modules: robolectric-sqlite4java-import, robolectric-sqlite4java-native
554 "static_crasher", // depends on unconverted modules: libdebuggerd_handler
555 "stats-log-api-gen", // depends on unconverted modules: libstats_proto_host
556 "statslog.cpp", "statslog.h", "statslog.rs", // depends on unconverted modules: stats-log-api-gen
557 "statslog_art.cpp", "statslog_art.h", "statslog_header.rs", // depends on unconverted modules: stats-log-api-gen
Liz Kammer3d13adc2022-08-09 09:26:54 -0400558 "test_fips", // depends on unconverted modules: adb
559 "timezone-host", // depends on unconverted modules: art.module.api.annotations
560 "truth-host-prebuilt", // depends on unconverted modules: truth-prebuilt
561 "truth-prebuilt", // depends on unconverted modules: asm-7.0, guava
Alex Márquez Pérez Muñíz Díaz Púras Thaureauxbff2e882022-04-20 18:44:54 +0000562
563 // b/215723302; awaiting tz{data,_version} to then rename targets conflicting with srcs
564 "tzdata",
565 "tz_version",
Jingwen Chen5012e072022-08-04 15:04:43 +0000566
567 // '//bionic/libc:libc_bp2build_cc_library_static' is duplicated in the 'deps' attribute of rule
568 "toybox-static",
Wei Li81852ca2022-07-27 00:22:06 -0700569
570 // Do not convert the following modules because of duplicate labels checking in Bazel.
571 // See b/241283350. They should be removed from this list once the bug is fixed.
572 "libartpalette",
573 "libartbase",
574 "libdexfile",
575 "libartbased",
576 "libdexfile_static",
577 "libartbase-testing",
578 "libartbased-testing",
579 "libdexfile_support",
580 "libunwindstack",
581 "libunwindstack_local",
582 "libfdtrack",
583 "libc_malloc_debug",
584 "libutilscallstack",
585 "libunwindstack_utils",
586 "unwind_for_offline",
Sam Delmerico24c56032022-03-28 19:53:03 +0000587 }
588
589 Bp2buildCcLibraryStaticOnlyList = []string{}
590
591 MixedBuildsDisabledList = []string{
Liz Kammer63367e12022-06-13 19:35:12 +0000592 "libruy_static", "libtflite_kernel_utils", // TODO(b/237315968); Depend on prebuilt stl, not from source
593
Sam Delmerico24c56032022-03-28 19:53:03 +0000594 "art_libdexfile_dex_instruction_list_header", // breaks libart_mterp.armng, header not found
595
596 "libbrotli", // http://b/198585397, ld.lld: error: bionic/libc/arch-arm64/generic/bionic/memmove.S:95:(.text+0x10): relocation R_AARCH64_CONDBR19 out of range: -1404176 is not in [-1048576, 1048575]; references __memcpy
597 "minijail_constants_json", // http://b/200899432, bazel-built cc_genrule does not work in mixed build when it is a dependency of another soong module.
598
599 "cap_names.h", // TODO(b/204913827) runfiles need to be handled in mixed builds
600 "libcap", // TODO(b/204913827) runfiles need to be handled in mixed builds
601 "libprotobuf-cpp-full", "libprotobuf-cpp-lite", // Unsupported product&vendor suffix. b/204811222 and b/204810610.
602
603 // Depends on libprotobuf-cpp-*
604 "libadb_pairing_connection",
605 "libadb_pairing_connection_static",
606 "libadb_pairing_server", "libadb_pairing_server_static",
607
608 // TODO(b/204811222) support suffix in cc_binary
609 "acvp_modulewrapper",
610 "android.hardware.media.c2@1.0-service-v4l2",
611 "app_process",
612 "bar_test",
613 "bench_cxa_atexit",
614 "bench_noop",
615 "bench_noop_nostl",
616 "bench_noop_static",
617 "boringssl_self_test",
618 "boringssl_self_test_vendor",
619 "bssl",
620 "cavp",
621 "crash_dump",
622 "crasher",
623 "libcxx_test_template",
624 "linker",
625 "memory_replay",
626 "native_bridge_guest_linker",
627 "native_bridge_stub_library_defaults",
628 "noop",
629 "simpleperf_ndk",
630 "toybox-static",
631 "zlib_bench",
Sam Delmerico277795c2022-02-25 17:04:37 +0000632
633 // java_import[_host] issues
634 // tradefed prebuilts depend on libprotobuf
635 "prebuilt_tradefed",
636 "prebuilt_tradefed-test-framework",
637 // handcrafted BUILD.bazel files in //prebuilts/...
638 "prebuilt_r8lib-prebuilt",
639 "prebuilt_sdk-core-lambda-stubs",
640 "prebuilt_android-support-collections-nodeps",
641 "prebuilt_android-arch-core-common-nodeps",
642 "prebuilt_android-arch-lifecycle-common-java8-nodeps",
643 "prebuilt_android-arch-lifecycle-common-nodeps",
644 "prebuilt_android-support-annotations-nodeps",
645 "prebuilt_android-arch-paging-common-nodeps",
646 "prebuilt_android-arch-room-common-nodeps",
Sam Delmerico0b66fb22022-08-23 15:17:29 -0400647 // TODO(b/217750501) exclude_dirs property not supported
648 "prebuilt_kotlin-reflect",
649 "prebuilt_kotlin-stdlib",
650 "prebuilt_kotlin-stdlib-jdk7",
651 "prebuilt_kotlin-stdlib-jdk8",
652 "prebuilt_kotlin-test",
653 // TODO(b/217750501) exclude_files property not supported
654 "prebuilt_platform-robolectric-4.4-prebuilt",
655 "prebuilt_platform-robolectric-4.5.1-prebuilt",
656 "prebuilt_currysrc_org.eclipse",
Sam Delmerico24c56032022-03-28 19:53:03 +0000657 }
658)