ok/jj
1
0
Fork 0
forked from mirrors/jj
jj/Cargo.toml
Yuya Nishihara dfaa52c88a cargo: add hashbrown dependency
We'll use low-level HashTable to customize Eq/Hash without implementing newtype
wrappers.

Unneeded default features are disabled for now. Note that the new default
hasher, foldhash, is released under the Zlib license, which isn't currently
included in the allow list.
2024-10-05 08:12:30 +09:00

153 lines
4.3 KiB
TOML

cargo-features = []
[workspace]
resolver = "2"
members = ["cli", "lib", "lib/gen-protos", "lib/proc-macros", "lib/testutils"]
[workspace.package]
version = "0.22.0"
license = "Apache-2.0"
rust-version = "1.76" # NOTE: remember to update CI, contributing.md, changelog.md, and flake.nix
edition = "2021"
readme = "README.md"
homepage = "https://github.com/martinvonz/jj"
repository = "https://github.com/martinvonz/jj"
documentation = "https://martinvonz.github.io/jj/"
categories = ["version-control", "development-tools"]
keywords = ["VCS", "DVCS", "SCM", "Git", "Mercurial"]
[workspace.dependencies]
anyhow = "1.0.89"
assert_cmd = "2.0.8"
assert_matches = "1.5.0"
async-trait = "0.1.83"
backoff = "0.4.0"
blake2 = "0.10.6"
bstr = "1.10.0"
clap = { version = "4.5.19", features = [
"derive",
"deprecated",
"wrap_help",
"string",
] }
clap_complete = "4.5.32"
clap_complete_nushell = "4.5.3"
clap-markdown = "0.1.4"
clap_mangen = "0.2.10"
chrono = { version = "0.4.38", default-features = false, features = [
"std",
"clock",
] }
chrono-english = { version = "0.1.7" }
clru = "0.6.2"
config = { version = "0.13.4", default-features = false, features = ["toml"] }
criterion = "0.5.1"
crossterm = { version = "0.27", default-features = false }
digest = "0.10.7"
dirs = "5.0.1"
dunce = "1.0.5"
either = "1.13.0"
esl01-renderdag = "0.3.0"
futures = "0.3.30"
git2 = { version = "0.19.0", features = [
# Do *not* disable this feature even if you'd like dynamic linking. Instead,
# set the environment variable `LIBGIT2_NO_VENDOR=1` if dynamic linking must
# be used (this will override the Cargo feature), and allow static linking
# in other cases. Rationale: If neither the feature nor the environment
# variable are set, `git2` may still decide to vendor `libgit2` if it
# doesn't find a version of `libgit2` to link to dynamically. See also
# https://github.com/rust-lang/git2-rs/commit/3cef4119f
"vendored-libgit2"
] }
gix = { version = "0.66.0", default-features = false, features = [
"index",
"max-performance-safe",
"blob-diff",
] }
gix-filter = "0.13.0"
glob = "0.3.1"
hashbrown = { version = "0.15.0", default-features = false, features = ["inline-more"] }
hex = "0.4.3"
ignore = "0.4.23"
indexmap = "2.6.0"
indoc = "2.0.4"
insta = { version = "1.40.0", features = ["filters"] }
itertools = "0.13.0"
libc = { version = "0.2.159" }
maplit = "1.0.2"
minus = { version = "5.6.1", features = ["dynamic_output", "search"] }
num_cpus = "1.16.0"
once_cell = "1.20.1"
pest = "2.7.13"
pest_derive = "2.7.13"
pollster = "0.3.0"
pretty_assertions = "1.4.1"
proc-macro2 = "1.0.86"
prost = "0.12.6"
prost-build = "0.12.6"
quote = "1.0.36"
rand = "0.8.5"
rand_chacha = "0.3.1"
rayon = "1.10.0"
ref-cast = "1.0.23"
regex = "1.11.0"
rpassword = "7.3.1"
rustix = { version = "0.38.37", features = ["fs"] }
scm-record = "0.3.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0.128"
slab = "0.4.9"
smallvec = { version = "1.13.2", features = [
"const_generics",
"const_new",
"union",
] }
strsim = "0.11.1"
syn = "2.0.79"
tempfile = "3.13.0"
test-case = "3.3.1"
textwrap = "0.16.1"
thiserror = "1.0.64"
timeago = { version = "0.4.2", default-features = false }
tokio = { version = "1.40.0" }
toml_edit = { version = "0.19.15", features = ["serde"] }
tracing = "0.1.40"
tracing-chrome = "0.7.2"
tracing-subscriber = { version = "0.3.18", default-features = false, features = [
"std",
"ansi",
"env-filter",
"fmt",
] }
unicode-width = "0.1.14"
version_check = "0.9.5"
watchman_client = { version = "0.9.0" }
whoami = "1.5.2"
winreg = "0.52"
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", version = "0.22.0" }
jj-lib-proc-macros = { path = "lib/proc-macros", version = "0.22.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"
# Insta suggests compiling these packages in opt mode for faster testing.
# See https://docs.rs/insta/latest/insta/#optional-faster-runs.
[profile.dev.package]
insta.opt-level = 3
similar.opt-level = 3
[profile.release]
strip = "debuginfo"
codegen-units = 1