{ "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" } } }