57 lines
3.0 KiB
Rust
57 lines
3.0 KiB
Rust
// file: crates/ksp-config-lib/src/lib.rs
|
|
// version: 2
|
|
#![warn(missing_docs)]
|
|
#![deny(unreachable_pub)]
|
|
#![forbid(unsafe_code)]
|
|
|
|
//! KSP-owned application configuration facade.
|
|
//!
|
|
//! `0.1.3-pre.003` provides the non-recursive bootstrap roots plus a stable logical file registry. Consumers select Config-managed files by `file_id`;
|
|
//! physical filenames can be replaced at bootstrap without changing those logical identities. JSON/schema loading, profiles, environment resolution and
|
|
//! persistence are introduced by later bounded prereleases.
|
|
|
|
mod bootstrap;
|
|
mod error;
|
|
mod registry;
|
|
|
|
/// Bootstrap argument used to replace the configuration document root.
|
|
pub use self::bootstrap::ARG_CFG_PATH;
|
|
/// Bootstrap argument used to replace the schema root.
|
|
pub use self::bootstrap::ARG_SCHEMA_PATH;
|
|
/// Non-recursive bootstrap options required before Config can resolve any managed document.
|
|
pub use self::bootstrap::ConfigBootstrapOptions;
|
|
/// Default root containing KSP runtime configuration documents.
|
|
pub use self::bootstrap::DEFAULT_CFG_PATH;
|
|
/// Default root containing KSP JSON schemas.
|
|
pub use self::bootstrap::DEFAULT_SCHEMA_PATH;
|
|
/// Error code used when a Config bootstrap argument is missing its value.
|
|
pub use self::error::ERROR_CODE_BOOTSTRAP_ARGUMENT_MISSING_VALUE;
|
|
/// Error code used when a Config bootstrap path is empty, inaccessible, or resolves to an existing non-directory path.
|
|
pub use self::error::ERROR_CODE_BOOTSTRAP_INVALID_PATH;
|
|
/// Error code used when the same logical Config file identifier is registered more than once.
|
|
pub use self::error::ERROR_CODE_FILE_ID_DUPLICATE;
|
|
/// Error code used when a logical Config file identifier is malformed.
|
|
pub use self::error::ERROR_CODE_FILE_ID_INVALID;
|
|
/// Error code used when a requested logical Config file identifier is not registered.
|
|
pub use self::error::ERROR_CODE_FILE_ID_UNKNOWN;
|
|
/// Error code used when a Config filename mapping or descriptor relation is invalid.
|
|
pub use self::error::ERROR_CODE_FILE_MAPPING_INVALID;
|
|
/// Bootstrap argument used to replace a known Config filename mapping.
|
|
pub use self::registry::ARG_FILE_MAP;
|
|
/// Logical descriptor associating a stable file identifier with its physical filename and root category.
|
|
pub use self::registry::ConfigFileDescriptor;
|
|
/// Stable logical identifier for a Config-managed file.
|
|
pub use self::registry::ConfigFileId;
|
|
/// Physical root category used to resolve a Config-managed file.
|
|
pub use self::registry::ConfigFileKind;
|
|
/// Registry of KSP-known logical Config files and their replaceable physical filenames.
|
|
pub use self::registry::ConfigFileRegistry;
|
|
/// Default physical filename for the standard Logging configuration document.
|
|
pub use self::registry::DEFAULT_STD_LOGGING_FILENAME;
|
|
/// Default physical filename for the standard Logging JSON Schema document.
|
|
pub use self::registry::DEFAULT_STD_LOGGING_SCHEMA_FILENAME;
|
|
/// Logical file identifier for the standard Logging JSON Schema document.
|
|
pub use self::registry::FILE_ID_SCHEMA_STD_LOGGING;
|
|
/// Logical file identifier for the standard Logging configuration document.
|
|
pub use self::registry::FILE_ID_STD_LOGGING;
|