[package] name = "watchexec-cli" version = "2.2.0" authors = ["Félix Saparelli ", "Matt Green "] license = "Apache-2.0" description = "Executes commands in response to file modifications" keywords = ["watcher", "filesystem", "cli", "watchexec"] categories = ["command-line-utilities"] documentation = "https://watchexec.github.io/docs/#watchexec" homepage = "https://watchexec.github.io" repository = "https://github.com/watchexec/watchexec" readme = "README.md" edition = "2021" [[bin]] name = "watchexec" path = "src/main.rs" [dependencies] ahash = "0.8.6" # needs to be in sync with jaq's argfile = "0.2.0" chrono = "0.4.31" clap_complete = "4.4.4" clap_complete_nushell = "4.4.2" clap_mangen = "0.2.15" clearscreen = "3.0.0" dashmap = "6.1.0" dirs = "5.0.0" dunce = "1.0.4" futures = "0.3.29" humantime = "2.1.0" indexmap = "2.2.6" # needs to be in sync with jaq's is-terminal = "0.4.4" jaq-core = "1.2.1" jaq-interpret = "1.2.1" jaq-parse = "1.0.2" jaq-std = "1.2.1" jaq-syn = "1.1.0" notify-rust = "4.9.0" once_cell = "1.17.1" serde_json = "1.0.107" tempfile = "3.8.1" termcolor = "1.4.0" tracing = "0.1.40" tracing-appender = "0.2.3" which = "6.0.1" [dependencies.blake3] version = "1.3.3" features = ["rayon"] [dependencies.clap] version = "4.4.7" features = ["cargo", "derive", "env", "wrap_help"] [dependencies.console-subscriber] version = "0.4.0" optional = true [dependencies.eyra] version = "0.19.0" features = ["log", "env_logger"] optional = true [dependencies.ignore-files] version = "3.0.2" path = "../ignore-files" [dependencies.miette] version = "7.2.0" features = ["fancy"] [dependencies.pid1] version = "0.1.1" optional = true [dependencies.project-origins] version = "1.4.0" path = "../project-origins" [dependencies.watchexec] version = "5.0.0" path = "../lib" [dependencies.watchexec-events] version = "4.0.0" path = "../events" features = ["serde"] [dependencies.watchexec-signals] version = "4.0.0" path = "../signals" [dependencies.watchexec-filterer-globset] version = "6.0.0" path = "../filterer/globset" [dependencies.tokio] version = "1.33.0" features = [ "fs", "io-std", "process", "rt", "rt-multi-thread", "signal", "sync", ] [dependencies.tracing-subscriber] version = "0.3.6" features = [ "env-filter", "fmt", "json", "tracing-log", "ansi", ] [target.'cfg(target_env = "musl")'.dependencies] mimalloc = "0.1.39" [build-dependencies] embed-resource = "2.4.0" [build-dependencies.bosion] version = "1.1.1" path = "../bosion" [dev-dependencies] tracing-test = "0.2.4" uuid = { workspace = true, features = [ "v4", "fast-rng" ] } rand = { workspace = true } [features] default = ["pid1"] ## Build using Eyra's pure-Rust libc eyra = ["dep:eyra"] ## Enables PID1 handling. pid1 = ["dep:pid1"] ## Enables logging for PID1 handling. pid1-withlog = ["pid1"] ## For debugging only: enables the Tokio Console. dev-console = ["dep:console-subscriber"] [package.metadata.binstall] pkg-url = "{ repo }/releases/download/v{ version }/watchexec-{ version }-{ target }.{ archive-format }" bin-dir = "watchexec-{ version }-{ target }/{ bin }{ binary-ext }" pkg-fmt = "txz" [package.metadata.binstall.overrides.x86_64-pc-windows-msvc] pkg-fmt = "zip" [package.metadata.deb] maintainer = "Félix Saparelli " license-file = ["../../LICENSE", "0"] section = "utility" depends = "libc6, libgcc-s1" # not needed for musl, but see below # conf-files = [] # look me up when config file lands assets = [ ["../../target/release/watchexec", "usr/bin/watchexec", "755"], ["README.md", "usr/share/doc/watchexec/README", "644"], ["../../doc/watchexec.1.md", "usr/share/doc/watchexec/watchexec.1.md", "644"], ["../../doc/watchexec.1", "usr/share/man/man1/watchexec.1", "644"], ["../../completions/bash", "usr/share/bash-completion/completions/watchexec", "644"], ["../../completions/fish", "usr/share/fish/vendor_completions.d/watchexec.fish", "644"], ["../../completions/zsh", "usr/share/zsh/site-functions/_watchexec", "644"], ["../../doc/logo.svg", "usr/share/icons/hicolor/scalable/apps/watchexec.svg", "644"], ] [package.metadata.generate-rpm] assets = [ { source = "../../target/release/watchexec", dest = "/usr/bin/watchexec", mode = "755" }, { source = "README.md", dest = "/usr/share/doc/watchexec/README", mode = "644", doc = true }, { source = "../../doc/watchexec.1.md", dest = "/usr/share/doc/watchexec/watchexec.1.md", mode = "644", doc = true }, { source = "../../doc/watchexec.1", dest = "/usr/share/man/man1/watchexec.1", mode = "644" }, { source = "../../completions/bash", dest = "/usr/share/bash-completion/completions/watchexec", mode = "644" }, { source = "../../completions/fish", dest = "/usr/share/fish/vendor_completions.d/watchexec.fish", mode = "644" }, { source = "../../completions/zsh", dest = "/usr/share/zsh/site-functions/_watchexec", mode = "644" }, { source = "../../doc/logo.svg", dest = "/usr/share/icons/hicolor/scalable/apps/watchexec.svg", mode = "644" }, # set conf = true for config file when that lands ] auto-req = "disabled" # technically incorrect when using musl, but these are probably # present on every rpm-using system, so let's worry about it if # someone asks. [package.metadata.generate-rpm.requires] glibc = "*" libgcc = "*"