just playing with tangled
1[package]
2name = "jj-cli"
3description = "Jujutsu - an experimental version control system"
4default-run = "jj"
5autotests = false
6
7version = { workspace = true }
8edition = { workspace = true }
9rust-version = { workspace = true }
10license = { workspace = true }
11homepage = { workspace = true }
12repository = { workspace = true }
13documentation = { workspace = true }
14keywords = { workspace = true }
15
16include = [
17 "/LICENSE",
18 "/build.rs",
19 "/examples/",
20 "/src/",
21 "/docs/**",
22 "/testing/",
23 "/tests/",
24 "!*.pending-snap",
25 "!*.snap*",
26 "/tests/cli-reference@.md.snap",
27]
28
29[[bin]]
30name = "jj"
31path = "src/main.rs"
32
33[[bin]]
34name = "fake-editor"
35path = "testing/fake-editor.rs"
36required-features = ["test-fakes"]
37
38[[bin]]
39name = "fake-diff-editor"
40path = "testing/fake-diff-editor.rs"
41required-features = ["test-fakes"]
42
43[[bin]]
44name = "fake-formatter"
45path = "testing/fake-formatter.rs"
46required-features = ["test-fakes"]
47
48[[test]]
49name = "runner"
50
51[[test]]
52name = "datatest_runner"
53harness = false
54
55[dependencies]
56bstr = { workspace = true }
57chrono = { workspace = true }
58clap = { workspace = true }
59clap-markdown = { workspace = true }
60clap_complete = { workspace = true }
61clap_complete_nushell = { workspace = true }
62clap_mangen = { workspace = true }
63criterion = { workspace = true, optional = true }
64crossterm = { workspace = true }
65dunce = { workspace = true }
66etcetera = { workspace = true }
67futures = { workspace = true }
68gix = { workspace = true, optional = true }
69glob = { workspace = true }
70indexmap = { workspace = true }
71indoc = { workspace = true }
72itertools = { workspace = true }
73jj-lib = { workspace = true }
74maplit = { workspace = true }
75once_cell = { workspace = true }
76os_pipe = { workspace = true }
77pest = { workspace = true }
78pest_derive = { workspace = true }
79pollster = { workspace = true }
80rayon = { workspace = true }
81regex = { workspace = true }
82rpassword = { workspace = true }
83sapling-renderdag = { workspace = true }
84sapling-streampager = { workspace = true }
85scm-record = { workspace = true }
86serde = { workspace = true }
87serde_json = { workspace = true }
88slab = { workspace = true }
89strsim = { workspace = true }
90tempfile = { workspace = true }
91textwrap = { workspace = true }
92thiserror = { workspace = true }
93timeago = { workspace = true }
94tokio = { workspace = true }
95toml_edit = { workspace = true }
96tracing = { workspace = true }
97tracing-chrome = { workspace = true }
98tracing-subscriber = { workspace = true }
99unicode-width = { workspace = true }
100whoami = { workspace = true }
101
102[target.'cfg(unix)'.dependencies]
103libc = { workspace = true }
104
105[dev-dependencies]
106assert_cmd = { workspace = true }
107assert_matches = { workspace = true }
108async-trait = { workspace = true }
109datatest-stable = { workspace = true }
110insta = { workspace = true }
111test-case = { workspace = true }
112testutils = { workspace = true }
113# https://github.com/rust-lang/cargo/issues/2911#issuecomment-1483256987
114jj-cli = { path = ".", features = ["test-fakes"], default-features = false }
115
116[features]
117default = ["watchman", "git"]
118bench = ["dep:criterion"]
119git = ["jj-lib/git", "dep:gix"]
120test-fakes = ["jj-lib/testing"]
121watchman = ["jj-lib/watchman"]
122
123[package.metadata.binstall]
124# The archive name is jj, not jj-cli. Also, `cargo binstall` gets
125# confused by the `v` before versions in archive name.
126pkg-url = "{ repo }/releases/download/v{ version }/jj-v{ version }-{ target }.{ archive-format }"
127
128[lints]
129workspace = true