• 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    // 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