1mod artifact;
4mod assets;
5mod config;
6mod file_streams;
7mod filesystem_identity;
8mod naming;
9#[cfg(windows)]
10mod windows_environment;
11
12#[doc(hidden)]
13pub mod process_control;
14pub mod windows_private_directory;
16
17pub use artifact::{ArtifactDigest, ArtifactDigestError, ArtifactDigestKind, digest_artifact};
18pub use assets::{AssetError, PngMetadata, ProjectAssets};
19pub use config::{
20 AndroidAbi, AndroidConfig, AndroidLiveActivityFallback, AppConfig, AppWindowConfig,
21 BoolCapability, CapabilitiesConfig, ConfigError, DeepLinksCapability, ExtensionsConfig,
22 FerryConfig, IosConfig, LiveActivityConfig, NetworkCapability, NetworkMode,
23 NotificationCapability, Orientation, PermissionConfig, PermissionsConfig, TargetPlatform,
24 Theme, ValidationIssue, WidgetConfig,
25};
26pub use file_streams::{
27 RegularFileStreamError, RegularFileStreamErrorKind, verify_regular_file_has_no_named_streams,
28};
29#[cfg(unix)]
30#[doc(hidden)]
31pub use filesystem_identity::retained_directory_is_unlinked;
32pub use filesystem_identity::{
33 DirectoryFilesystemIdentity, DirectoryIdentityError, DirectoryIdentityErrorKind,
34 DirectoryIdentityOperation, RegularFileFilesystemIdentity, RetainedDirectoryIdentity,
35 RetainedRegularFileIdentity, directory_identity_from_file, regular_file_identity_from_file,
36 verify_directory_identity, verify_regular_file_identity,
37};
38#[cfg(windows)]
39pub use filesystem_identity::{ExactRegularFileRemoval, open_regular_file_for_exact_removal};
40pub use naming::{
41 NamingError, ProjectNames, derive_project_names, validate_application_identifier,
42};
43#[cfg(windows)]
44pub use windows_environment::windows_system_root;
45
46pub const CONFIG_SCHEMA_VERSION: u32 = 1;
48
49pub mod brand {
51 pub const CLI_NAME: &str = "cargo-ferry";
53 pub const DISPLAY_NAME: &str = "RustFerry";
55 pub const TARGET_DIRECTORY: &str = "ferry";
57 pub const RUNTIME_CRATE: &str = "rustferry";
59 pub const RUNTIME_PACKAGE: &str = "rustferry";
61}