• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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    "media",
32    "net",
33    "qcow",
34    "usb",
35    "virgl_renderer"
36  ],
37  "workspace": true,
38  "workspace_excludes": [
39    "audio_streams_conformance_test",
40    "baremetal",
41    "catapult_converter",
42    "cros_asyncv2",
43    "cros_fuzz",
44    "crosvm-fuzz",
45    "crosvm_plugin",
46    "delegate",
47    "e2e_tests",
48    "ffmpeg",
49    "fixture",
50    "gpu_buffer",
51    "libva",
52    "libvda",
53    "p9-fuzz",
54    "prebuilts",
55    "proto_build_tools",
56    "qcow_utils",
57    "rutabaga_gfx_ffi",
58    "sandbox",
59    "swap",
60    "system_api",
61    "tpm2",
62    "tpm2-sys",
63    "tube_transporter",
64    "win_audio",
65    "win_util"
66  ],
67  "global_defaults": "crosvm_defaults",
68  "apex_available": ["com.android.virt"],
69  "product_available": false,
70  "vendor_available": false,
71  "module_name_overrides": {
72    "libbase": "libbase_rust",
73    "libbase64": "libbase64_rust",
74    "libbit_field": "libbit_field_crosvm",
75    "libfuse": "libfuse_rust",
76    "liblog": "liblog_rust",
77    "libminijail": "libminijail_rust",
78    "libsnapshot": "libsnapshot_crosvm",
79    "libsync": "libsync_rust",
80    "libx86_64": "libx86_64_rust"
81  },
82  "module_blocklist": [
83    // TODO: These are all for workspace_excludes package. Maybe use the option to
84    // also block all blueprint modules for excluded packages.
85    "libprebuilts",
86    "libproto_build_tools",
87    // Requires ext2 tools in $PATH. We don't use it.
88    "ext2_test_tests_tests",
89    // Flaky with ENOMEM. We don't use io_uring yet, so turning it off for now.
90    "io_uring_test_tests_uring"
91  ],
92  "module_visibility": {
93    "crosvm": [
94      "//visibility:public"
95    ],
96    "libcrosvm_control_static": [
97      "//packages/modules/Virtualization/android/virtmgr"
98    ],
99    "libdisk": [
100      "//packages/modules/Virtualization/android/virtmgr"
101    ],
102    "libfuse_rust": [
103        "//packages/modules/Virtualization/guest/authfs",
104        "//packages/modules/Virtualization/guest/zipfuse",
105        "//packages/modules/Virtualization/tests/authfs"
106    ]
107  },
108  "package": {
109    "aarch64": {
110      "add_module_block": "aarch64/cargo2android_arch.bp"
111    },
112    "android_audio": {
113      "patch": "android_audio/patches/Android.bp.patch"
114    },
115    "base": {
116      "patch": "base/patches/Android.bp.patch",
117      "dep_blocklist": [
118        // "libtest_mimic" is needed for "base_test_tests_process" which is
119        // currently ignored by cargo_embargo because it is a "harness-less"
120        // test. cargo_embargo incorrectly thinks the dependency is needed for
121        // other tests in the "process" package, so we need to manually block
122        // it here.
123        "liblibtest_mimic"
124      ]
125    },
126    "base_event_token_derive": {
127      // TODO: This is a proc macro crate. Should disable device tests by default for them.
128      "device_supported": false
129    },
130    "bit_field_derive": {
131      // TODO: This is a proc macro crate. Should disable device tests by default for them.
132      "device_supported": false
133    },
134    "cros_async": {
135      "no_presubmit": true
136    },
137    "crosvm": {
138      "no_presubmit": true,
139      "add_toplevel_block": "cargo2android_defaults.bp",
140      "add_module_block": "cargo2android_module.bp.patch",
141      // Keep cargo2android from adding ISA specific deps so that we can add them
142      // correctly via patches.
143      "dep_blocklist": [
144        "libx86_64",
145        "libaarch64"
146      ],
147      "patch": "patches/Android.bp.patch"
148    },
149    "crosvm_control": {
150      "patch": "crosvm_control/cargo2android.bp.patch"
151    },
152    "devices": {
153      "no_presubmit": true,
154      "dep_blocklist": [
155        // See the comment for base's "dep_blocklist" above (in this case
156        // "devices_test_tests_passthroughfs_main" is the culprit).
157        "liblibtest_mimic"
158      ]
159    },
160    "disk": {
161      "patch": "disk/patches/Android.bp.patch"
162    },
163    "gpu_display": {
164      "add_toplevel_block": "gpu_display/cargo2android.bp",
165      "patch": "gpu_display/patches/Android.bp.patch"
166    },
167    "hypervisor": {
168      "no_presubmit": true
169    },
170    "io_uring": {
171      "no_presubmit": true
172    },
173    "kvm": {
174      "no_presubmit": true
175    },
176    "kvm_sys": {
177      "no_presubmit": true
178    },
179    "net_util": {
180      "no_presubmit": true
181    },
182    "power_monitor": {
183      "copy_out": true
184    },
185    "protos": {
186      "add_toplevel_block": "protos/cargo2android_protobuf.bp",
187      "patch": "protos/patches/Android.bp.patch"
188    },
189    "rutabaga_gfx": {
190      "add_toplevel_block": "rutabaga_gfx/Android.bp.extra",
191      "patch": "rutabaga_gfx/patches/Android.bp.patch",
192      "dep_blocklist": [
193        "libEGL",
194        "libGL",
195        "libX11",
196        "libXau",
197        "libXdmcp",
198        "libdl",
199        "libdrm",
200        "libgbm",
201        "libm",
202        "libpthread",
203        "libxcb"
204      ]
205    },
206    "vhost": {
207      "no_presubmit": true
208    },
209    "wire_format_derive": {
210      // TODO: This is a proc macro crate. Should disable device tests by default for them.
211      "device_supported": false
212    },
213    "x86_64": {
214      "no_presubmit": true,
215      "add_module_block": "x86_64/cargo2android_gdb.bp.patch"
216    }
217  }
218}
219