1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 
5 /// Reexport items from other uniffi creates
6 pub use uniffi_core::*;
7 pub use uniffi_macros::*;
8 #[cfg(feature = "cli")]
9 mod cli;
10 #[cfg(feature = "bindgen-tests")]
11 pub use uniffi_bindgen::bindings::kotlin::run_test as kotlin_run_test;
12 #[cfg(feature = "bindgen-tests")]
13 pub use uniffi_bindgen::bindings::python::run_test as python_run_test;
14 #[cfg(feature = "bindgen-tests")]
15 pub use uniffi_bindgen::bindings::ruby::run_test as ruby_run_test;
16 #[cfg(feature = "bindgen-tests")]
17 pub use uniffi_bindgen::bindings::swift::run_test as swift_run_test;
18 #[cfg(feature = "bindgen")]
19 pub use uniffi_bindgen::{
20     bindings::kotlin::gen_kotlin::KotlinBindingGenerator,
21     bindings::python::gen_python::PythonBindingGenerator,
22     bindings::ruby::gen_ruby::RubyBindingGenerator,
23     bindings::swift::gen_swift::SwiftBindingGenerator, bindings::TargetLanguage, generate_bindings,
24     generate_component_scaffolding, generate_component_scaffolding_for_crate, print_repr,
25 };
26 #[cfg(feature = "build")]
27 pub use uniffi_build::{generate_scaffolding, generate_scaffolding_for_crate};
28 #[cfg(feature = "bindgen-tests")]
29 pub use uniffi_macros::build_foreign_language_testcases;
30 
31 #[cfg(feature = "cli")]
uniffi_bindgen_main()32 pub fn uniffi_bindgen_main() {
33     cli::run_main().unwrap();
34 }
35 
36 #[cfg(test)]
37 mod test {
38     #[test]
trybuild_ui_tests()39     fn trybuild_ui_tests() {
40         let t = trybuild::TestCases::new();
41         t.compile_fail("tests/ui/*.rs");
42     }
43 }
44