apple_clis/
lib.rs

1pub mod prelude {
2	// public exports
3	pub use crate::error::Error;
4	pub use crate::shared::identifiers::*;
5	pub use crate::{
6		codesign, error, ios_deploy, open, security, shared, shared::identifiers, shared::types, spctl,
7		xcrun, xcrun::simctl,
8	};
9
10	// trait exts
11	pub use crate::shared::PublicCommandOutput;
12	pub use crate::xcrun::simctl::list::{ListDeviceNamesExt, ListDevicesExt};
13
14	// dep re-exports
15	pub use bossy;
16	pub use camino;
17
18	// internal re-exports
19	pub(crate) use crate::error::Result;
20	pub(crate) use crate::shared::ExecInstance;
21	pub(crate) use crate::shared::{impl_exec_child, impl_exec_instance, impl_from_str_nom};
22	pub(crate) use crate::shared::{ws, CommandNomParsable, NomFromStr};
23	pub(crate) use crate::include_doc;
24
25	// internal dep imports
26	pub(crate) use bossy::{ExitStatus, Output};
27	pub(crate) use camino::{Utf8Path, Utf8PathBuf};
28	#[allow(unused_imports)]
29	pub(crate) use nom::{
30		branch::{alt, permutation},
31		bytes::complete::{tag, take_till, take_till1, take_until, take_while},
32		character::complete::{alpha0, alpha1, digit1, multispace0, multispace1, space0, space1},
33		combinator::{all_consuming, cut, map, map_res, peek, rest, success, value, opt},
34		multi::fold_many1,
35		number::complete::float,
36		sequence::{delimited, pair, preceded, terminated, tuple},
37		IResult,
38	};
39	pub(crate) use serde::{Deserialize, Serialize};
40	pub(crate) use std::borrow::Cow;
41	pub(crate) use std::collections::HashMap;
42	pub(crate) use std::fmt::Display;
43	pub(crate) use std::num::NonZeroU8;
44	pub(crate) use std::str::FromStr;
45	pub(crate) use strum::EnumDiscriminants;
46	pub(crate) use tracing::{debug, error, info, instrument, trace, warn};
47
48	// cli only exports
49	#[cfg(feature = "cli")]
50	pub(crate) use clap::{Args, Parser, Subcommand, ValueEnum};
51	#[cfg(feature = "cli")]
52	pub(crate) use color_eyre::{eyre::eyre, Section};
53}
54
55#[cfg(feature = "cli")]
56pub mod cli;
57pub mod error;
58pub mod shared;
59
60// pub mod cargo_bundle;
61pub mod codesign;
62pub mod ios_deploy;
63pub mod open;
64pub mod security;
65pub mod spctl;
66pub mod xcrun;
67
68// pub mod xcodebuild;
69// pub mod pkgbuild;
70// pub mod hdiutil;
71// pub mod pkgutil;
72// pub mod productbuild;
73// pub mod productsign;
74
75macro_rules! include_doc {
76		(cmd_error) => {
77			include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/docs/inline/command_error.md"))
78		};
79		(cmd_success) => {
80			include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/docs/inline/command_success.md"))
81		};
82		(must_use_cmd_output) => {
83			include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/docs/inline/must_use_command_output.md"))
84		};
85		(todo) => {
86			include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/docs/inline/TODO.md"))
87		};
88}
89pub(crate) use include_doc;