Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New man pages. #6405

Merged
merged 1 commit into from
Dec 17, 2018
Merged

New man pages. #6405

merged 1 commit into from
Dec 17, 2018

Conversation

ehuss
Copy link
Contributor

@ehuss ehuss commented Dec 9, 2018

This is a rewrite and update of the man pages. This also adds them to the website documentation. They are now in Asciidoc format to make it easy to output multiple formats and have decent formatting. There is a Makefile with instructions on how to rebuild the man pages.

Closes #5729.

@ehuss
Copy link
Contributor Author

ehuss commented Dec 9, 2018

This may be difficult to review since there is a lot of content. I recommend checking out this PR and reading it locally. Either run mdbook serve in src/doc or read the man pages with man src/etc/man/cargo.1.

The eventual goal is to be able to read these (somehow) with the verbose flag cargo help -v build.

@alexcrichton
Copy link
Member

This seems like a resonable addition to me! I don't have too too many strong opinions about how these should be generated or in what format. Do others on @rust-lang/cargo have thoughts?

@joshtriplett
Copy link
Member

I'd like to avoid adding more tools to the toolchain just for manpages and similar. The man format (roff) isn't that hard to write directly when kept simple. And for generation, I'd love to autogenerate it from the command line argument parsing. clap, for instance, is working on manpage generation soon.

@ehuss
Copy link
Contributor Author

ehuss commented Dec 11, 2018

I can sympathize with wanting to avoid additional tools for this. I decided to go this route for the following reasons:

  • I wanted to have thorough documentation for each command, with the necessary formatting to present it well. This includes basic things like lists and tables. I also wanted both the HTML and man output to look as good as it can, while keeping close to classic man page styling.
  • There's no clear timeline for clap being able to do this. My impression is that it may be a long time.
  • Given that it is not using clap, I wanted something with basic templating abilities to reduce duplication.

It would be my preference to have it as part of the code, and I'd be happy to transition it once that's possible.

@dwijnand
Copy link
Member

I'd be happy to transition it once that's possible.

I'm all for incremental improvements, and this seems like an improvement on the status quo.

@nrc
Copy link
Member

nrc commented Dec 14, 2018

This seems fine to me (although it is not optimal, as Josh notes)

The eventual goal is to be able to read these (somehow) with the verbose flag cargo help -v build.

This eventual goal sounds great.

@alexcrichton
Copy link
Member

Ok I'm gonna r+ this because it seems like it's good to make incremental improvements, and we can continue to iterate in-tree!

@bors: r+

@bors
Copy link
Collaborator

bors commented Dec 17, 2018

📌 Commit d931a95 has been approved by alexcrichton

@dwijnand
Copy link
Member

In case anyone is interested in reading/subscribing, this seems to be the clap issue for generating man pages: clap-rs/clap#552

@bors
Copy link
Collaborator

bors commented Dec 17, 2018

⌛ Testing commit d931a95 with merge bd5b21e...

bors added a commit that referenced this pull request Dec 17, 2018
New man pages.

This is a rewrite and update of the man pages. This also adds them to the website documentation. They are now in Asciidoc format to make it easy to output multiple formats and have decent formatting. There is a Makefile with instructions on how to rebuild the man pages.

Closes #5729.
@bors
Copy link
Collaborator

bors commented Dec 17, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing bd5b21e to master...

@bors bors merged commit d931a95 into rust-lang:master Dec 17, 2018
bors added a commit to rust-lang/rust that referenced this pull request Dec 29, 2018
Update cargo, rls, miri

Update cargo, rls, miri

Added `rustc-workspace-hack` to miri so that it shares the same features for serde as other tools.

cc @alexcrichton

## cargo

