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