Conditionally apply rustdoc flags to third party crates

This CL changes the logic in rust/builder.go so that some rustdoc flags
are only applied to external crates.  This will allow us to since
warnings and deal with soft-failures in external crates while allowing
us to be more strict with our internal Rust code.

Bug: 195136952
Test: m rustdoc
Change-Id: Icdde304bbbb323cae9657e8f842f58ae79e811ce
This commit is contained in:
Chris Wailes
2021-07-30 13:25:42 -07:00
parent 067b889762
commit b2703adce4
4 changed files with 33 additions and 27 deletions

View File

@@ -332,8 +332,11 @@ func Rustdoc(ctx ModuleContext, main android.Path, deps PathDeps,
rustdocFlags = append(rustdocFlags, makeLibFlags(deps)...)
docTimestampFile := android.PathForModuleOut(ctx, "rustdoc.timestamp")
// Silence warnings about renamed lints
rustdocFlags = append(rustdocFlags, " -A renamed_and_removed_lints")
// Silence warnings about renamed lints for third-party crates
modulePath := android.PathForModuleSrc(ctx).String()
if android.IsThirdPartyPath(modulePath) {
rustdocFlags = append(rustdocFlags, " -A renamed_and_removed_lints")
}
// Yes, the same out directory is used simultaneously by all rustdoc builds.
// This is what cargo does. The docs for individual crates get generated to