25 commits in 2cf1f5dda2f7ed84e94c4d32f643e0f1f15352f0..0d1f1bbeabd5b43a7f3ecfa16540af8e76d5efb4
2018-12-11 03:44:04 +0000 to 2018-12-19 14:45:14 +0000
- Remove Stale bot's configuration (rust-lang/cargo#6463)
- Add labels to issue templates (rust-lang/cargo#6464)
- Fix new man page links. (rust-lang/cargo#6459)
- Fix metabuild compile errors with --message-format=json. (rust-lang/cargo#6432)
- Support alt-registry names in [patch] table. (rust-lang/cargo#6456)
- Update the rustup URL (rust-lang/cargo#6455)
- New man pages. (rust-lang/cargo#6405)
- Reify the DepFingerprint type (rust-lang/cargo#6451)
- Extract Fingerprint::new (rust-lang/cargo#6449)
- Upgrade the metabuild to Rust 2018 (rust-lang/cargo#6448)
- Make edition comparing code consistent (rust-lang/cargo#6450)
- Document `name` and `authors` in [package] (rust-lang/cargo#6447)
- Travis: only use mdbook 0.1.7. (rust-lang/cargo#6443)
- Update git2-curl requirement from 0.8.1 to 0.9.0 (rust-lang/cargo#6439)
- Update git2 requirement from 0.7.5 to 0.8.0 (rust-lang/cargo#6438)
- Display errors when `cargo fix` fails. (rust-lang/cargo#6419)
- cargo fix: fix targets with shared sources. (rust-lang/cargo#6434)
- Fix panic-in-panic in tests. (rust-lang/cargo#6431)
- More Rust 2018 edition cleanups (rust-lang/cargo#6422)
- Cleanup some trait impls for SourceId (rust-lang/cargo#6429)
- Remove a nightly check from doc tests (rust-lang/cargo#6427)
- Replace CargoError with failure::Error (rust-lang/cargo#6425)
- Allow testsuite warnings in dev (rust-lang/cargo#6426)
- add `--dry-run` option to cargo update (rust-lang/cargo#6371)
- Migrate to some Rust 2018 idioms (rust-lang/cargo#6416)

## rls

16 commits in bd5b899afb05e14d33e210ede3da241ca1ca088f..6f5e4bba7b1586fca6e0ea7724cadb5683b2f308
2018-12-10 08:53:00 +0100 to 2018-12-21 17:11:08 +0100
- Update jsonrpc-core (rust-lang/rls#1206)
- Use `home_dir` from `home` crate (rust-lang/rls#1207)
- Update cargo. (rust-lang/rls#1204)
- Fix deprecated `trim_{left,right}` warnings (rust-lang/rls#1203)
- Respect ${CARGO,RUSTUP}_HOME for tooltip relative dirs (rust-lang/rls#1201)
- Separate tooltip tests that require Racer fallback (rust-lang/rls#1200)
- tests: Don't generate tooltip results in tests/fixtures (rust-lang/rls#1199)
- Overhaul fixture handling in tests (rust-lang/rls#1190)
- Don't return symbols with empty names (rust-lang/rls#1193)
- Don't check AppVeyor CI status for bors
- Properly infer full_docs (rust-lang/rls#1192)
- Update cargo (rust-lang/rls#1191)
- Improve hover test_tooltip tests (rust-lang/rls#1175)
- Fix unused warnings (rust-lang/rls#1185)
- Workaround rust-lang/rls#703 to prevent obscure failures due to sccache. (rust-lang/rls#1177)
- Disable travis cache (rust-lang/rls#1182)

## miri

14 commits in bccadeb..6c2fc6d
2018-12-08 11:07:22 +0100 to 2018-12-26 14:28:25 +0100
- use memory::check_bounds_ptr for offset check (rust-lang/miri#589)
- Fix comparing function pointers (rust-lang/miri#587)
- fix for infallible allocation (rust-lang/miri#586)
- fix test for latest nightly (rust-lang/miri#585)
- Treat ref-to-raw cast like a reborrow: do a special kind of retag (rust-lang/miri#572)
- Test cargo-miri on Windows (rust-lang/miri#578)
- Cargo miri tweaks and test that we can exclude tests (rust-lang/miri#580)
- Fix cargo miri test (rust-lang/miri#550)
- fix for latest nightly (rust-lang/miri#574)
- Add rustc-workspace-hack. (rust-lang/miri#575)
- use RUSTC_WRAPPER for the cargo hook (rust-lang/miri#573)
- do not auto-detect the targets in the sysroot, instead specify target manually through env var (rust-lang/miri#570)
- Cleanup: Avoid repeating signatures, get rid of to_bytes hack (rust-lang/miri#568)
- Support building and running with full MIR on foreign architectures, drop support for missing MIR (rust-lang/miri#566)
@ehuss ehuss added this to the 1.33.0 milestone Feb 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

man pages are out of date
6 participants