[package] name = "weevil" version = "1.1.0-rc1" edition = "2021" authors = ["Eric Ratliff "] 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)