History

Remove all targets we don't want anymore (#215)

- remove termion support for linux, use crossterm everywhere. - remove additional 'light' intermediate targets

Sebastian Thiel committed 4 years ago

Commit 2abba9c1 parent 050964d4 files · +11 −66Browse files

Unified · Split

4 files
  1. Cargo.lock +0 −29
  2. Cargo.toml +3 −8
  3. Makefile +2 −17
  4. cargo-features.md +6 −12
Cargo.lock+0−29
@@ -759,7 +759,6 @@ dependencies = [ · 758 unmodified lines
759 "futures-channel",759 "futures-channel",
760 "futures-core",760 "futures-core",
761 "futures-lite",761 "futures-lite",
762 "termion",
763 "tui",762 "tui",
764 "tui-react",763 "tui-react",
765]764]
@@ -2349,12 +2348,6 @@ dependencies = [ · 1583 unmodified lines
2349 "libc",2348 "libc",
2350]2349]
2351 2350
2352[[package]]
2353name = "numtoa"
2354version = "0.1.0"
2355source = "registry+https://github.com/rust-lang/crates.io-index"
2356checksum = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"
2357
2358[[package]]2351[[package]]
2359name = "object-access"2352name = "object-access"
2360version = "0.1.0"2353version = "0.1.0"
@@ -2771,15 +2764,6 @@ dependencies = [ · 410 unmodified lines
2771 "bitflags",2764 "bitflags",
2772]2765]
2773 2766
2774[[package]]
2775name = "redox_termios"
2776version = "0.1.2"
2777source = "registry+https://github.com/rust-lang/crates.io-index"
2778checksum = "8440d8acb4fd3d277125b4bd01a6f38aee8d814b3b5fc09b3f2b825d37d3fe8f"
2779dependencies = [
2780 "redox_syscall",
2781]
2782
2783[[package]]2767[[package]]
2784name = "redox_users"2768name = "redox_users"
2785version = "0.4.0"2769version = "0.4.0"
@@ -3116,18 +3100,6 @@ dependencies = [ · 330 unmodified lines
3116 "winapi",3100 "winapi",
3117]3101]
3118 3102
3119[[package]]
3120name = "termion"
3121version = "1.5.6"
3122source = "registry+https://github.com/rust-lang/crates.io-index"
3123checksum = "077185e2eac69c3f8379a4298e1e07cd36beb962290d4a51199acf0fdc10607e"
3124dependencies = [
3125 "libc",
3126 "numtoa",
3127 "redox_syscall",
3128 "redox_termios",
3129]
3130
3131[[package]]3103[[package]]
3132name = "textwrap"3104name = "textwrap"
3133version = "0.11.0"3105version = "0.11.0"
@@ -3283,7 +3255,6 @@ dependencies = [ · 149 unmodified lines
3283 "bitflags",3255 "bitflags",
3284 "cassowary",3256 "cassowary",
3285 "crossterm",3257 "crossterm",
3286 "termion",
3287 "unicode-segmentation",3258 "unicode-segmentation",
3288 "unicode-width",3259 "unicode-width",
3289]3260]
Cargo.toml+3−8
@@ -28,14 +28,11 @@ doctest = false · 27 unmodified lines
28default = ["max"]28default = ["max"]
29 29
30max = ["fast", "pretty-cli", "prodash/render-tui-crossterm", "prodash-render-line-crossterm", "prodash/render-line-autoconfigure", "http-client-curl", "gitoxide-core-tools", "gitoxide-core-blocking-client"]30max = ["fast", "pretty-cli", "prodash/render-tui-crossterm", "prodash-render-line-crossterm", "prodash/render-line-autoconfigure", "http-client-curl", "gitoxide-core-tools", "gitoxide-core-blocking-client"]
31max-termion = ["fast", "pretty-cli", "prodash/render-tui-termion", "prodash-render-line-termion", "prodash/render-line-autoconfigure", "http-client-curl", "gitoxide-core-tools", "gitoxide-core-blocking-client"]
32 31
33lean = ["fast", "lean-cli", "prodash-render-line-crossterm", "prodash/progress-tree", "http-client-curl", "gitoxide-core-tools", "gitoxide-core-blocking-client"]32lean = ["fast", "pretty-cli", "prodash-render-line-crossterm", "prodash/progress-tree", "http-client-curl", "gitoxide-core-tools", "gitoxide-core-blocking-client"]
34lean-termion = ["fast", "lean-cli", "prodash-render-line-termion", "prodash/progress-tree", "http-client-curl", "gitoxide-core-tools", "gitoxide-core-blocking-client"]33lean-async = ["fast", "pretty-cli", "prodash-render-line-crossterm", "prodash/progress-tree", "http-client-curl", "gitoxide-core-tools", "gitoxide-core-async-client"]
35 34
36light = ["fast", "lean-cli", "gitoxide-core-tools", "gitoxide-core-blocking-client"]35small = ["pretty-cli", "git-features/rustsha1", "git-features/zlib-rust-backend"]
37light-async = ["fast", "lean-cli", "gitoxide-core-tools", "gitoxide-core-async-client"]
38small = ["lean-cli", "git-features/rustsha1", "git-features/zlib-rust-backend"]
39 36
40gitoxide-core-tools = ["gitoxide-core/organize", "gitoxide-core/estimate-hours"]37gitoxide-core-tools = ["gitoxide-core/organize", "gitoxide-core/estimate-hours"]
41gitoxide-core-blocking-client = ["gitoxide-core/blocking-client"]38gitoxide-core-blocking-client = ["gitoxide-core/blocking-client"]
@@ -53,10 +50,8 @@ pretty-cli = ["clap", · 11 unmodified lines
53 "gitoxide-core/local-time-support",50 "gitoxide-core/local-time-support",
54 "env_logger",51 "env_logger",
55 "futures-lite"]52 "futures-lite"]
56lean-cli = ["argh", "prodash/progress-log", "env_logger" ]
57 53
58prodash-render-line-crossterm = ["prodash-render-line", "prodash/render-line-crossterm", "atty", "crosstermion"]54prodash-render-line-crossterm = ["prodash-render-line", "prodash/render-line-crossterm", "atty", "crosstermion"]
59prodash-render-line-termion = ["prodash-render-line", "prodash/render-line-termion", "atty", "crosstermion"]
60 55
61# internal56# internal
62prodash-render-tui = ["prodash/render-tui"]57prodash-render-tui = ["prodash/render-tui"]
Makefile+2−17
@@ -22,15 +22,9 @@ release-all: release release-lean release-small ## all release builds · 21 unmodified lines
22release: always ## the default build, big but pretty (builds in ~2min 35s)22release: always ## the default build, big but pretty (builds in ~2min 35s)
23 cargo build --release23 cargo build --release
24 24
25release-unix: always ## the default build, big but pretty, unix only (builds in ~2min 35s)
26 cargo build --release --no-default-features --features max-termion
27
28release-lean: always ## lean and fast, with line renderer (builds in ~1min 30s)25release-lean: always ## lean and fast, with line renderer (builds in ~1min 30s)
29 cargo build --release --no-default-features --features lean26 cargo build --release --no-default-features --features lean
30 27
31release-light: always ## lean and fast, log only (builds in ~1min 14s)
32 cargo build --release --no-default-features --features light
33
34release-small: always ## minimal dependencies, at cost of performance (builds in ~46s)28release-small: always ## minimal dependencies, at cost of performance (builds in ~46s)
35 cargo build --release --no-default-features --features small29 cargo build --release --no-default-features --features small
36 30
@@ -39,15 +33,9 @@ release-small: always ## minimal dependencies, at cost of performance (builds in · 2 unmodified lines
39debug: always ## the default build, big but pretty33debug: always ## the default build, big but pretty
40 cargo build34 cargo build
41 35
42debug-unix: always ## the default build, big but pretty, unix only
43 cargo build --no-default-features --features max-termion
44
45debug-lean: always ## lean and fast, with line renderer36debug-lean: always ## lean and fast, with line renderer
46 cargo build --no-default-features --features lean37 cargo build --no-default-features --features lean
47 38
48debug-light: always ## lean and fast
49 cargo build --no-default-features --features light
50
51debug-small: always ## minimal dependencies, at cost of performance39debug-small: always ## minimal dependencies, at cost of performance
52 cargo build --no-default-features --features small40 cargo build --no-default-features --features small
53 41
@@ -79,13 +67,10 @@ clippy: ## Run cargo clippy on all crates · 25 unmodified lines
79check: ## Build all code in suitable configurations67check: ## Build all code in suitable configurations
80 cargo check --all68 cargo check --all
81 cargo check --no-default-features --features small69 cargo check --no-default-features --features small
82 cargo check --no-default-features --features light70 if cargo check --features lean-async 2>/dev/null; then false; else true; fi
83 cargo check --no-default-features --features light-async
84 if cargo check --features light-async 2>/dev/null; then false; else true; fi
85 cargo check --no-default-features --features lean71 cargo check --no-default-features --features lean
86 cargo check --no-default-features --features lean-termion72 cargo check --no-default-features --features lean-async
87 cargo check --no-default-features --features max73 cargo check --no-default-features --features max
88 cargo check --no-default-features --features max-termion
89 cd git-actor && cargo check \74 cd git-actor && cargo check \
90 && cargo check --features local-time-support75 && cargo check --features local-time-support
91 cd gitoxide-core && cargo check \76 cd gitoxide-core && cargo check \
cargo-features.md+6−12
@@ -23,7 +23,7 @@ The top-level command-line interface. · 22 unmodified lines
23 * Use `argh` to produce a usable binary with decent documentation that is smallest in size, usually 300kb less than `pretty-cli`.23 * Use `argh` to produce a usable binary with decent documentation that is smallest in size, usually 300kb less than `pretty-cli`.
24 * If `pretty-cli` is enabled as well, `lean-cli` will take precedence, and you pay for building unnecessary dependencies.24 * If `pretty-cli` is enabled as well, `lean-cli` will take precedence, and you pay for building unnecessary dependencies.
25 * provides a line renderer for lean but pretty progress25 * provides a line renderer for lean but pretty progress
26* **prodash-render-line-crossterm** or **prodash-render-line-termion** _(mutually exclusive)_26* **prodash-render-line-crossterm**
27 * The `--verbose` flag will be powered by an interactive progress mechanism that doubles as log as well as interactive progress27 * The `--verbose` flag will be powered by an interactive progress mechanism that doubles as log as well as interactive progress
28 that appears after a short duration.28 that appears after a short duration.
29* **gitoxide-core-tools**29* **gitoxide-core-tools**
@@ -37,20 +37,14 @@ The top-level command-line interface. · 7 unmodified lines
37 37
38There are **convenience features**, which combine common choices of the above into one name38There are **convenience features**, which combine common choices of the above into one name
39 39
40* **max** = *pretty-cli* + *fast* + *prodash-render-tui-crossterm* + *http* + *gitoxide-core-tools* + *client-networking*40* **max** = *fast* + *prodash-render-tui-crossterm* + *prodash-render-line-crossterm* + *http* + *gitoxide-core-tools* + *client-networking*
41 * _default_, for unix and windows41 * _default_, for unix and windows
42* **max-termion** = *pretty-cli* + *fast* + *prodash-render-tui-termion* + *http* + *gitoxide-core-tools* + *client-networking*42* **lean** = *fast* + *prodash-render-line-crossterm* + *gitoxide-core-tools* + *client-networking*
43 * for unix only, faster compile times, a little smaller43 * cross-platform by nature as this comes with simplified log based progress
44* **lean** = *lean-cli* + *fast* + *prodash-render-line-crossterm* + *gitoxide-core-tools* + *client-networking*44* **lean-async** = *fast* + *prodash-render-line-crossterm* + *gitoxide-core-tools* + *client-async-networking*
45 * for unix and windows, significantly smaller than _max_, but without `--progress` terminal user interface.
46* **lean-termion** = *lean-cli* + *fast* + *prodash-render-line-termion* + *gitoxide-core-tools* + *client-networking*
47 * for unix only, faster compile times, a little smaller
48* **light** = *lean-cli* + *fast* + *gitoxide-core-tools* + *client-networking*
49 * crossplatform by nature as this comes with simplified log based progress
50* **light-async** = *lean-cli* + *fast* + *gitoxide-core-tools* + *client-async-networking*
51 * Due to async client-networking not being implemented for most transports, this one supports only the 'git' transport. It uses, however, a fully asynchronous45 * Due to async client-networking not being implemented for most transports, this one supports only the 'git' transport. It uses, however, a fully asynchronous
52 networking implementation which can serve a real-world example on how to implement custom async transports.46 networking implementation which can serve a real-world example on how to implement custom async transports.
53* **small** = *lean-cli*47* **small**
54 * As small as it can possibly be, no threading, no fast sha1, log based progress only, no cleanup of temporary files on interrupt, rust based zlib implementation.48 * As small as it can possibly be, no threading, no fast sha1, log based progress only, no cleanup of temporary files on interrupt, rust based zlib implementation.
55 * no networking, local operations only.49 * no networking, local operations only.
56 50