Replace all hardcoded "1.1.0" version strings with env!("CARGO_PKG_VERSION")
in src/, so Cargo.toml is the sole source for the built binary. Tests
intentionally use a separate hardcoded constant in tests/common.rs to act
as a canary — they will fail on a version bump until manually updated.
- src/project/mod.rs: add WEEVIL_VERSION const, wire into Tera context,
generated README, and .weevil-version marker
- tests/common.rs: new file, holds EXPECTED_VERSION for all test crates
- tests/{integration,project_lifecycle,unit/config_tests}.rs: pull from
common instead of env! or inline literals
78 lines
1.4 KiB
TOML
78 lines
1.4 KiB
TOML
[package]
|
|
name = "weevil"
|
|
version = "1.1.0-beta.1"
|
|
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"
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3.13"
|
|
assert_cmd = "2.0"
|
|
predicates = "3.1"
|
|
insta = "1.41"
|
|
|
|
[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) |