just playing with tangled
1cargo-features = []
2
3[workspace]
4resolver = "3"
5members = ["cli", "lib", "lib/gen-protos", "lib/proc-macros", "lib/testutils"]
6
7[workspace.package]
8version = "0.29.0"
9license = "Apache-2.0"
10rust-version = "1.84" # NOTE: remember to update CI, contributing.md, changelog.md, and install-and-setup.md
11edition = "2021"
12readme = "README.md"
13homepage = "https://github.com/jj-vcs/jj"
14repository = "https://github.com/jj-vcs/jj"
15documentation = "https://jj-vcs.github.io/jj/"
16categories = ["version-control", "development-tools"]
17keywords = ["VCS", "DVCS", "SCM", "Git", "Mercurial"]
18
19[workspace.dependencies]
20assert_cmd = "2.0.8"
21assert_matches = "1.5.0"
22async-trait = "0.1.88"
23blake2 = "0.10.6"
24bstr = "1.11.3"
25clap = { version = "4.5.38", features = [
26 "derive",
27 "deprecated",
28 "wrap_help",
29 "string",
30] }
31clap_complete = { version = "4.5.48", features = ["unstable-dynamic"] }
32clap_complete_nushell = "4.5.5"
33# Update clap-markdown manually since test_generate_md_cli_help snapshot
34# will need regenerating.
35clap-markdown = "=0.1.5"
36clap_mangen = "0.2.25"
37chrono = { version = "0.4.41", default-features = false, features = [
38 "std",
39 "clock",
40] }
41clru = "0.6.2"
42criterion = "0.5.1"
43crossterm = { version = "0.28", default-features = false, features = ["windows"] }
44datatest-stable = "0.3.2"
45digest = "0.10.7"
46dunce = "1.0.5"
47etcetera = "0.10.0"
48either = "1.15.0"
49futures = "0.3.31"
50gix = { version = "0.71.0", default-features = false, features = [
51 "attributes",
52 "blob-diff",
53 "index",
54 "max-performance-safe",
55 "zlib-rs",
56] }
57glob = "0.3.2"
58hashbrown = { version = "0.15.3", default-features = false, features = ["inline-more"] }
59hex = "0.4.3"
60ignore = "0.4.23"
61indexmap = { version = "2.9.0", features = ["serde"] }
62indoc = "2.0.6"
63insta = { version = "1.43.1", features = ["filters"] }
64interim = { version = "0.2.1", features = ["chrono_0_4"] }
65itertools = "0.14.0"
66libc = { version = "0.2.172" }
67maplit = "1.0.2"
68num_cpus = "1.16.0"
69once_cell = "1.21.3"
70os_pipe = "1.2.2"
71pest = "2.8.0"
72pest_derive = "2.8.0"
73pollster = "0.4.0"
74pretty_assertions = "1.4.1"
75proc-macro2 = "1.0.95"
76prost = "0.13.5"
77prost-build = "0.13.5"
78quote = "1.0.40"
79rand = "0.9.1"
80rand_chacha = "0.9.0"
81rayon = "1.10.0"
82ref-cast = "1.0.24"
83regex = "1.11.1"
84rpassword = "7.4.0"
85rustix = { version = "1.0.7", features = ["fs"] }
86same-file = "1.0.6"
87sapling-renderdag = "0.1.0"
88sapling-streampager = "0.11.0"
89scm-record = "0.8.0"
90serde = { version = "1.0", features = ["derive"] }
91serde_json = "1.0.140"
92slab = "0.4.9"
93smallvec = { version = "1.14.0", features = [
94 "const_generics",
95 "const_new",
96 "union",
97] }
98strsim = "0.11.1"
99syn = "2.0.101"
100tempfile = "3.20.0"
101test-case = "3.3.1"
102textwrap = "0.16.2"
103thiserror = "2.0.12"
104timeago = { version = "0.4.2", default-features = false }
105tokio = { version = "1.45.1", features = ["io-util"] }
106toml_edit = { version = "0.22.26", features = ["serde"] }
107tracing = "0.1.41"
108tracing-chrome = "0.7.2"
109tracing-subscriber = { version = "0.3.19", default-features = false, features = [
110 "std",
111 "ansi",
112 "env-filter",
113 "fmt",
114] }
115unicode-width = "0.2.0"
116version_check = "0.9.5"
117watchman_client = { version = "0.9.0" }
118whoami = "1.6.0"
119winreg = "0.52"
120
121# put all inter-workspace libraries, i.e. those that use 'path = ...' here in
122# their own (alphabetically sorted) block
123
124jj-lib = { path = "lib", version = "0.29.0", default-features = false }
125jj-lib-proc-macros = { path = "lib/proc-macros", version = "0.29.0" }
126testutils = { path = "lib/testutils" }
127
128[workspace.lints.clippy]
129explicit_iter_loop = "warn"
130flat_map_option = "warn"
131implicit_clone = "warn"
132needless_for_each = "warn"
133semicolon_if_nothing_returned = "warn"
134uninlined_format_args = "warn"
135unused_trait_names = "warn"
136useless_conversion = "warn"
137
138# Insta suggests compiling these packages in opt mode for faster testing.
139# See https://docs.rs/insta/latest/insta/#optional-faster-runs.
140[profile.dev.package]
141insta.opt-level = 3
142similar.opt-level = 3
143
144[profile.release]
145strip = "debuginfo"
146codegen-units = 1