[package]
name = "rsconstruct"
version = "0.9.15"
edition = "2024"
authors = ["Mark Veltzer <mark.veltzer@gmail.com>"]
description = "Rust based fast build system"
license = "MIT"
repository = "https://github.com/veltzer/rsconstruct"

[dependencies]
clap = { version = "4.5", features = ["derive"] }
clap_complete = "4.5"
tera = "1.20"
sha2 = "0.10"
hex = "0.4"
serde = { version = "1.0", features = ["derive"] }
serde_json = { version = "1.0", features = ["preserve_order"] }
toml = "1"
toml_edit = "0.25"
anyhow = "1.0"
notify = "8"
ignore = "0.4"
tokio = { version = "1", features = ["rt-multi-thread", "process", "signal", "sync", "macros", "io-util", "time"] }
humansize = "2"
zspell = "0.5"
which = "8"
parking_lot = "0.12.5"
chrono = "0.4.43"
redb = "3"
indicatif = "0.18"
mlua = { version = "0.11", features = ["lua54", "send", "vendored", "serialize"] }
regex = "1"
glob = "0.3.3"
serde_yml = "0.0.12"
zstd = "0.13"
lopdf = "0.40.0"
serde_yaml = "0.9.34"
grass = { version = "0.13.4", default-features = false }
pulldown-cmark = { version = "0.13.3", default-features = false, features = ["html"] }
jsonschema = { version = "0.45.1", default-features = false, features = ["resolve-file"] }
tabled = { version = "0.20.0", features = ["ansi"] }
ureq = "3"
strum = { version = "0.28.0", features = ["derive"] }
inventory = "0.3.24"

[target.'cfg(unix)'.dependencies]
libc = "0.2"

[dev-dependencies]
tempfile = "3.8"
serde_json = "1.0"
paste = "1.0"

[profile.release]
strip = true
lto = true
codegen-units = 1

# Release-equivalent build with debug symbols for profiling (samply/perf).
# Usage: `cargo build --profile profiling`; binary lands in target/profiling/.
[profile.profiling]
inherits = "release"
strip = false
debug = true
