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