blob: 9951937be6f72983383cb5a4e42ab4f175cc5c93 [file] [log] [blame]
Ivan Lozanoffee3342019-08-27 12:03:00 -07001// Copyright (C) 2019 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package rust
16
17import (
18 "android/soong/android"
Thiébaud Weksteene4dd14b2021-04-14 11:18:47 +020019 "android/soong/bloaty"
Ivan Lozanob9040d62019-09-24 13:23:50 -070020 "android/soong/cc"
Ivan Lozanoffee3342019-08-27 12:03:00 -070021)
22
Paul Duffindb488892021-03-11 11:48:35 +000023// Preparer that will define all cc module types and a limited set of mutators and singletons that
24// make those module types usable.
25var PrepareForTestWithRustBuildComponents = android.GroupFixturePreparers(
Paul Duffin9e0c3f92021-03-30 22:45:21 +010026 android.FixtureRegisterWithContext(registerRequiredBuildComponentsForTest),
Paul Duffindb488892021-03-11 11:48:35 +000027)
28
29// The directory in which rust test default modules will be defined.
30//
31// Placing them here ensures that their location does not conflict with default test modules
32// defined by other packages.
33const rustDefaultsDir = "defaults/rust/"
34
35// Preparer that will define default rust modules, e.g. standard prebuilt modules.
36var PrepareForTestWithRustDefaultModules = android.GroupFixturePreparers(
37 cc.PrepareForTestWithCcDefaultModules,
Thiébaud Weksteene4dd14b2021-04-14 11:18:47 +020038 bloaty.PrepareForTestWithBloatyDefaultModules,
Paul Duffindb488892021-03-11 11:48:35 +000039 PrepareForTestWithRustBuildComponents,
40 android.FixtureAddTextFile(rustDefaultsDir+"Android.bp", GatherRequiredDepsForTest()),
41)
42
43// Preparer that will allow use of all rust modules fully.
44var PrepareForIntegrationTestWithRust = android.GroupFixturePreparers(
45 PrepareForTestWithRustDefaultModules,
46)
47
Ivan Lozano1921e802021-05-20 13:39:16 -040048var PrepareForTestWithRustIncludeVndk = android.GroupFixturePreparers(
49 PrepareForIntegrationTestWithRust,
50 cc.PrepareForTestWithCcIncludeVndk,
51)
52
Ivan Lozanoffee3342019-08-27 12:03:00 -070053func GatherRequiredDepsForTest() string {
54 bp := `
Sam Delmericoa588d152023-06-16 10:28:04 -040055 prebuilt_build_tool {
56 name: "rustc",
57 src: "linux-x86/1.69.0/bin/rustc",
58 deps: [
59 "linux-x86/1.69.0/lib/libstd.so",
60 "linux-x86/1.69.0/lib64/libc++.so.1",
61 ],
62 }
63 prebuilt_build_tool {
64 name: "clippy-driver",
65 src: "linux-x86/1.69.0/bin/clippy-driver",
66 }
67 prebuilt_build_tool {
68 name: "rustdoc",
69 src: "linux-x86/1.69.0/bin/rustdoc",
70 }
Matthew Maurerc761eec2020-06-25 00:47:46 -070071 rust_prebuilt_library {
Ivan Lozanofba2aa22021-11-11 09:29:07 -050072 name: "libstd",
73 crate_name: "std",
74 rlib: {
75 srcs: ["libstd.rlib"],
76 },
77 dylib: {
78 srcs: ["libstd.so"],
79 },
Thiébaud Weksteen83ee52f2020-08-05 09:29:23 +020080 host_supported: true,
Ivan Lozano2b081132020-09-08 12:46:52 -040081 sysroot: true,
Sam Delmericoa588d152023-06-16 10:28:04 -040082 rlibs: [
83 "libaddr2line",
84 "libadler",
85 "liballoc",
86 "libcfg_if",
87 "libcompiler_builtins",
88 "libcore",
89 "libgimli",
90 "libhashbrown",
91 "liblibc",
92 "libmemchr",
93 "libminiz_oxide",
94 "libobject",
95 "libpanic_unwind",
96 "librustc_demangle",
97 "librustc_std_workspace_alloc",
98 "librustc_std_workspace_core",
99 "libstd_detect",
100 ],
Thiébaud Weksteen83ee52f2020-08-05 09:29:23 +0200101 }
Ivan Lozanob9040d62019-09-24 13:23:50 -0700102 //////////////////////////////
103 // Device module requirements
104
Ivan Lozanob9040d62019-09-24 13:23:50 -0700105 cc_library {
106 name: "liblog",
107 no_libcrt: true,
108 nocrt: true,
109 system_shared_libs: [],
Jiyong Park99644e92020-11-17 22:21:02 +0900110 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
Ivan Lozano3e9f9e42020-12-04 15:05:43 -0500111 min_sdk_version: "29",
Ivan Lozanoc08897c2021-04-02 12:41:32 -0400112 vendor_available: true,
Ivan Lozanoc2ca1ee2021-11-09 16:23:40 -0500113 recovery_available: true,
Ivan Lozano3149e6e2021-06-01 15:09:53 -0400114 llndk: {
115 symbol_file: "liblog.map.txt",
116 },
Ivan Lozanob9040d62019-09-24 13:23:50 -0700117 }
Zach Johnson3df4e632020-11-06 11:56:27 -0800118 cc_library {
119 name: "libprotobuf-cpp-full",
120 no_libcrt: true,
121 nocrt: true,
122 system_shared_libs: [],
123 export_include_dirs: ["libprotobuf-cpp-full-includes"],
124 }
Ivan Lozano6cd99e62020-02-11 08:24:25 -0500125 cc_library {
Colin Cross4c4c1be2022-02-10 11:41:18 -0800126 name: "libclang_rt.asan",
Ivan Lozano6cd99e62020-02-11 08:24:25 -0500127 no_libcrt: true,
128 nocrt: true,
129 system_shared_libs: [],
Ivan Lozano5482d6a2021-11-01 10:13:25 -0400130 }
131 cc_library {
Colin Cross4c4c1be2022-02-10 11:41:18 -0800132 name: "libclang_rt.hwasan_static",
Ivan Lozano5482d6a2021-11-01 10:13:25 -0400133 no_libcrt: true,
134 nocrt: true,
135 system_shared_libs: [],
Ivan Lozano6cd99e62020-02-11 08:24:25 -0500136 }
Sam Delmericoa588d152023-06-16 10:28:04 -0400137 rust_library_rlib {
138 name: "libaddr2line",
139 crate_name: "addr2line",
140 enabled:true,
141 srcs: ["foo.rs"],
142 no_stdlibs: true,
143 product_available: true,
144 host_supported: true,
145 vendor_available: true,
146 vendor_ramdisk_available: true,
147 recovery_available: true,
148 native_coverage: false,
149 sysroot: true,
150 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
151 min_sdk_version: "29",
152 }
153 rust_library_rlib {
154 name: "libadler",
155 crate_name: "adler",
156 enabled:true,
157 srcs: ["foo.rs"],
158 no_stdlibs: true,
159 product_available: true,
160 host_supported: true,
161 vendor_available: true,
162 vendor_ramdisk_available: true,
163 recovery_available: true,
164 native_coverage: false,
165 sysroot: true,
166 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
167 min_sdk_version: "29",
168 }
169 rust_library_rlib {
170 name: "liballoc",
171 crate_name: "alloc",
172 enabled:true,
173 srcs: ["foo.rs"],
174 no_stdlibs: true,
175 product_available: true,
176 host_supported: true,
177 vendor_available: true,
178 vendor_ramdisk_available: true,
179 recovery_available: true,
180 native_coverage: false,
181 sysroot: true,
182 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
183 min_sdk_version: "29",
184 }
185 rust_library_rlib {
186 name: "libcfg_if",
187 crate_name: "cfg_if",
188 enabled:true,
189 srcs: ["foo.rs"],
190 no_stdlibs: true,
191 product_available: true,
192 host_supported: true,
193 vendor_available: true,
194 vendor_ramdisk_available: true,
195 recovery_available: true,
196 native_coverage: false,
197 sysroot: true,
198 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
199 min_sdk_version: "29",
200 }
201 rust_library_rlib {
202 name: "libcompiler_builtins",
203 crate_name: "compiler_builtins",
204 enabled:true,
205 srcs: ["foo.rs"],
206 no_stdlibs: true,
207 product_available: true,
208 host_supported: true,
209 vendor_available: true,
210 vendor_ramdisk_available: true,
211 recovery_available: true,
212 native_coverage: false,
213 sysroot: true,
214 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
215 min_sdk_version: "29",
216 }
217 rust_library_rlib {
218 name: "libcore",
219 crate_name: "core",
220 enabled:true,
221 srcs: ["foo.rs"],
222 no_stdlibs: true,
223 product_available: true,
224 host_supported: true,
225 vendor_available: true,
226 vendor_ramdisk_available: true,
227 recovery_available: true,
228 native_coverage: false,
229 sysroot: true,
230 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
231 min_sdk_version: "29",
232 }
233 rust_library_rlib {
234 name: "libgimli",
235 crate_name: "gimli",
236 enabled:true,
237 srcs: ["foo.rs"],
238 no_stdlibs: true,
239 product_available: true,
240 host_supported: true,
241 vendor_available: true,
242 vendor_ramdisk_available: true,
243 recovery_available: true,
244 native_coverage: false,
245 sysroot: true,
246 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
247 min_sdk_version: "29",
248 }
249 rust_library_rlib {
250 name: "libhashbrown",
251 crate_name: "hashbrown",
252 enabled:true,
253 srcs: ["foo.rs"],
254 no_stdlibs: true,
255 product_available: true,
256 host_supported: true,
257 vendor_available: true,
258 vendor_ramdisk_available: true,
259 recovery_available: true,
260 native_coverage: false,
261 sysroot: true,
262 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
263 min_sdk_version: "29",
264 }
265 rust_library_rlib {
266 name: "liblibc",
267 crate_name: "libc",
268 enabled:true,
269 srcs: ["foo.rs"],
270 no_stdlibs: true,
271 product_available: true,
272 host_supported: true,
273 vendor_available: true,
274 vendor_ramdisk_available: true,
275 recovery_available: true,
276 native_coverage: false,
277 sysroot: true,
278 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
279 min_sdk_version: "29",
280 }
281 rust_library_rlib {
282 name: "libmemchr",
283 crate_name: "memchr",
284 enabled:true,
285 srcs: ["foo.rs"],
286 no_stdlibs: true,
287 product_available: true,
288 host_supported: true,
289 vendor_available: true,
290 vendor_ramdisk_available: true,
291 recovery_available: true,
292 native_coverage: false,
293 sysroot: true,
294 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
295 min_sdk_version: "29",
296 }
297 rust_library_rlib {
298 name: "libminiz_oxide",
299 crate_name: "miniz_oxide",
300 enabled:true,
301 srcs: ["foo.rs"],
302 no_stdlibs: true,
303 product_available: true,
304 host_supported: true,
305 vendor_available: true,
306 vendor_ramdisk_available: true,
307 recovery_available: true,
308 native_coverage: false,
309 sysroot: true,
310 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
311 min_sdk_version: "29",
312 }
313 rust_library_rlib {
314 name: "libobject",
315 crate_name: "object",
316 enabled:true,
317 srcs: ["foo.rs"],
318 no_stdlibs: true,
319 product_available: true,
320 host_supported: true,
321 vendor_available: true,
322 vendor_ramdisk_available: true,
323 recovery_available: true,
324 native_coverage: false,
325 sysroot: true,
326 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
327 min_sdk_version: "29",
328 }
329 rust_library_rlib {
330 name: "libpanic_unwind",
331 crate_name: "panic_unwind",
332 enabled:true,
333 srcs: ["foo.rs"],
334 no_stdlibs: true,
335 product_available: true,
336 host_supported: true,
337 vendor_available: true,
338 vendor_ramdisk_available: true,
339 recovery_available: true,
340 native_coverage: false,
341 sysroot: true,
342 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
343 min_sdk_version: "29",
344 }
345 rust_library_rlib {
346 name: "librustc_demangle",
347 crate_name: "rustc_demangle",
348 enabled:true,
349 srcs: ["foo.rs"],
350 no_stdlibs: true,
351 product_available: true,
352 host_supported: true,
353 vendor_available: true,
354 vendor_ramdisk_available: true,
355 recovery_available: true,
356 native_coverage: false,
357 sysroot: true,
358 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
359 min_sdk_version: "29",
360 }
361 rust_library_rlib {
362 name: "librustc_std_workspace_alloc",
363 crate_name: "rustc_std_workspace_alloc",
364 enabled:true,
365 srcs: ["foo.rs"],
366 no_stdlibs: true,
367 product_available: true,
368 host_supported: true,
369 vendor_available: true,
370 vendor_ramdisk_available: true,
371 recovery_available: true,
372 native_coverage: false,
373 sysroot: true,
374 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
375 min_sdk_version: "29",
376 }
377 rust_library_rlib {
378 name: "librustc_std_workspace_core",
379 crate_name: "rustc_std_workspace_core",
380 enabled:true,
381 srcs: ["foo.rs"],
382 no_stdlibs: true,
383 product_available: true,
384 host_supported: true,
385 vendor_available: true,
386 vendor_ramdisk_available: true,
387 recovery_available: true,
388 native_coverage: false,
389 sysroot: true,
390 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
391 min_sdk_version: "29",
392 }
393 rust_library_rlib {
394 name: "libstd_detect",
395 crate_name: "std_detect",
396 enabled:true,
397 srcs: ["foo.rs"],
398 no_stdlibs: true,
399 product_available: true,
400 host_supported: true,
401 vendor_available: true,
402 vendor_ramdisk_available: true,
403 recovery_available: true,
404 native_coverage: false,
405 sysroot: true,
406 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
407 min_sdk_version: "29",
408 }
Matthew Maurerc761eec2020-06-25 00:47:46 -0700409 rust_library {
Ivan Lozano2f15bae2020-04-09 09:32:15 -0400410 name: "libstd",
411 crate_name: "std",
412 srcs: ["foo.rs"],
413 no_stdlibs: true,
Matthew Maurer993db7a2023-01-24 16:36:02 -0800414 product_available: true,
Ivan Lozano9d1df102020-04-28 10:10:23 -0400415 host_supported: true,
Ivan Lozano6a884432020-12-02 09:15:16 -0500416 vendor_available: true,
Ivan Lozanoe6d30982021-02-05 10:57:43 -0500417 vendor_ramdisk_available: true,
Ivan Lozanoc2ca1ee2021-11-09 16:23:40 -0500418 recovery_available: true,
Ivan Lozano699e2182021-03-22 14:29:47 -0400419 native_coverage: false,
Ivan Lozano2b081132020-09-08 12:46:52 -0400420 sysroot: true,
Jiyong Park99644e92020-11-17 22:21:02 +0900421 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
Ivan Lozano3e9f9e42020-12-04 15:05:43 -0500422 min_sdk_version: "29",
Sam Delmericoa588d152023-06-16 10:28:04 -0400423 rlibs: [
424 "libaddr2line",
425 "libadler",
426 "liballoc",
427 "libcfg_if",
428 "libcompiler_builtins",
429 "libcore",
430 "libgimli",
431 "libhashbrown",
432 "liblibc",
433 "libmemchr",
434 "libminiz_oxide",
435 "libobject",
436 "libpanic_unwind",
437 "librustc_demangle",
438 "librustc_std_workspace_alloc",
439 "librustc_std_workspace_core",
440 "libstd_detect",
441 ],
Ivan Lozano2f15bae2020-04-09 09:32:15 -0400442 }
Matthew Maurerc761eec2020-06-25 00:47:46 -0700443 rust_library {
Ivan Lozano2f15bae2020-04-09 09:32:15 -0400444 name: "libtest",
445 crate_name: "test",
446 srcs: ["foo.rs"],
Ivan Lozano9d1df102020-04-28 10:10:23 -0400447 host_supported: true,
Ivan Lozano6a884432020-12-02 09:15:16 -0500448 vendor_available: true,
Ivan Lozanoe6d30982021-02-05 10:57:43 -0500449 vendor_ramdisk_available: true,
Ivan Lozanoc2ca1ee2021-11-09 16:23:40 -0500450 recovery_available: true,
Ivan Lozano699e2182021-03-22 14:29:47 -0400451 native_coverage: false,
Jiyong Park99644e92020-11-17 22:21:02 +0900452 apex_available: ["//apex_available:platform", "//apex_available:anyapex"],
Ivan Lozano3e9f9e42020-12-04 15:05:43 -0500453 min_sdk_version: "29",
Ivan Lozano2f15bae2020-04-09 09:32:15 -0400454 }
Treehugger Robot588aae72020-08-21 10:01:58 +0000455 rust_library {
Jeff Vander Stoepc1490ec2023-04-24 11:28:25 +0200456 name: "libprotobuf",
457 crate_name: "protobuf",
458 srcs: ["foo.rs"],
459 host_supported: true,
460 }
461 rust_library {
Jeff Vander Stoep91c04662023-03-22 15:09:00 +0100462 name: "libprotobuf_deprecated",
Treehugger Robot588aae72020-08-21 10:01:58 +0000463 crate_name: "protobuf",
464 srcs: ["foo.rs"],
465 host_supported: true,
466 }
Zach Johnson3df4e632020-11-06 11:56:27 -0800467 rust_library {
468 name: "libgrpcio",
469 crate_name: "grpcio",
470 srcs: ["foo.rs"],
471 host_supported: true,
472 }
473 rust_library {
474 name: "libfutures",
475 crate_name: "futures",
476 srcs: ["foo.rs"],
477 host_supported: true,
478 }
Ivan Lozano6cd99e62020-02-11 08:24:25 -0500479 rust_library {
480 name: "liblibfuzzer_sys",
481 crate_name: "libfuzzer_sys",
482 srcs:["foo.rs"],
483 host_supported: true,
484 }
Jakub Kotur1d640d02021-01-06 12:40:43 +0100485 rust_library {
486 name: "libcriterion",
487 crate_name: "criterion",
488 srcs:["foo.rs"],
489 host_supported: true,
490 }
Jiyong Park99644e92020-11-17 22:21:02 +0900491`
Ivan Lozanoffee3342019-08-27 12:03:00 -0700492 return bp
493}
494
Paul Duffin9e0c3f92021-03-30 22:45:21 +0100495func registerRequiredBuildComponentsForTest(ctx android.RegistrationContext) {
Jakub Kotur1d640d02021-01-06 12:40:43 +0100496 ctx.RegisterModuleType("rust_benchmark", RustBenchmarkFactory)
497 ctx.RegisterModuleType("rust_benchmark_host", RustBenchmarkHostFactory)
Colin Cross4b49b762019-11-22 15:25:03 -0800498 ctx.RegisterModuleType("rust_binary", RustBinaryFactory)
499 ctx.RegisterModuleType("rust_binary_host", RustBinaryHostFactory)
Ivan Lozano4fef93c2020-07-08 08:39:44 -0400500 ctx.RegisterModuleType("rust_bindgen", RustBindgenFactory)
Thiébaud Weksteena6351ca2020-09-29 09:53:21 +0200501 ctx.RegisterModuleType("rust_bindgen_host", RustBindgenHostFactory)
Colin Cross4b49b762019-11-22 15:25:03 -0800502 ctx.RegisterModuleType("rust_test", RustTestFactory)
503 ctx.RegisterModuleType("rust_test_host", RustTestHostFactory)
504 ctx.RegisterModuleType("rust_library", RustLibraryFactory)
Colin Cross4b49b762019-11-22 15:25:03 -0800505 ctx.RegisterModuleType("rust_library_dylib", RustLibraryDylibFactory)
Matthew Maurer2ae05132020-06-23 14:28:53 -0700506 ctx.RegisterModuleType("rust_library_rlib", RustLibraryRlibFactory)
507 ctx.RegisterModuleType("rust_library_host", RustLibraryHostFactory)
508 ctx.RegisterModuleType("rust_library_host_dylib", RustLibraryDylibHostFactory)
509 ctx.RegisterModuleType("rust_library_host_rlib", RustLibraryRlibHostFactory)
Ivan Lozano6cd99e62020-02-11 08:24:25 -0500510 ctx.RegisterModuleType("rust_fuzz", RustFuzzFactory)
Ivan Lozano2fcbffa2023-07-27 10:40:52 -0400511 ctx.RegisterModuleType("rust_fuzz_host", RustFuzzHostFactory)
Matthew Maurer2ae05132020-06-23 14:28:53 -0700512 ctx.RegisterModuleType("rust_ffi", RustFFIFactory)
513 ctx.RegisterModuleType("rust_ffi_shared", RustFFISharedFactory)
514 ctx.RegisterModuleType("rust_ffi_static", RustFFIStaticFactory)
515 ctx.RegisterModuleType("rust_ffi_host", RustFFIHostFactory)
516 ctx.RegisterModuleType("rust_ffi_host_shared", RustFFISharedHostFactory)
517 ctx.RegisterModuleType("rust_ffi_host_static", RustFFIStaticHostFactory)
Colin Cross4b49b762019-11-22 15:25:03 -0800518 ctx.RegisterModuleType("rust_proc_macro", ProcMacroFactory)
Treehugger Robot588aae72020-08-21 10:01:58 +0000519 ctx.RegisterModuleType("rust_protobuf", RustProtobufFactory)
520 ctx.RegisterModuleType("rust_protobuf_host", RustProtobufHostFactory)
Matthew Maurerc761eec2020-06-25 00:47:46 -0700521 ctx.RegisterModuleType("rust_prebuilt_library", PrebuiltLibraryFactory)
Colin Cross4b49b762019-11-22 15:25:03 -0800522 ctx.RegisterModuleType("rust_prebuilt_dylib", PrebuiltDylibFactory)
Matthew Maurerc761eec2020-06-25 00:47:46 -0700523 ctx.RegisterModuleType("rust_prebuilt_rlib", PrebuiltRlibFactory)
Ivan Lozanoffee3342019-08-27 12:03:00 -0700524 ctx.PreDepsMutators(func(ctx android.RegisterMutatorsContext) {
Ivan Lozano52767be2019-10-18 14:49:46 -0700525 // rust mutators
526 ctx.BottomUp("rust_libraries", LibraryMutator).Parallel()
Ivan Lozano2b081132020-09-08 12:46:52 -0400527 ctx.BottomUp("rust_stdlinkage", LibstdMutator).Parallel()
Ivan Lozanoa0cd8f92020-04-09 09:56:02 -0400528 ctx.BottomUp("rust_begin", BeginMutator).Parallel()
Ivan Lozano52767be2019-10-18 14:49:46 -0700529 })
LaMont Jones0c10e4d2023-05-16 00:58:37 +0000530 ctx.RegisterParallelSingletonType("rust_project_generator", rustProjectGeneratorSingleton)
531 ctx.RegisterParallelSingletonType("kythe_rust_extract", kytheExtractRustFactory)
Ivan Lozano5482d6a2021-11-01 10:13:25 -0400532 ctx.PostDepsMutators(func(ctx android.RegisterMutatorsContext) {
533 ctx.BottomUp("rust_sanitizers", rustSanitizerRuntimeMutator).Parallel()
534 })
Ivan Lozano3149e6e2021-06-01 15:09:53 -0400535 registerRustSnapshotModules(ctx)
Jiyong Park99644e92020-11-17 22:21:02 +0900536}