Skip to content

Commit 12105b6

Browse files
committed
feat(rustdoc): stabilize --emit flag
1 parent eaf4e74 commit 12105b6

2 files changed

Lines changed: 32 additions & 1 deletion

File tree

src/doc/rustdoc/src/command-line-arguments.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,37 @@ When `rustdoc` receives this flag, it will print an extra "Version (version)" in
440440
the crate root's docs. You can use this flag to differentiate between different versions of your
441441
library's documentation.
442442

443+
## `--emit`: control the types of output for rustdoc to emit
444+
445+
This flag controls the types of output by rustdoc. It accepts a comma-separated
446+
list of values, and may be specified multiple times. The valid emit kinds are:
447+
448+
- `html-static-files` --- Generates shared static files whose contents are
449+
tied to a specific toolchain version. These are written with a filename
450+
that includes a hash of their contents, so they are safe to cache with
451+
the change if the toolchain version or their contents change, or with the
452+
`Cache-Control: immutable` directive.
453+
- `html-non-static-files` --- Generates files based on the crate(s) being
454+
documented. These file names need to be deterministic so there is no
455+
content-hash in their file names.
456+
- `dep-info` --- Generates a file with Makefile syntax that indicates all the
457+
source files that were loaded to document the crate. The default output
458+
filename is `CRATE_NAME.d`. This emit type can can optionally be followed by
459+
`=` to specify an explicit output path, for example,
460+
`--emit=dep-info=/path/to/foo.d`. The output can be sent to stdout by
461+
specifying `-` as the path (e.g., `--emit=dep-info=-`).
462+
463+
Using this flag looks like this:
464+
465+
```bash
466+
$ rustdoc src/lib.rs --emit=html-static-files,html-non-static-files,dep-info=/path/to/build/cache/foo.d
467+
```
468+
469+
If not specified, the default emit types would be
470+
`--emit=html-static-files,html-non-static-files`.
471+
472+
Output files are written to the current directory unless the `--out-dir` flag is used.
473+
443474
## `-`: load source code from the standard input
444475

445476
If you specify `-` as the INPUT on the command line, then `rustdoc` will read the

src/librustdoc/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -530,7 +530,7 @@ fn opts() -> Vec<RustcOptGroup> {
530530
"",
531531
),
532532
opt(
533-
Unstable,
533+
Stable,
534534
Multi,
535535
"",
536536
"emit",

0 commit comments

Comments
 (0)