cargo_mobile2/doctor/
mod.rs1mod section;
2
3use crate::{
4 env,
5 os::Env,
6 util::{self, cli::TextWrapper},
7};
8use thiserror::Error;
9
10#[derive(Debug, Error)]
13pub enum Unrecoverable {
14 #[error(transparent)]
17 EnvInitFailed(#[from] env::Error),
18 #[error("Failed to prettify path: {0}")]
21 ContractHomeFailed(#[from] util::ContractHomeError),
22}
23
24pub fn exec(wrapper: &TextWrapper) -> Result<(), Unrecoverable> {
25 let env = Env::new()?;
26 section::cargo_mobile::check()?.print(wrapper);
27 #[cfg(target_os = "macos")]
28 section::apple::check().print(wrapper);
29 section::android::check(&env)?.print(wrapper);
30 section::device_list::check(&env).print(wrapper);
31 Ok(())
32}