Skip to main content

stout_install/
lib.rs

1//! stout-install: Package installation for stout
2//!
3//! This crate handles:
4//! - Extracting bottles to Cellar
5//! - Building from source when bottles unavailable
6//! - Creating bottles from installed packages
7//! - Creating symlinks
8//! - Writing INSTALL_RECEIPT.json
9//! - Running post-install hooks
10//! - Parallel installation support
11
12mod bottle;
13mod build;
14pub mod cask_scan;
15pub mod cellar;
16mod error;
17mod extract;
18mod link;
19mod parallel;
20mod receipt;
21
22#[cfg(test)]
23mod tests;
24
25pub use bottle::{create_bottle, BottleResult};
26pub use build::{
27    can_build_from_source, BuildConfig, BuildResult, HeadBuildConfig, HeadBuildResult, HeadBuilder,
28    SourceBuilder,
29};
30pub use cask_scan::{
31    count_caskroom_casks, register_cask_in_caskroom, scan_caskroom, unregister_cask_from_caskroom,
32    InstalledBrewCask,
33};
34pub use cellar::{
35    count_cellar_packages, parse_brew_receipt, scan_cellar, scan_cellar_package, timestamp_to_iso,
36    BrewReceipt, BrewRuntimeDep, CellarPackage,
37};
38pub use error::{BuildError, Error, Result};
39pub use extract::{
40    extract_bottle, relocate_bottle, remove_package, scan_cellar_unrelocated,
41    scan_unrelocated_files,
42};
43pub use link::{link_package, unlink_package};
44pub use parallel::{BottleInfo, LinkInfo, PackageInstallResult, ParallelConfig, ParallelInstaller};
45pub use receipt::{write_receipt, InstallReceipt, RuntimeDependency};