Skip to content

Commit 6bfa997

Browse files
committed
release: 0.6.0
2 parents 975bfb7 + f471fda commit 6bfa997

33 files changed

+4035
-2664
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@
44
**/target/
55
/Cargo.lock
66
/doc/
7+
/ref-bin*
78
/release/man1/*.gz

CREDITS.md

Lines changed: 71 additions & 70 deletions
Large diffs are not rendered by default.

Cargo.toml

Lines changed: 87 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,92 @@
1-
[workspace]
2-
resolver = "2"
3-
members = [
4-
"bashman",
5-
"bashman_core",
1+
[package]
2+
name = "cargo-bashman"
3+
version = "0.6.0"
4+
license = "WTFPL"
5+
authors = ["Josh Stoik <[email protected]>"]
6+
edition = "2021"
7+
description = "A Cargo plugin to generate bash completions, man pages, and/or crate credits."
8+
repository = "https://github.com/Blobfolio/bashman"
9+
publish = false
10+
11+
[package.metadata.deb]
12+
maintainer = "Josh Stoik <[email protected]>"
13+
copyright = "2024, Blobfolio, LLC <[email protected]>"
14+
license-file = ["./LICENSE", "0"]
15+
revision = "1"
16+
depends = "$auto"
17+
extended-description = ""
18+
section = "rust"
19+
assets = [
20+
["./target/release/cargo-bashman", "usr/bin/", "755"],
21+
["./release/completions/cargo-bashman.bash", "etc/bash_completion.d/", "644"],
22+
["./release/man/cargo-bashman.1.gz", "usr/share/man/man1/", "644"],
623
]
724

25+
[package.metadata.bashman]
26+
name = "Cargo BashMan"
27+
bash-dir = "./release/completions"
28+
man-dir = "./release/man"
29+
credits-dir = "./"
30+
31+
[[package.metadata.bashman.switches]]
32+
short = "-h"
33+
long = "--help"
34+
description = "Print help information."
35+
36+
[[package.metadata.bashman.switches]]
37+
long = "--no-bash"
38+
description = "Do not generate BASH completions."
39+
40+
[[package.metadata.bashman.switches]]
41+
long = "--no-credits"
42+
description = "Do not generate CREDITS.md."
43+
44+
[[package.metadata.bashman.switches]]
45+
long = "--no-man"
46+
description = "Do not generate MAN page(s)."
47+
48+
[[package.metadata.bashman.switches]]
49+
short = "-V"
50+
long = "--version"
51+
description = "Print application version."
52+
53+
[[package.metadata.bashman.options]]
54+
short = "-m"
55+
long = "--manifest-path"
56+
description = "Path to the Cargo.toml file to use."
57+
label = "<Cargo.toml>"
58+
path = true
59+
60+
[build-dependencies]
61+
argyle = "0.10.*"
62+
63+
[dependencies]
64+
argyle = "0.10.*"
65+
adbyss_psl = "0.14.*"
66+
cargo_metadata = "=0.18.1"
67+
dactyl = "0.7.4"
68+
fyi_msg = "1.1.*"
69+
oxford_join = "0.4.*"
70+
trimothy = "0.3.*"
71+
utc2k = "0.11.*"
72+
write_atomic = "0.5.*"
73+
74+
[dependencies.libdeflater]
75+
version = "=1.22.0"
76+
features = [ "freestanding" ]
77+
78+
[dependencies.semver]
79+
version = "=1.0.*"
80+
features = [ "serde" ]
81+
82+
[dependencies.serde]
83+
version = "1.0.*"
84+
features = [ "derive" ]
85+
86+
[dependencies.toml]
87+
version = "0.8.*"
88+
features = [ "preserve_order" ]
89+
890
[profile.release]
991
lto = true
1092
codegen-units = 1

README.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,12 @@
77

88
`BashMan` is a Cargo plugin that helps you generate BASH completions, MAN pages, and/or a `CREDITS.md` page for your Rust apps using metadata from your projects' `Cargo.toml` manifests. It pairs well with the (unaffiliated) [cargo-deb](https://github.com/mmstick/cargo-deb).
99

10-
(This can technically be used for non-Rust apps. It just parses the data out of a [TOML](https://en.wikipedia.org/wiki/TOML) file. Any TOML'll do.)
11-
1210
BASH completions are sub-command aware — one level deep — and avoid making duplicate suggestions. For example, if the line already has `-h`, it will not suggest `-h` or its long variant `--help`.
1311

1412
MAN pages are automatically populated with the primary sections — `NAME`, `DESCRIPTION`, `USAGE`, `SUBCOMMANDS`, `FLAGS`, `OPTIONS`, `ARGUMENTS` — and the top level page can be extended with additional arbitrary sections as needed. If subcommands are defined, additional pages for each are generated, showing their particular usage, flags, etc.
1513

1614
MAN pages are saved in both plain ("app.1") and GZipped ("app.1.gz") states. Linux `man` can read either format, so just pick whichever you prefer for distribution purposes. (Though Gzip is smaller…)
1715

18-
**This software is a work-in-progress.**
19-
20-
Feel free to use it, but if something weird happens — or if you have ideas for improvement — please open an [issue](https://github.com/Blobfolio/bashman/issues)!
21-
2216

2317

2418
## Installation
@@ -58,6 +52,8 @@ cargo bashman [-h/--help]
5852

5953
The flags `--no-bash`, `--no-man`, and `--no-credits` can be used to skip the generation of BASH completions, MAN pages, and/or `CREDITS.md` respectively.
6054

55+
Note that for the `CREDITS.md` feature, [Cargo](https://github.com/rust-lang/cargo) is required. (It pulls the dependency tree from the `cargo metadata` output.)
56+
6157

6258
## CONFIGURATION
6359

bashman/Cargo.toml

Lines changed: 0 additions & 75 deletions
This file was deleted.

bashman/LICENSE

Lines changed: 0 additions & 1 deletion
This file was deleted.

bashman/src/main.rs

Lines changed: 0 additions & 161 deletions
This file was deleted.

bashman_core/Cargo.toml

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)