| { |
| "tests": true, |
| "features": [ |
| "android-sparse", |
| "audio", |
| "balloon", |
| // TODO: The "protos" crate has been modified such that it doesn't work with cargo. If we fix that, |
| // we can remove a some patch files and enable "composite-disk" here. |
| // "composite-disk", |
| "gdb", |
| "geniezone", |
| "gunyah", |
| "qcow", |
| "usb", |
| // TODO: Enable these in the root crate instead. May be difficult because of host-vs-device |
| // difference that are handled in patches in, e.g., the "devices" crate. |
| "rutabaga_gfx/virgl_renderer", |
| "rutabaga_gfx/virgl_renderer_next" |
| ], |
| "workspace": true, |
| "workspace_excludes": [ |
| "audio_streams_conformance_test", |
| "baremetal", |
| "catapult_converter", |
| "cros_asyncv2", |
| "cros_fuzz", |
| "crosvm-fuzz", |
| "crosvm_plugin", |
| "e2e_tests", |
| "ffmpeg", |
| "fixture", |
| "gpu_buffer", |
| "libva", |
| "libvda", |
| "p9-fuzz", |
| "prebuilts", |
| "proto_build_tools", |
| "qcow_utils", |
| "rutabaga_gfx_ffi", |
| "sandbox", |
| "swap", |
| "system_api", |
| "tpm2", |
| "tpm2-sys", |
| "tube_transporter", |
| "win_audio", |
| "win_util" |
| ], |
| "global_defaults": "crosvm_inner_defaults", |
| "apex_available": [], |
| "module_name_overrides": { |
| "libbase": "libbase_rust", |
| "libbase64": "libbase64_rust", |
| "libfuse": "libfuse_rust", |
| "liblog": "liblog_rust", |
| "libminijail": "libminijail_rust", |
| "libprotobuf": "libprotobuf_deprecated", |
| "libsync": "libsync_rust", |
| "libx86_64": "libx86_64_rust" |
| }, |
| "module_blocklist": [ |
| // TODO: These are all for workspace_excludes package. Maybe use the option to |
| // also block all blueprint modules for excluded packages. |
| "liblibva", |
| "libprebuilts", |
| "libproto_build_tools", |
| "libva_test_src_lib", |
| "proto_build_tools_test_src_lib", |
| // Flaky with ENOMEM. We don't use io_uring yet, so turning it off for now. |
| "io_uring_test_tests_uring", |
| // These are all tests that cargo2android.py ignored, probably because the |
| // `cargo test` run reported 0 tests. |
| // TODO: replicate the empty test detection if this list is annoying to maintain. |
| "aarch64_test_src_lib", |
| "anti_tamper_test_src_lib", |
| "argh_helpers_test_src_lib", |
| "balloon_control_test_src_lib", |
| "bit_field_derive_test_bit_field_derive", |
| "bit_field_test_src_lib", |
| "broker_ipc_test_src_lib", |
| "crash_report_test_src_lib", |
| "cros_tracing_test_src_lib", |
| "crosvm_cli_test_src_lib", |
| "crosvm_control_test_src_lib", |
| "crosvm_test_tests_plugins", |
| "gpu_display_test_examples_simple", |
| "gpu_display_test_examples_simple_open", |
| "gpu_display_test_src_lib", |
| "hypervisor_test_src_lib", |
| "hypervisor_test_tests_mmio_fetch_memory", |
| "io_uring_test_src_lib", |
| "kvm_sys_test_src_lib", |
| "kvm_test_src_lib", |
| "libcras_test_src_libcras", |
| "linux_input_sys_test_src_lib", |
| "metrics_test_src_lib", |
| "net_sys_test_src_lib", |
| "power_monitor_test_src_lib", |
| "prebuilts_test_src_lib", |
| "protos_test_src_lib", |
| "serde_keyvalue_derive_test_src_lib", |
| "sync_test_src_lib", |
| "usb_sys_test_src_lib", |
| "vfio_sys_test_src_lib", |
| "vhost_test_src_lib", |
| "virtio_sys_test_src_lib", |
| "wire_format_derive_test_wire_format_derive" |
| ], |
| "module_visibility": { |
| "crosvm": [ |
| "//visibility:public" |
| ], |
| "libaarch64": [ |
| // For QCOM's crosvm fork. |
| "//vendor:__subpackages__" |
| ], |
| "libbase_rust": [ |
| "//packages/modules/Virtualization/virtualizationmanager", |
| // For QCOM's crosvm fork. |
| "//vendor:__subpackages__" |
| ], |
| "libdata_model": [ |
| "//external/libchromeos-rs", |
| "//packages/modules/Virtualization/apkdmverity", |
| "//packages/modules/Virtualization/libs/devicemapper" |
| ], |
| "libdevices": [ |
| // For QCOM's crosvm fork. |
| "//vendor:__subpackages__" |
| ], |
| "libdisk": [ |
| "//packages/modules/Virtualization/virtualizationmanager", |
| // For QCOM's crosvm fork. |
| "//vendor:__subpackages__" |
| ], |
| "libfuse_rust": [ |
| "//packages/modules/Virtualization/authfs", |
| "//packages/modules/Virtualization/zipfuse" |
| ], |
| "libhypervisor": [ |
| // For QCOM's crosvm fork. |
| "//vendor:__subpackages__" |
| ], |
| "libsync_rust": [ |
| // For QCOM's crosvm fork. |
| "//vendor:__subpackages__" |
| ], |
| "libvm_control": [ |
| "//packages/modules/Virtualization/virtualizationmanager" |
| ], |
| "libvm_memory": [ |
| // For QCOM's crosvm fork. |
| "//vendor:__subpackages__" |
| ] |
| }, |
| "package": { |
| "aarch64": { |
| "add_module_block": "aarch64/cargo2android_arch.bp" |
| }, |
| "base": { |
| "patch": "base/patches/Android.bp.patch", |
| "dep_blocklist": [ |
| // "libtest_mimic" is needed for "base_test_tests_process" which is |
| // currently ignored by cargo_embargo because it is a "harness-less" |
| // test. cargo_embargo incorrectly thinks the dependency is needed for |
| // other tests in the "process" package, so we need to manually block |
| // it here. |
| "liblibtest_mimic" |
| ] |
| }, |
| "base_event_token_derive": { |
| // TODO: This is a proc macro crate. Should disable device tests by default for them. |
| "device_supported": false |
| }, |
| "cros_async": { |
| "no_presubmit": true |
| }, |
| "crosvm": { |
| "no_presubmit": true, |
| "add_toplevel_block": "cargo2android_defaults.bp", |
| "add_module_block": "cargo2android_module.bp.patch", |
| // Keep cargo2android from adding ISA specific deps so that we can add them |
| // correctly via patches. |
| "dep_blocklist": [ |
| "libx86_64_rust", |
| "libaarch64_rust" |
| ], |
| "patch": "patches/Android.bp.patch" |
| }, |
| "crosvm_control": { |
| "patch": "crosvm_control/cargo2android.bp.patch" |
| }, |
| "devices": { |
| "no_presubmit": true, |
| "add_module_block": "devices/cargo2android_libs.bp.patch", |
| "dep_blocklist": [ |
| // See the comment for base's "dep_blocklist" above (in this case |
| // "devices_test_tests_passthroughfs_main" is the culprit). |
| "liblibtest_mimic" |
| ] |
| }, |
| "disk": { |
| "patch": "disk/patches/Android.bp.patch" |
| }, |
| "gpu_display": { |
| "add_toplevel_block": "gpu_display/cargo2android.bp", |
| "patch": "gpu_display/patches/Android.bp.patch" |
| }, |
| "hypervisor": { |
| "no_presubmit": true |
| }, |
| "io_uring": { |
| "no_presubmit": true |
| }, |
| "kvm": { |
| "no_presubmit": true |
| }, |
| "kvm_sys": { |
| "no_presubmit": true |
| }, |
| "metrics": { |
| "copy_out": true |
| }, |
| "net_util": { |
| "no_presubmit": true |
| }, |
| "power_monitor": { |
| "copy_out": true |
| }, |
| "protos": { |
| "add_toplevel_block": "protos/cargo2android_protobuf.bp", |
| "patch": "protos/patches/Android.bp.patch" |
| }, |
| "rutabaga_gfx": { |
| "patch": "rutabaga_gfx/patches/Android.bp.patch" |
| }, |
| "vhost": { |
| "no_presubmit": true |
| }, |
| "vm_control": { |
| "add_module_block": "vm_control/cargo2android.bp.patch" |
| }, |
| "x86_64": { |
| "no_presubmit": true, |
| "add_module_block": "x86_64/cargo2android_gdb.bp.patch" |
| } |
| } |
| } |