rustdoc: add option to abort process on markdown differences

This commit is contained in:
QuietMisdreavus 2017-12-20 10:20:01 -06:00
parent eff3de0927
commit e766f60c44
2 changed files with 14 additions and 2 deletions

View File

@ -495,7 +495,8 @@ pub fn run(mut krate: clean::Crate,
css_file_extension: Option<PathBuf>,
renderinfo: RenderInfo,
render_type: RenderType,
sort_modules_alphabetically: bool) -> Result<(), Error> {
sort_modules_alphabetically: bool,
deny_render_differences: bool) -> Result<(), Error> {
let src_root = match krate.src {
FileName::Real(ref p) => match p.parent() {
Some(p) => p.to_path_buf(),
@ -659,6 +660,11 @@ pub fn run(mut krate: clean::Crate,
render_difference(d, &mut intro_msg, span, text);
}
}
if deny_render_differences {
println!("Aborting with {} rendering differences", markdown_warnings.len());
::std::process::exit(1);
}
}
result

View File

@ -257,6 +257,10 @@ pub fn opts() -> Vec<RustcOptGroup> {
o.optflag("", "sort-modules-by-appearance", "sort modules by where they appear in the \
program, rather than alphabetically")
}),
unstable("deny-render-differences", |o| {
o.optflag("", "deny-render-differences", "abort doc runs when markdown rendering \
differences are found")
}),
]
}
@ -393,6 +397,7 @@ pub fn main_args(args: &[String]) -> isize {
}
let output_format = matches.opt_str("w");
let deny_render_differences = matches.opt_present("deny-render-differences");
let res = acquire_input(PathBuf::from(input), externs, &matches, move |out| {
let Output { krate, passes, renderinfo } = out;
info!("going to format");
@ -404,7 +409,8 @@ pub fn main_args(args: &[String]) -> isize {
css_file_extension,
renderinfo,
render_type,
sort_modules_alphabetically)
sort_modules_alphabetically,
deny_render_differences)
.expect("failed to generate documentation");
0
}