-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
75 lines (68 loc) · 3.02 KB
/
Copy pathCargo.toml
File metadata and controls
75 lines (68 loc) · 3.02 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
[workspace]
resolver = "2"
members = [
"crates/flowproof-driver",
"crates/flowproof-trace",
"crates/flowproof-replay",
"crates/flowproof-agent",
"crates/flowproof-adapters",
"crates/flowproof-cli",
"crates/flowproof-python",
]
# The Windows containment spike is deliberately NOT a member.
#
# It was one only to reach a `windows-latest` runner: the Windows CI job runs
# `cargo test --workspace`, and `.github/workflows/` is constitution-protected,
# so membership was the only route onto a Windows host. That job is done — the
# spike ran, the verdict is in `spike/windows-containment/LOG.md` — and leaving
# it a member would create a local user, install WFP filters and drive Notepad
# on every push to main and every nightly, forever, to re-answer a question
# already answered.
#
# `exclude` rather than deletion, because the harness is the next step, not
# leftovers: the verdict's one open question is whether SAP GUI runs under a
# per-run identity, and closing it means running this same harness on a
# licensed Windows host. Re-add the path to `members` there.
#
# Being excluded means it is no longer compiled or linted by CI, so treat it as
# a record of what was run rather than as maintained code.
exclude = ["spike/windows-containment"]
[workspace.package]
version = "0.19.0"
edition = "2021"
license = "Apache-2.0"
repository = "https://github.com/automators-com/flowproof"
authors = ["Automators <hello@automators.com>"]
rust-version = "1.80"
[workspace.dependencies]
flowproof-driver = { path = "crates/flowproof-driver" }
flowproof-trace = { path = "crates/flowproof-trace" }
flowproof-replay = { path = "crates/flowproof-replay" }
flowproof-agent = { path = "crates/flowproof-agent" }
flowproof-adapters = { path = "crates/flowproof-adapters" }
flowproof-cli = { path = "crates/flowproof-cli" }
anyhow = "1"
chrono = { version = "0.4", default-features = false, features = ["clock"] }
clap = { version = "4", features = ["derive"] }
pdf-extract = "0.12"
serde = { version = "1", features = ["derive"] }
regex = "1"
serde_json = "1"
serde_yaml = "0.9"
thiserror = "2"
uuid = { version = "1", features = ["v4"] }
[workspace.lints.clippy]
unwrap_used = "warn"
[profile.release]
lto = "thin"
# The published headless_chrome transport costs a CDP send up to 100ms waiting
# for the socket mutex the reader thread holds, which made typing a character
# cost 213ms (see docs/authoring.md). This pins a patched 1.0.22: the reader's
# read timeout drops to 1ms and responses are awaited by blocking on the channel
# rather than polling it. A git patch is viable because nothing in this
# workspace goes to crates.io — publish.yml builds the wheel and the npm package
# from here. The rev lives on an orphan branch of this repository, carries no
# flowproof code, and is not built by CI. Drop all of this once the upstream fix
# lands; the real fix is splitting the transport's read and write halves.
[patch.crates-io]
headless_chrome = { git = "https://github.com/automators-com/flowproof", rev = "eed7bc1873f6f2beac147d66f0df7a946329e6fe" }