-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
90 lines (78 loc) · 3.33 KB
/
Copy pathCargo.toml
File metadata and controls
90 lines (78 loc) · 3.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
[workspace]
resolver = "2"
members = [
"crates/elenchus-parser",
"crates/elenchus-compiler",
"crates/elenchus-solver",
"crates/elenchus-cli",
"crates/elenchus-mcp",
"crates/elenchus-wasm",
]
[workspace.package]
version = "0.15.1"
edition = "2024"
authors = ["Mansur Azatbek <mansur62624@gmail.com>"]
license = "MIT"
repository = "https://github.com/m62624/elenchus"
homepage = "https://github.com/m62624/elenchus"
[workspace.dependencies]
# Local Crates (version pinned so the crates can be published to crates.io)
elenchus-parser = { path = "crates/elenchus-parser", version = "0.15.1" }
elenchus-compiler = { path = "crates/elenchus-compiler", version = "0.15.1", default-features = false }
elenchus-solver = { path = "crates/elenchus-solver", version = "0.15.1", default-features = false }
# CLI
clap = { version = "4", features = ["derive"] }
# Shared Dependencies (versions pinned 1:1 with the vsm workspace)
nom = { version = "8.0.0", default-features = false, features = ["alloc"] }
nom_locate = { version = "5.0.0", default-features = false, features = [
"alloc",
] }
thiserror = { version = "2.0", default-features = false }
sha2 = { version = "0.10.9", default-features = false }
# Snapshot testing for parser error output
insta = "1.41"
# Property-based testing
proptest = "1"
# Wall-clock benchmarks (informational only; CI gates use the deterministic
# work counters instead — see crates/elenchus-solver/tests/perf_gates.rs)
criterion = "0.7"
# JSON (dev: validate Report::to_json output; runtime dep of the MCP server)
serde_json = "1"
# cargo-dist: tagged binary releases for the `elenchus` CLI and `elenchus-mcp`
# server (the only two shipped binaries; the libraries set `dist = false`).
[workspace.metadata.dist]
cargo-dist-version = "0.31.0"
ci = ["github"]
# Prebuilt-binary installers (users pick whichever is convenient — see README):
# shell POSIX `sh` script (Linux/macOS)
# powershell PowerShell script (Windows)
# msi Windows installer; registers in "Add or remove programs" for clean
# upgrade/uninstall (needs the per-package WiX `upgrade-guid` below)
# homebrew formula pushed to the `tap` below (macOS/Linux `brew install`)
# `cargo binstall` layers on top for free — it reads the release's cargo-dist
# `dist-manifest.json`, so it needs no extra config.
installers = ["shell", "powershell", "msi", "homebrew"]
# Homebrew tap repo the formula is published to (needs the HOMEBREW_TAP_TOKEN
# secret — see .github/AGENTS.md). The repo must be named `homebrew-elenchus`.
tap = "m62624/homebrew-elenchus"
publish-jobs = ["homebrew"]
# The release workflow is customized (workflow_call, driven by the pin/v*
# orchestrator), so don't fail `dist plan` for the CI file being "out of date".
allow-dirty = ["ci"]
targets = [
"x86_64-unknown-linux-gnu",
"aarch64-unknown-linux-gnu",
"x86_64-pc-windows-msvc",
"aarch64-pc-windows-msvc",
"x86_64-apple-darwin",
"aarch64-apple-darwin",
]
pr-run-mode = "plan"
# Build aarch64-windows on a NATIVE Windows runner. By default dist cross-builds
# it on Linux via cargo-xwin, but the `.msi` needs WiX v3's `candle.exe` (a
# Windows binary that can't run under xwin) — so it must build on Windows.
[workspace.metadata.dist.github-custom-runners]
aarch64-pc-windows-msvc = "windows-2022"
[profile.dist]
inherits = "release"
lto = "thin"