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:
@@ -20,6 +20,7 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"reflect"
|
||||
"regexp"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
@@ -2094,3 +2095,25 @@ func PathsIfNonNil(paths ...Path) Paths {
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
||||
var thirdPartyDirPrefixExceptions = []*regexp.Regexp{
|
||||
regexp.MustCompile("^vendor/[^/]*google[^/]*/"),
|
||||
regexp.MustCompile("^hardware/google/"),
|
||||
regexp.MustCompile("^hardware/interfaces/"),
|
||||
regexp.MustCompile("^hardware/libhardware[^/]*/"),
|
||||
regexp.MustCompile("^hardware/ril/"),
|
||||
}
|
||||
|
||||
func IsThirdPartyPath(path string) bool {
|
||||
thirdPartyDirPrefixes := []string{"external/", "vendor/", "hardware/"}
|
||||
|
||||
if HasAnyPrefix(path, thirdPartyDirPrefixes) {
|
||||
for _, prefix := range thirdPartyDirPrefixExceptions {
|
||||
if prefix.MatchString(path) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
Reference in New Issue
Block a user