[package]
name = "abscissa_core"
description = """
Application microframework with support for command-line option parsing,
configuration, error handling, logging, and terminal interactions.
This crate contains the framework's core functionality.
"""
version = "0.5.2"
license = "Apache-2.0"
authors = ["Tony Arcieri <tony@iqlusion.io>"]
edition = "2018"
homepage = "https://github.com/iqlusioninc/abscissa/"
repository = "https://github.com/iqlusioninc/abscissa/tree/develop/"
readme = "../README.md"
categories = ["command-line-interface", "config", "rust-patterns"]
keywords = ["abscissa", "cli", "application", "framework", "service"]
[badges]
maintenance = { status = "actively-developed" }
[dependencies]
abscissa_derive = { version = "0.5", path = "../derive" }
backtrace = "0.3"
canonical-path = "2"
chrono = { version = "0.4", optional = true, features = ["serde"] }
color-backtrace = { version = "0.3", optional = true, default-features = false }
generational-arena = { version = "0.2", optional = true }
gumdrop = { version = "0.7", optional = true }
once_cell = "1.3"
regex = { version = "1", optional = true }
secrecy = { version = "0.6", optional = true, features = ["serde"] }
semver = { version = "0.9", optional = true }
serde = { version = "1", optional = true, features = ["serde_derive"] }
termcolor = { version = "1", optional = true }
toml = { version = "0.5", optional = true }
tracing = { version = "0.1", optional = true }
tracing-log = { version = "0.1", optional = true }
tracing-subscriber = { version = "0.1", optional = true }
wait-timeout = { version = "0.2", optional = true }
[target.'cfg(unix)'.dependencies]
libc = { version = "0.2", optional = true }
signal-hook = { version = "0.1", optional = true }
[features]
default = [
"application",
"signals",
"secrets",
"testing",
"time"
]
application = [
"config",
"generational-arena",
"trace",
"options",
"semver/serde",
"terminal"
]
config = [
"secrets",
"serde",
"terminal",
"toml"
]
gimli-backtrace = [
"backtrace/gimli-symbolize",
"color-backtrace/gimli-symbolize"
]
trace = ["tracing", "tracing-log", "tracing-subscriber"]
options = ["gumdrop"]
secrets = ["secrecy"]
signals = ["libc", "signal-hook"]
terminal = ["color-backtrace", "termcolor"]
testing = ["regex", "wait-timeout"]
time = ["chrono"]