Define DEFAULT_TIDY_HEADER_DIRS.
Let clang-tidy report warnings in header files in the
system and current directories but not the external
and vendor directories.
Test: build with WITH_TIDY=1
Change-Id: I1723b8eb95948961fb7164a19989e0a926e5bf8a
diff --git a/core/binary.mk b/core/binary.mk
index fb31890..ad0bbcc 100644
--- a/core/binary.mk
+++ b/core/binary.mk
@@ -1649,7 +1649,7 @@
endif
# If tidy flags are not specified, default to check all header files.
ifeq ($(my_tidy_flags),)
- my_tidy_flags := -header-filter=.*
+ my_tidy_flags := $(call default_tidy_header_filter,$(LOCAL_PATH))
endif
endif
endif
diff --git a/core/clang/tidy.mk b/core/clang/tidy.mk
index 3df0299..7ec9378 100644
--- a/core/clang/tidy.mk
+++ b/core/clang/tidy.mk
@@ -73,3 +73,25 @@
) \
)
endef
+
+# Give warnings to header files only in selected directories.
+# Do not give warnings to external or vendor header files,
+# which contain too many warnings.
+DEFAULT_TIDY_HEADER_DIRS := \
+ art/ \
+ |bionic/ \
+ |bootable/ \
+ |build/ \
+ |cts/ \
+ |dalvik/ \
+ |developers/ \
+ |development/ \
+ |frameworks/ \
+ |libcore/ \
+ |libnativehelper/ \
+ |system/
+
+# Default filter contains current directory $1 and DEFAULT_TIDY_HEADER_DIRS.
+define default_tidy_header_filter
+ -header-filter="($(subst $(space),,$1|$(DEFAULT_TIDY_HEADER_DIRS)))"
+endef