1{ 2 "tests": true, 3 "features": [ 4 "android_display", 5 // "android_display_stub" is enabled only to allow the cargo build to succeed as 6 // part of cargo_embargo. Patch files are used to remove it from the 7 // generated Android.bp files (so that the real display backend implementation is 8 // used). 9 "android_display_stub", 10 "android-sparse", 11 "audio", 12 "audio_aaudio", 13 "balloon", 14 "config-file", 15 "fs_runtime_ugid_map", 16 // TODO: The "protos" crate has been modified such that it doesn't work with cargo. If we fix that, 17 // we can remove a some patch files and enable "composite-disk" and "registered_events" here. 18 // "composite-disk", 19 // "registered_events", 20 "gdb", 21 "geniezone", 22 "gfxstream", 23 // "gfxstream_stub" is enabled only to allow the cargo build to succeed as 24 // part of cargo_embargo. Patch files are used to remove it from the 25 // generated Android.bp files (so that the real gfxstream implementation is 26 // used). 27 "gfxstream_stub", 28 "gpu", 29 "gunyah", 30 "libaaudio_stub", 31 "net", 32 "qcow", 33 "usb", 34 "virgl_renderer" 35 ], 36 "workspace": true, 37 "workspace_excludes": [ 38 "audio_streams_conformance_test", 39 "baremetal", 40 "catapult_converter", 41 "cros_asyncv2", 42 "cros_fuzz", 43 "crosvm-fuzz", 44 "crosvm_plugin", 45 "delegate", 46 "e2e_tests", 47 "ffmpeg", 48 "fixture", 49 "gpu_buffer", 50 "libva", 51 "libvda", 52 "p9-fuzz", 53 "prebuilts", 54 "proto_build_tools", 55 "qcow_utils", 56 "rutabaga_gfx_ffi", 57 "sandbox", 58 "swap", 59 "system_api", 60 "tpm2", 61 "tpm2-sys", 62 "tube_transporter", 63 "win_audio", 64 "win_util" 65 ], 66 "global_defaults": "crosvm_inner_defaults", 67 "apex_available": [], 68 "product_available": false, 69 "vendor_available": false, 70 "module_name_overrides": { 71 "libbase": "libbase_rust", 72 "libbase64": "libbase64_rust", 73 "libbit_field": "libbit_field_crosvm", 74 "libfuse": "libfuse_rust", 75 "liblog": "liblog_rust", 76 "libminijail": "libminijail_rust", 77 "libsync": "libsync_rust", 78 "libx86_64": "libx86_64_rust" 79 }, 80 "module_blocklist": [ 81 // TODO: These are all for workspace_excludes package. Maybe use the option to 82 // also block all blueprint modules for excluded packages. 83 "libprebuilts", 84 "libproto_build_tools", 85 // Flaky with ENOMEM. We don't use io_uring yet, so turning it off for now. 86 "io_uring_test_tests_uring" 87 ], 88 "module_visibility": { 89 "crosvm": [ 90 "//visibility:public" 91 ], 92 "libaarch64": [ 93 // For QCOM's crosvm fork. 94 "//vendor:__subpackages__" 95 ], 96 "libbase_rust": [ 97 // For QCOM's crosvm fork. 98 "//vendor:__subpackages__" 99 ], 100 "libcrosvm_control_static": [ 101 "//packages/modules/Virtualization/android/virtmgr" 102 ], 103 "libdevices": [ 104 // For QCOM's crosvm fork. 105 "//vendor:__subpackages__" 106 ], 107 "libdisk": [ 108 "//packages/modules/Virtualization/android/virtmgr", 109 // For QCOM's crosvm fork. 110 "//vendor:__subpackages__" 111 ], 112 "libfuse_rust": [ 113 "//packages/modules/Virtualization/guest/authfs", 114 "//packages/modules/Virtualization/guest/zipfuse", 115 "//packages/modules/Virtualization/tests/authfs" 116 ], 117 "libhypervisor": [ 118 // For QCOM's crosvm fork. 119 "//vendor:__subpackages__" 120 ], 121 "libsync_rust": [ 122 // For QCOM's crosvm fork. 123 "//vendor:__subpackages__" 124 ], 125 "libvm_memory": [ 126 // For QCOM's crosvm fork. 127 "//vendor:__subpackages__" 128 ] 129 }, 130 "package": { 131 "aarch64": { 132 "add_module_block": "aarch64/cargo2android_arch.bp" 133 }, 134 "android_audio": { 135 "patch": "android_audio/patches/Android.bp.patch" 136 }, 137 "base": { 138 "patch": "base/patches/Android.bp.patch", 139 "dep_blocklist": [ 140 // "libtest_mimic" is needed for "base_test_tests_process" which is 141 // currently ignored by cargo_embargo because it is a "harness-less" 142 // test. cargo_embargo incorrectly thinks the dependency is needed for 143 // other tests in the "process" package, so we need to manually block 144 // it here. 145 "liblibtest_mimic" 146 ] 147 }, 148 "base_event_token_derive": { 149 // TODO: This is a proc macro crate. Should disable device tests by default for them. 150 "device_supported": false 151 }, 152 "bit_field_derive": { 153 // TODO: This is a proc macro crate. Should disable device tests by default for them. 154 "device_supported": false 155 }, 156 "cros_async": { 157 "no_presubmit": true 158 }, 159 "crosvm": { 160 "no_presubmit": true, 161 "add_toplevel_block": "cargo2android_defaults.bp", 162 "add_module_block": "cargo2android_module.bp.patch", 163 // Keep cargo2android from adding ISA specific deps so that we can add them 164 // correctly via patches. 165 "dep_blocklist": [ 166 "libx86_64", 167 "libaarch64" 168 ], 169 "patch": "patches/Android.bp.patch" 170 }, 171 "crosvm_control": { 172 "patch": "crosvm_control/cargo2android.bp.patch" 173 }, 174 "devices": { 175 "no_presubmit": true, 176 "dep_blocklist": [ 177 // See the comment for base's "dep_blocklist" above (in this case 178 // "devices_test_tests_passthroughfs_main" is the culprit). 179 "liblibtest_mimic" 180 ] 181 }, 182 "disk": { 183 "patch": "disk/patches/Android.bp.patch" 184 }, 185 "gpu_display": { 186 "add_toplevel_block": "gpu_display/cargo2android.bp", 187 "patch": "gpu_display/patches/Android.bp.patch" 188 }, 189 "hypervisor": { 190 "no_presubmit": true 191 }, 192 "io_uring": { 193 "no_presubmit": true 194 }, 195 "kvm": { 196 "no_presubmit": true 197 }, 198 "kvm_sys": { 199 "no_presubmit": true 200 }, 201 "net_util": { 202 "no_presubmit": true 203 }, 204 "power_monitor": { 205 "copy_out": true 206 }, 207 "protos": { 208 "add_toplevel_block": "protos/cargo2android_protobuf.bp", 209 "patch": "protos/patches/Android.bp.patch" 210 }, 211 "rutabaga_gfx": { 212 "patch": "rutabaga_gfx/patches/Android.bp.patch", 213 "dep_blocklist": [ 214 "libEGL", 215 "libGL", 216 "libX11", 217 "libXau", 218 "libXdmcp", 219 "libdl", 220 "libm", 221 "libpthread", 222 "libxcb" 223 ] 224 }, 225 "vhost": { 226 "no_presubmit": true 227 }, 228 "wire_format_derive": { 229 // TODO: This is a proc macro crate. Should disable device tests by default for them. 230 "device_supported": false 231 }, 232 "x86_64": { 233 "no_presubmit": true, 234 "add_module_block": "x86_64/cargo2android_gdb.bp.patch" 235 } 236 } 237} 238