jj/Cargo.toml
Austin Seipp 13fff3be70 cargo: unify dependency versions through workspace deps
Summary: This moves all dependencies across the jj-lib and jj-cli crates into
the top-level Cargo file; with that, we can change each crate instead to just
inherit the workspace version, with the toggled features enabled, by setting
a dependency such as:

    dep.workspace = true

in the relevant Cargo.toml file.

This doesn't actually change any of the build semantics (from what I can tell)
nor the lockfile, and seems to respond normally. There are more cleanups that
can follow.

Two notes:

- Dependabot seems to work fine, based on what I've seen in other repos.
- `cargo add` doesn't seem to know how to add packages to a top-level
  `workspace.dependencies` field; instead you can `cargo add -p jj-cli`
  and move the entries, at least.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Change-Id: I307827e5f15c0d8ea8e2a80ec793d3c7
2023-08-06 16:44:33 -05:00

86 lines
2.1 KiB
TOML

cargo-features = []
[workspace]
resolver = "2"
members = ["cli", "lib", "lib/testutils", "lib/gen-protos"]
[workspace.dependencies]
anyhow = "1.0.72"
assert_cmd = "2.0.8"
assert_matches = "1.5.0"
backoff = "0.4.0"
blake2 = "0.10.6"
byteorder = "1.4.3"
bytes = "1.4.0"
cargo_metadata = "0.17.0"
clap = { version = "4.3.19", features = ["derive", "deprecated"] }
clap_complete = "4.3.2"
clap_mangen = "0.2.10"
chrono = { version = "0.4.26", default-features = false, features = [
"std",
"clock",
] }
config = { version = "0.13.2", default-features = false, features = ["toml"] }
criterion = "0.5.1"
crossterm = { version = "0.26", default-features = false }
digest = "0.10.7"
dirs = "5.0.1"
esl01-renderdag = "0.3.0"
glob = "0.3.1"
git2 = "0.17.2"
hex = "0.4.3"
itertools = "0.11.0"
indexmap = "2.0.0"
libc = { version = "0.2.147" }
insta = { version = "1.31.0", features = ["filters"] }
maplit = "1.0.2"
num_cpus = "1.16.0"
once_cell = "1.18.0"
pest = "2.7.2"
pest_derive = "2.7.2"
prost = "0.11.9"
prost-build = "0.11.9"
rand = "0.8.5"
rand_chacha = "0.3.1"
rayon = "1.7.0"
regex = "1.9.1"
rpassword = "7.2.0"
rustix = { version = "0.38.6", features = ["fs"] }
smallvec = { version = "1.11.0", features = [
"const_generics",
"const_new",
"union",
] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0.104"
slab = "0.4.8"
strsim = "0.10.0"
tempfile = "3.7.0"
test-case = "3.1.0"
textwrap = "0.16.0"
thiserror = "1.0.44"
timeago = { version = "0.4.1", default-features = false }
toml_edit = { version = "0.19.14", features = ["serde"] }
tracing = "0.1.37"
tracing-chrome = "0.7.1"
tracing-subscriber = { version = "0.3.17", default-features = false, features = [
"std",
"ansi",
"env-filter",
"fmt",
] }
tokio = { version = "1.29.1" }
watchman_client = { version = "0.8.0" }
whoami = "1.4.1"
version_check = "0.9.4"
zstd = "0.12.4"
# put all inter-workspace libraries, i.e. those that use 'path = ...' here in
# their own (alphabetically sorted) block
jj-lib = { path = "lib" }
testutils = { path = "lib/testutils" }
[profile.release]
strip = "debuginfo"
codegen-units = 1