[package] name = "encrypt_config" version.workspace = true authors.workspace = true description.workspace = true license.workspace = true edition.workspace = true repository.workspace = true documentation.workspace = true keywords = ["config", "encryption"] [package.metadata.docs.rs] features = ["full", "mock"] rustdoc-args = ["--cfg", "docsrs"] [dependencies] encrypt_config_derive = { workspace = true, optional = true } snafu = { version = "0.7.5" } serde = { version = "1", features = ["derive"] } serde_json = { version = "1" } rsa = { version = "0.9.6", features = ["serde"], optional = true } rand = { version = "0.8.5", optional = true } dirs = { version = "5.0.1", optional = true } rom_cache = { workspace = true } [target.'cfg(target_os = "macos")'.dependencies] keyring = { workspace = true, optional = true, features = ["apple-native"] } [target.'cfg(target_os = "ios")'.dependencies] keyring = { workspace = true, optional = true, features = ["apple-native"] } [target.'cfg(target_os = "linux")'.dependencies] keyring = { workspace = true, optional = true, features = ["linux-native"] } [target.'cfg(target_os = "freebsd")'.dependencies] keyring = { workspace = true, optional = true, features = ["linux-native"] } [target.'cfg(target_os = "openbsd")'.dependencies] keyring = { workspace = true, optional = true, features = ["linux-native"] } [target.'cfg(target_os = "windows")'.dependencies] keyring = { workspace = true, optional = true, features = ["windows-native"] } [features] default = [] full = ["persist", "secret", "derive"] secret = [ "dep:rsa", "dep:rand", "dep:keyring", "persist", "encrypt_config_derive?/secret", ] persist = ["encrypt_config_derive?/persist"] derive = ["dep:encrypt_config_derive"] default_config_dir = ["dep:dirs", "encrypt_config_derive?/default_config_dir"] mock = []