Allow overriding tidy configs using environment variables

am: 318af8be27

Change-Id: Id73b8894bc6b33943ac131fe48a2620edee622f4
This commit is contained in:
Dan Willemsen 2016-11-03 00:44:00 +00:00 committed by android-build-merger
commit 568be82106
1 changed files with 30 additions and 18 deletions

View File

@ -16,6 +16,8 @@ package config
import (
"strings"
"android/soong/android"
)
func init() {
@ -23,27 +25,37 @@ func init() {
// Global tidy checks include only google*, performance*,
// and misc-macro-parentheses, but not google-readability*
// or google-runtime-references.
pctx.StaticVariable("TidyDefaultGlobalChecks", strings.Join([]string{
"-*",
"google*",
"misc-macro-parentheses",
"performance*",
"-google-readability*",
"-google-runtime-references",
}, ","))
pctx.VariableFunc("TidyDefaultGlobalChecks", func(config interface{}) (string, error) {
if override := config.(android.Config).Getenv("DEFAULT_GLOBAL_TIDY_CHECKS"); override != "" {
return override, nil
}
return strings.Join([]string{
"-*",
"google*",
"misc-macro-parentheses",
"performance*",
"-google-readability*",
"-google-runtime-references",
}, ","), nil
})
// There are too many clang-tidy warnings in external and vendor projects.
// Enable only some google checks for these projects.
pctx.StaticVariable("TidyExternalVendorChecks", strings.Join([]string{
"-*",
"google*",
"-google-build-using-namespace",
"-google-default-arguments",
"-google-explicit-constructor",
"-google-readability*",
"-google-runtime-int",
"-google-runtime-references",
}, ","))
pctx.VariableFunc("TidyExternalVendorChecks", func(config interface{}) (string, error) {
if override := config.(android.Config).Getenv("DEFAULT_EXTERNAL_VENDOR_TIDY_CHECKS"); override != "" {
return override, nil
}
return strings.Join([]string{
"-*",
"google*",
"-google-build-using-namespace",
"-google-default-arguments",
"-google-explicit-constructor",
"-google-readability*",
"-google-runtime-int",
"-google-runtime-references",
}, ","), nil
})
// Give warnings to header files only in selected directories.
// Do not give warnings to external or vendor header files, which contain too