mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-30 09:24:35 +00:00
Rollup merge of #44138 - steveklabnik:rustdoc-deprecations, r=QuietMisdreavus
Deprecate several flags in rustdoc Part of #44136 cc @rust-lang/dev-tools @rust-lang/docs This is a very basic PR to start deprecating some flags; `rustdoc` doesn't really have fancy output options like `rustc` does, so I went with `eprintln!`. Happy to change it if people feel that's not appropriate. Also, I have no idea if we can or should write tests here, so I didn't try. If someone feels strongly about it, then let's do it, but given that the only outcome here is a side effect...
This commit is contained in:
commit
ebdfe338e5
@ -170,6 +170,9 @@ pub fn opts() -> Vec<RustcOptGroup> {
|
||||
stable("no-default", |o| {
|
||||
o.optflag("", "no-defaults", "don't run the default passes")
|
||||
}),
|
||||
stable("document-private-items", |o| {
|
||||
o.optflag("", "document-private-items", "document private items")
|
||||
}),
|
||||
stable("test", |o| o.optflag("", "test", "run code examples as tests")),
|
||||
stable("test-args", |o| {
|
||||
o.optmulti("", "test-args", "arguments to pass to the test runner",
|
||||
@ -275,6 +278,9 @@ pub fn main_args(args: &[String]) -> isize {
|
||||
// Check for unstable options.
|
||||
nightly_options::check_nightly_options(&matches, &opts());
|
||||
|
||||
// check for deprecated options
|
||||
check_deprecated_options(&matches);
|
||||
|
||||
if matches.opt_present("h") || matches.opt_present("help") {
|
||||
usage("rustdoc");
|
||||
return 0;
|
||||
@ -458,6 +464,18 @@ where R: 'static + Send, F: 'static + Send + FnOnce(Output) -> R {
|
||||
let mut passes = matches.opt_strs("passes");
|
||||
let mut plugins = matches.opt_strs("plugins");
|
||||
|
||||
// We hardcode in the passes here, as this is a new flag and we
|
||||
// are generally deprecating passes.
|
||||
if matches.opt_present("document-private-items") {
|
||||
default_passes = false;
|
||||
|
||||
passes = vec![
|
||||
String::from("strip-hidden"),
|
||||
String::from("collapse-docs"),
|
||||
String::from("unindent-comments"),
|
||||
];
|
||||
}
|
||||
|
||||
// First, parse the crate and extract all relevant information.
|
||||
let mut paths = SearchPaths::new();
|
||||
for s in &matches.opt_strs("L") {
|
||||
@ -550,3 +568,26 @@ where R: 'static + Send, F: 'static + Send + FnOnce(Output) -> R {
|
||||
});
|
||||
rx.recv().unwrap()
|
||||
}
|
||||
|
||||
/// Prints deprecation warnings for deprecated options
|
||||
fn check_deprecated_options(matches: &getopts::Matches) {
|
||||
let deprecated_flags = [
|
||||
"input-format",
|
||||
"output-format",
|
||||
"plugin-path",
|
||||
"plugins",
|
||||
"no-defaults",
|
||||
"passes",
|
||||
];
|
||||
|
||||
for flag in deprecated_flags.into_iter() {
|
||||
if matches.opt_present(flag) {
|
||||
eprintln!("WARNING: the '{}' flag is considered deprecated", flag);
|
||||
eprintln!("WARNING: please see https://github.com/rust-lang/rust/issues/44136");
|
||||
}
|
||||
}
|
||||
|
||||
if matches.opt_present("no-defaults") {
|
||||
eprintln!("WARNING: (you may want to use --document-private-items)");
|
||||
}
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// ignore-tidy-linelength
|
||||
// compile-flags: --no-defaults --passes collapse-docs --passes unindent-comments --passes strip-priv-imports
|
||||
// compile-flags: --document-private-items
|
||||
|
||||
// @has 'empty_mod_private/index.html' '//a[@href="foo/index.html"]' 'foo'
|
||||
// @has 'empty_mod_private/sidebar-items.js' 'foo'
|
||||
|
@ -8,7 +8,7 @@
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags:--no-defaults --passes collapse-docs --passes unindent-comments
|
||||
// compile-flags: --no-defaults --passes collapse-docs --passes unindent-comments
|
||||
|
||||
// @has issue_15347/fn.foo.html
|
||||
#[doc(hidden)]
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
// ignore-tidy-linelength
|
||||
// compile-flags: --no-defaults --passes collapse-docs --passes unindent-comments --passes strip-priv-imports
|
||||
// compile-flags: --document-private-items
|
||||
|
||||
#![crate_name = "foo"]
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user