Use DEFAULT_TIDY_HEADER_DIRS env variable.

This variable is a regular expression to be passed as
additional patterns to the -header-filter flag for clang-tidy.
For example, when make with WITH_TIDY=1 DEFAULT_TIDY_HEADER_DIRS="d1/d2|mydir/*"
for a project in external/xyz, clang-tidy will be called with additional flag
  -header-filter=\"(external/xyz|d1/d2|mydir/*)\"

Test: make with WITH_TIDY=1 DEFAULT_TIDY_HEADER_DIRS="d1/d2|mydir/*"
Bug: 32668284
Change-Id: I6051f4f80bc6dbab882bd81435ccbc772772ac63
This commit is contained in:
Chih-Hung Hsieh
2018-09-21 09:38:17 -07:00
parent 21e2a790ca
commit 60bd4bf079

View File

@@ -61,7 +61,11 @@ func init() {
// Give warnings to header files only in selected directories.
// Do not give warnings to external or vendor header files, which contain too
// many warnings.
pctx.StaticVariable("TidyDefaultHeaderDirs", strings.Join([]string{
pctx.VariableFunc("TidyDefaultHeaderDirs", func(ctx android.PackageVarContext) string {
if override := ctx.Config().Getenv("DEFAULT_TIDY_HEADER_DIRS"); override != "" {
return override
}
return strings.Join([]string{
"art/",
"bionic/",
"bootable/",
@@ -74,7 +78,8 @@ func init() {
"libcore/",
"libnativehelper/",
"system/",
}, "|"))
}, "|")
})
}
type PathBasedTidyCheck struct {