[package]
name = "habitat_sup"
version = "0.0.0"
edition = "2018"
authors = ["The Habitat Maintainers <humans@habitat.sh>"]
build = "./build.rs"
workspace = "../../"

[lib]
name = "habitat_sup"

[[bin]]
name = "hab-sup"
path = "src/main.rs"
doc = false

[[bin]]
name = "subscriber"
path = "src/subscriber.rs"
doc = false

[dependencies]
# For now hardcode the version. If the version of actix is not the same as the
# one used by actix-web it causes errors https://github.com/actix/actix-web/issues/46.
# When actix-web updates to a 0.8.x version of actix we can change this back.
actix = "0.7.9"
bytes = "*"
# This is temporary, until this is merged to the mainline and we can use the crate
nitox = { git = "https://github.com/habitat-sh/nitox", branch="feature/nats-server" }
actix-web = { version = "*", default-features = false, features = [ "rust-tls" ] }
byteorder = "*"
clap = { version = "*", features = [ "suggestions", "color", "unstable" ] }
cpu-time = "*"
env_logger = "*"
futures = "*"
glob = "*"
hab = { path = "../hab" }
habitat_butterfly = { path = "../butterfly", default-features = false }
habitat_common = { path = "../common" }
habitat_core = { path = "../core" }
habitat_api_client = { path = "../builder-api-client" }
habitat-launcher-client = { path = "../launcher-client" }
habitat-sup-protocol = { path = "../sup-protocol", default-features = false }
lazy_static = "*"
libc = "*"
log = "*"
notify = "*"
num_cpus = "*"
prometheus = "*"
prost = "*"
prost-derive = "*"
prost-types = "0.5.0" # This is current stable, but for some reason gets pulled in as 0.4.0 if we use "*" (2019-03-28)
rand = "*"
ratsio = "*"
regex = "*"
rustls = "*"
serde = { version = "*", features = ["rc"] }
serde_derive = "*"
serde_json = "*"
serde_yaml = "*"
serde-transcode = "*"
state = "*"
tempfile = "*"
termcolor = "*"
time = "*"
toml = { version = "*", default-features = false }
tokio = "*"
tokio-core = "*"
tokio-codec = "*"
tokio-timer = "*"
url = "*"
valico = "*"

[target.'cfg(target_os = "linux")'.dependencies]
caps = "*"

[target.'cfg(target_family = "unix")'.dependencies]
# palaver's default features require nightly; see https://github.com/alecmocatta/palaver/blob/master/Cargo.toml
palaver = { version = "*", default-features = false }
jemallocator = "*"
jemalloc-ctl = "*"

[target.'cfg(windows)'.dependencies]
ctrlc = "*"
winapi =  { version = "*", features = ["tlhelp32"] }

[dev-dependencies]
habitat_core = { path = "../core" }
# Pending upgrade activities in https://github.com/habitat-sh/core/issues/72
hyper = "0.10"
json = "*"

[build-dependencies]
prost-build = "*"

[features]
default = []
apidocs = []
ignore_integration_tests = []
lock_as_rwlock = ["habitat_common/lock_as_rwlock"]
lock_as_mutex = ["habitat_common/lock_as_mutex"]
nitox_stream = []
ratsio_stream = []
