Files
weevil/Cargo.toml
2026-02-02 19:14:50 -06:00

91 lines
1.9 KiB
TOML

[package]
name = "weevil"
version = "1.1.0-beta.2"
edition = "2021"
authors = ["Eric Ratliff <eric@nxlearn.net>"]
description = "FTC robotics project generator - bores into complexity, emerges with clean code"
license = "MIT"
[lib]
name = "weevil"
path = "src/lib.rs"
[[bin]]
name = "weevil"
path = "src/main.rs"
[dependencies]
# CLI framework - beautiful help, subcommands, validation
clap = { version = "4.5", features = ["derive", "cargo"] }
# Filesystem and paths
walkdir = "2.5"
tempfile = "3.13"
dirs = "5.0"
# Templates
tera = "1.20"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"
# Embedded resources
include_dir = "0.7"
# Downloads
reqwest = { version = "0.12", features = ["blocking", "stream"] }
tokio = { version = "1.42", features = ["full"] }
# Progress bars
indicatif = "0.17"
# Archive handling
zip = "2.2"
flate2 = "1.0"
tar = "0.4"
# Error handling
anyhow = "1.0"
thiserror = "1.0"
# Git operations
git2 = "0.19"
# Process execution
which = "7.0"
# Colors
colored = "2.1"
chrono = "0.4.43"
[dev-dependencies]
tempfile = "3.13"
assert_cmd = "2.0"
predicates = "3.1"
insta = "1.41"
# Proxy integration tests: mockito is the mock origin server; hyper + friends
# are the forward proxy. All three are already in Cargo.lock as transitive
# deps of reqwest — we're just promoting them to explicit dev-deps with the
# features we actually need.
mockito = "1.7"
hyper = { version = "1", features = ["server", "http1", "client"] }
hyper-util = { version = "0.1", features = ["tokio", "client-legacy", "http1"] }
http-body-util = "0.1"
bytes = "1"
tokio = { version = "1", features = ["full"] }
[build-dependencies]
ureq = { version = "2.10", features = ["json"] }
zip = "2.2"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true
[features]
default = []
embedded-gradle = [] # Embed gradle-wrapper.jar in binary (run download-gradle-wrapper.sh first)