• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "tests": true,
3  "features": [
4    "android-sparse",
5    "audio",
6    "balloon",
7    // TODO: The "protos" crate has been modified such that it doesn't work with cargo. If we fix that,
8    // we can remove a some patch files and enable "composite-disk" here.
9    // "composite-disk",
10    "gdb",
11    "geniezone",
12    "gunyah",
13    "qcow",
14    "usb",
15    // TODO: Enable these in the root crate instead. May be difficult because of host-vs-device
16    // difference that are handled in patches in, e.g., the "devices" crate.
17    "rutabaga_gfx/virgl_renderer",
18    "rutabaga_gfx/virgl_renderer_next"
19  ],
20  "workspace": true,
21  "workspace_excludes": [
22    "audio_streams_conformance_test",
23    "baremetal",
24    "catapult_converter",
25    "cros_asyncv2",
26    "cros_fuzz",
27    "crosvm-fuzz",
28    "crosvm_plugin",
29    "e2e_tests",
30    "ffmpeg",
31    "fixture",
32    "gpu_buffer",
33    "libva",
34    "libvda",
35    "p9-fuzz",
36    "prebuilts",
37    "proto_build_tools",
38    "qcow_utils",
39    "rutabaga_gfx_ffi",
40    "sandbox",
41    "swap",
42    "system_api",
43    "tpm2",
44    "tpm2-sys",
45    "tube_transporter",
46    "win_audio",
47    "win_util"
48  ],
49  "global_defaults": "crosvm_inner_defaults",
50  "apex_available": [],
51  "module_name_overrides": {
52    "libbase": "libbase_rust",
53    "libbase64": "libbase64_rust",
54    "libfuse": "libfuse_rust",
55    "liblog": "liblog_rust",
56    "libminijail": "libminijail_rust",
57    "libprotobuf": "libprotobuf_deprecated",
58    "libsync": "libsync_rust",
59    "libx86_64": "libx86_64_rust"
60  },
61  "module_blocklist": [
62    // TODO: These are all for workspace_excludes package. Maybe use the option to
63    // also block all blueprint modules for excluded packages.
64    "liblibva",
65    "libprebuilts",
66    "libproto_build_tools",
67    "libva_test_src_lib",
68    "proto_build_tools_test_src_lib",
69    // Flaky with ENOMEM. We don't use io_uring yet, so turning it off for now.
70    "io_uring_test_tests_uring",
71    // These are all tests that cargo2android.py ignored, probably because the
72    // `cargo test` run reported 0 tests.
73    // TODO: replicate the empty test detection if this list is annoying to maintain.
74    "aarch64_test_src_lib",
75    "anti_tamper_test_src_lib",
76    "argh_helpers_test_src_lib",
77    "balloon_control_test_src_lib",
78    "bit_field_derive_test_bit_field_derive",
79    "bit_field_test_src_lib",
80    "broker_ipc_test_src_lib",
81    "crash_report_test_src_lib",
82    "cros_tracing_test_src_lib",
83    "crosvm_cli_test_src_lib",
84    "crosvm_control_test_src_lib",
85    "crosvm_test_tests_plugins",
86    "gpu_display_test_examples_simple",
87    "gpu_display_test_examples_simple_open",
88    "gpu_display_test_src_lib",
89    "hypervisor_test_src_lib",
90    "hypervisor_test_tests_mmio_fetch_memory",
91    "io_uring_test_src_lib",
92    "kvm_sys_test_src_lib",
93    "kvm_test_src_lib",
94    "libcras_test_src_libcras",
95    "linux_input_sys_test_src_lib",
96    "metrics_test_src_lib",
97    "net_sys_test_src_lib",
98    "power_monitor_test_src_lib",
99    "prebuilts_test_src_lib",
100    "protos_test_src_lib",
101    "serde_keyvalue_derive_test_src_lib",
102    "sync_test_src_lib",
103    "usb_sys_test_src_lib",
104    "vfio_sys_test_src_lib",
105    "vhost_test_src_lib",
106    "virtio_sys_test_src_lib",
107    "wire_format_derive_test_wire_format_derive"
108  ],
109  "module_visibility": {
110    "crosvm": [
111      "//visibility:public"
112    ],
113    "libaarch64": [
114      // For QCOM's crosvm fork.
115      "//vendor:__subpackages__"
116    ],
117    "libbase_rust": [
118      "//packages/modules/Virtualization/virtualizationmanager",
119      // For QCOM's crosvm fork.
120      "//vendor:__subpackages__"
121    ],
122    "libdata_model": [
123      "//external/libchromeos-rs",
124      "//packages/modules/Virtualization/apkdmverity",
125      "//packages/modules/Virtualization/libs/devicemapper"
126    ],
127    "libdevices": [
128      // For QCOM's crosvm fork.
129      "//vendor:__subpackages__"
130    ],
131    "libdisk": [
132      "//packages/modules/Virtualization/virtualizationmanager",
133      // For QCOM's crosvm fork.
134      "//vendor:__subpackages__"
135    ],
136    "libfuse_rust": [
137        "//packages/modules/Virtualization/authfs",
138        "//packages/modules/Virtualization/zipfuse"
139    ],
140    "libhypervisor": [
141      // For QCOM's crosvm fork.
142      "//vendor:__subpackages__"
143    ],
144    "libsync_rust": [
145      // For QCOM's crosvm fork.
146      "//vendor:__subpackages__"
147    ],
148    "libvm_control": [
149      "//packages/modules/Virtualization/virtualizationmanager"
150    ],
151    "libvm_memory": [
152      // For QCOM's crosvm fork.
153      "//vendor:__subpackages__"
154    ]
155  },
156  "package": {
157    "aarch64": {
158      "add_module_block": "aarch64/cargo2android_arch.bp"
159    },
160    "base": {
161      "patch": "base/patches/Android.bp.patch",
162      "dep_blocklist": [
163        // "libtest_mimic" is needed for "base_test_tests_process" which is
164        // currently ignored by cargo_embargo because it is a "harness-less"
165        // test. cargo_embargo incorrectly thinks the dependency is needed for
166        // other tests in the "process" package, so we need to manually block
167        // it here.
168        "liblibtest_mimic"
169      ]
170    },
171    "base_event_token_derive": {
172      // TODO: This is a proc macro crate. Should disable device tests by default for them.
173      "device_supported": false
174    },
175    "cros_async": {
176      "no_presubmit": true
177    },
178    "crosvm": {
179      "no_presubmit": true,
180      "add_toplevel_block": "cargo2android_defaults.bp",
181      "add_module_block": "cargo2android_module.bp.patch",
182      // Keep cargo2android from adding ISA specific deps so that we can add them
183      // correctly via patches.
184      "dep_blocklist": [
185        "libx86_64_rust",
186        "libaarch64_rust"
187      ],
188      "patch": "patches/Android.bp.patch"
189    },
190    "crosvm_control": {
191      "patch": "crosvm_control/cargo2android.bp.patch"
192    },
193    "devices": {
194      "no_presubmit": true,
195      "add_module_block": "devices/cargo2android_libs.bp.patch",
196      "dep_blocklist": [
197        // See the comment for base's "dep_blocklist" above (in this case
198        // "devices_test_tests_passthroughfs_main" is the culprit).
199        "liblibtest_mimic"
200      ]
201    },
202    "disk": {
203      "patch": "disk/patches/Android.bp.patch"
204    },
205    "gpu_display": {
206      "add_toplevel_block": "gpu_display/cargo2android.bp",
207      "patch": "gpu_display/patches/Android.bp.patch"
208    },
209    "hypervisor": {
210      "no_presubmit": true
211    },
212    "io_uring": {
213      "no_presubmit": true
214    },
215    "kvm": {
216      "no_presubmit": true
217    },
218    "kvm_sys": {
219      "no_presubmit": true
220    },
221    "metrics": {
222      "copy_out": true
223    },
224    "net_util": {
225      "no_presubmit": true
226    },
227    "power_monitor": {
228      "copy_out": true
229    },
230    "protos": {
231      "add_toplevel_block": "protos/cargo2android_protobuf.bp",
232      "patch": "protos/patches/Android.bp.patch"
233    },
234    "rutabaga_gfx": {
235      "patch": "rutabaga_gfx/patches/Android.bp.patch"
236    },
237    "vhost": {
238      "no_presubmit": true
239    },
240    "vm_control": {
241      "add_module_block": "vm_control/cargo2android.bp.patch"
242    },
243    "x86_64": {
244      "no_presubmit": true,
245      "add_module_block": "x86_64/cargo2android_gdb.bp.patch"
246    }
247  }
248}
249