jj/Cargo.toml
2025-07-19 01:51:10 +00:00

157 lines
4.3 KiB
TOML

cargo-features = []
[workspace]
resolver = "3"
members = ["cli", "lib", "lib/gen-protos", "lib/proc-macros", "lib/testutils"]
[workspace.package]
version = "0.31.0"
license = "Apache-2.0"
rust-version = "1.84" # NOTE: remember to update CI, contributing.md, changelog.md, and install-and-setup.md
edition = "2021"
readme = "README.md"
homepage = "https://github.com/jj-vcs/jj"
repository = "https://github.com/jj-vcs/jj"
documentation = "https://jj-vcs.github.io/jj/"
categories = ["version-control", "development-tools"]
keywords = ["VCS", "DVCS", "SCM", "Git", "Mercurial"]
[workspace.dependencies]
assert_cmd = "2.0.8"
assert_matches = "1.5.0"
async-trait = "0.1.88"
blake2 = "0.10.6"
bstr = "1.11.3"
clap = { version = "4.5.41", features = [
"derive",
"deprecated",
"wrap_help",
"string",
] }
clap_complete = { version = "4.5.55", features = ["unstable-dynamic"] }
clap_complete_nushell = "4.5.8"
# Update clap-markdown manually since test_generate_md_cli_help snapshot
# will need regenerating.
clap-markdown = "=0.1.5"
clap_mangen = "0.2.25"
chrono = { version = "0.4.41", default-features = false, features = [
"std",
"clock",
"serde",
] }
clru = "0.6.2"
criterion = "0.5.1"
crossterm = { version = "0.28", default-features = false, features = ["windows"] }
datatest-stable = "0.3.2"
digest = "0.10.7"
dunce = "1.0.5"
erased-serde = "0.4.6"
etcetera = "0.10.0"
either = "1.15.0"
futures = "0.3.31"
gix = { version = "0.73.0", default-features = false, features = [
"attributes",
"blob-diff",
"index",
"max-performance-safe",
"zlib-rs",
] }
glob = "0.3.2"
hashbrown = { version = "0.15.4", default-features = false, features = ["inline-more"] }
ignore = "0.4.23"
indexmap = { version = "2.10.0", features = ["serde"] }
indoc = "2.0.6"
insta = { version = "1.43.1", features = ["filters"] }
interim = { version = "0.2.1", features = ["chrono_0_4"] }
itertools = "0.14.0"
libc = { version = "0.2.174" }
maplit = "1.0.2"
num_cpus = "1.17.0"
once_cell = "1.21.3"
os_pipe = "1.2.2"
pest = "2.8.1"
pest_derive = "2.8.1"
pollster = "0.4.0"
pretty_assertions = "1.4.1"
proc-macro2 = "1.0.95"
proptest = "1.7.0"
proptest-derive = "0.6.0"
proptest-state-machine = "0.3.1"
prost = "0.13.5"
prost-build = "0.13.5"
quote = "1.0.40"
rand = "0.9.1"
rand_chacha = "0.9.0"
rayon = "1.10.0"
ref-cast = "1.0.24"
regex = "1.11.1"
rpassword = "7.4.0"
rustix = { version = "1.0.7", features = ["fs"] }
same-file = "1.0.6"
sapling-renderdag = "0.1.0"
sapling-streampager = "0.11.0"
scm-record = "0.8.0"
serde = { version = "1.0", features = ["derive", "rc"] }
serde_json = "1.0.140"
slab = "0.4.10"
smallvec = { version = "1.15.1", features = [
"const_generics",
"const_new",
"serde",
"union",
] }
strsim = "0.11.1"
syn = "2.0.104"
rustversion = "1.0.21"
tempfile = "3.20.0"
test-case = "3.3.1"
textwrap = "0.16.2"
thiserror = "2.0.12"
timeago = { version = "0.4.2", default-features = false }
tokio = { version = "1.46.1", features = ["io-util"] }
toml_edit = { version = "0.22.27", features = ["serde"] }
tracing = "0.1.41"
tracing-chrome = "0.7.2"
tracing-subscriber = { version = "0.3.19", default-features = false, features = [
"std",
"ansi",
"env-filter",
"fmt",
] }
unicode-width = "0.2.0"
version_check = "0.9.5"
watchman_client = { version = "0.9.0" }
whoami = "1.6.0"
winreg = "0.52"
# put all inter-workspace libraries, i.e. those that use 'path = ...' here in
# their own (alphabetically sorted) block
jj-lib = { path = "lib", version = "0.31.0", default-features = false }
jj-lib-proc-macros = { path = "lib/proc-macros", version = "0.31.0" }
testutils = { path = "lib/testutils" }
[workspace.lints.clippy]
explicit_iter_loop = "warn"
flat_map_option = "warn"
implicit_clone = "warn"
needless_for_each = "warn"
semicolon_if_nothing_returned = "warn"
uninlined_format_args = "warn"
unused_trait_names = "warn"
useless_conversion = "warn"
[profile.dev.package]
# Insta suggests compiling these packages in opt mode for faster testing.
# See https://docs.rs/insta/latest/insta/#optional-faster-runs.
insta.opt-level = 3
similar.opt-level = 3
# Proptest suggests compiling itself and its RNG in opt mode as well.
# See https://proptest-rs.github.io/proptest/proptest/tips-and-best-practices.html#setting-opt-level
proptest.opt-level = 3
proptest-state-machine.opt-level = 3
rand_chacha.opt-level = 3
[profile.release]
strip = "debuginfo"
codegen-units = 1