Merge "Add -Werror to compile warning free projects."

This commit is contained in:
Chih-hung Hsieh 2016-10-13 00:42:01 +00:00 committed by Gerrit Code Review
commit 355e96774b
2 changed files with 45 additions and 0 deletions

View file

@ -1596,6 +1596,16 @@ ifeq ($(my_strict),true)
my_cflags += -DANDROID_STRICT
endif
# Add -Werror if LOCAL_PATH is in the WARNING_DISALLOWED project list,
# or not in the WARNING_ALLOWED project list.
ifneq (,$(strip $(call find_warning_disallowed_projects,$(LOCAL_PATH))))
my_cflags_no_override += -Werror
else
ifeq (,$(strip $(call find_warning_allowed_projects,$(LOCAL_PATH))))
my_cflags_no_override += -Werror
endif
endif
# Disable clang-tidy if it is not found.
ifeq ($(PATH_TO_CLANG_TIDY),)
my_tidy_enabled := false

View file

@ -790,4 +790,39 @@ export ANDROID_BUILD_PATHS:=$(abspath $(BUILD_SYSTEM)/no_java_path):$(ANDROID_BU
export PATH:=$(abspath $(BUILD_SYSTEM)/no_java_path):$(PATH)
endif
# Projects clean of compiler warnings should be compiled with -Werror.
# If most modules in a directory such as external/ have warnings,
# the directory should be in ANDROID_WARNING_ALLOWED_PROJECTS list.
# When some of its subdirectories are cleaned up, the subdirectories
# can be added into ANDROID_WARNING_DISALLOWED_PROJECTS list, e.g.
# external/fio/.
ANDROID_WARNING_DISALLOWED_PROJECTS := \
art/% \
bionic/% \
external/fio/% \
define find_warning_disallowed_projects
$(filter $(ANDROID_WARNING_DISALLOWED_PROJECTS),$(1)/)
endef
# Projects with compiler warnings are compiled without -Werror.
ANDROID_WARNING_ALLOWED_PROJECTS := \
bootable/% \
cts/% \
dalvik/% \
development/% \
device/% \
external/% \
frameworks/% \
hardware/% \
packages/% \
system/% \
test/vts/% \
tools/adt/idea/android/ultimate/get_modification_time/jni/% \
vendor/% \
define find_warning_allowed_projects
$(filter $(ANDROID_WARNING_ALLOWED_PROJECTS),$(1)/)
endef
include $(BUILD_SYSTEM)/dumpvar.mk