- Core crate: Minimal shell-out implementation - Advanced crate: Pluggable backends and enhanced features - Main crate: Re-exports core + optional advanced features - Feature flags: Users choose complexity level - Examples: Working demonstrations of both approaches - Documentation: Clear README explaining the structure Implements the refined two-crate approach with workspace + feature flags.
37 lines
927 B
TOML
37 lines
927 B
TOML
[package]
|
|
name = "apt-dnf-bridge"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
description = "DNF-like API for APT, with optional advanced features"
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
keywords.workspace = true
|
|
categories.workspace = true
|
|
|
|
[dependencies]
|
|
apt-dnf-bridge-core = { path = "../apt-dnf-bridge-core" }
|
|
apt-dnf-bridge-advanced = { path = "../apt-dnf-bridge-advanced", optional = true }
|
|
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
|
|
|
|
[features]
|
|
default = [] # Core-only by default
|
|
advanced = ["apt-dnf-bridge-advanced"]
|
|
|
|
[dev-dependencies]
|
|
tempfile.workspace = true
|
|
|
|
[[example]]
|
|
name = "basic_usage"
|
|
path = "../examples/basic_usage.rs"
|
|
|
|
[[example]]
|
|
name = "package_query"
|
|
path = "../examples/package_query.rs"
|
|
|
|
[[example]]
|
|
name = "atomicity_notes"
|
|
path = "../examples/atomicity_notes.rs"
|
|
|
|
[[example]]
|
|
name = "backend_selection"
|
|
path = "../examples/backend_selection.rs"
|