mirror of
https://github.com/rust-lang/rust.git
synced 2025-01-02 10:55:13 +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| {
|
stable("no-default", |o| {
|
||||||
o.optflag("", "no-defaults", "don't run the default passes")
|
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", |o| o.optflag("", "test", "run code examples as tests")),
|
||||||
stable("test-args", |o| {
|
stable("test-args", |o| {
|
||||||
o.optmulti("", "test-args", "arguments to pass to the test runner",
|
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.
|
// Check for unstable options.
|
||||||
nightly_options::check_nightly_options(&matches, &opts());
|
nightly_options::check_nightly_options(&matches, &opts());
|
||||||
|
|
||||||
|
// check for deprecated options
|
||||||
|
check_deprecated_options(&matches);
|
||||||
|
|
||||||
if matches.opt_present("h") || matches.opt_present("help") {
|
if matches.opt_present("h") || matches.opt_present("help") {
|
||||||
usage("rustdoc");
|
usage("rustdoc");
|
||||||
return 0;
|
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 passes = matches.opt_strs("passes");
|
||||||
let mut plugins = matches.opt_strs("plugins");
|
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.
|
// First, parse the crate and extract all relevant information.
|
||||||
let mut paths = SearchPaths::new();
|
let mut paths = SearchPaths::new();
|
||||||
for s in &matches.opt_strs("L") {
|
for s in &matches.opt_strs("L") {
|
||||||
@ -550,3 +568,26 @@ where R: 'static + Send, F: 'static + Send + FnOnce(Output) -> R {
|
|||||||
});
|
});
|
||||||
rx.recv().unwrap()
|
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.
|
// except according to those terms.
|
||||||
|
|
||||||
// ignore-tidy-linelength
|
// 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/index.html' '//a[@href="foo/index.html"]' 'foo'
|
||||||
// @has 'empty_mod_private/sidebar-items.js' 'foo'
|
// @has 'empty_mod_private/sidebar-items.js' 'foo'
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// 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
|
// @has issue_15347/fn.foo.html
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
// ignore-tidy-linelength
|
// 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"]
|
#![crate_name = "foo"]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user